Added cddlib-094h from http://www.inf.ethz.ch/personal/fukudak/cdd_home/

Change-Id: I64519509269e434b1b9ea87c3fe0805e711c0ac9
diff --git a/third_party/cddlib/AUTHORS b/third_party/cddlib/AUTHORS
new file mode 100644
index 0000000..d53a3b7
--- /dev/null
+++ b/third_party/cddlib/AUTHORS
@@ -0,0 +1,21 @@
+Current Address:
+Komei Fukuda <fukuda@math.ethz.ch>
+Department of Mathematics, and
+Institute of Theoretical Computer Science
+ETH Zurich (CAB G 33.3)
+Universitaetsstrasse 6
+CH-8092 Zurich, Switzerland
+Tel +41-44-632-4023, Fax +41-44-632-1063
+http://www.ifor.math.ethz.ch/~fukuda/
+
+Previous Addrss: 
+Komei Fukuda
+School of Computer Science
+McGill University
+McConnel Engineering Building
+3480 University Street
+Montreal, Quebec
+Canada H3A 2A7
+email: fukuda@cs.mcgill.ca
+fax: +1-514-398-3883
+
diff --git a/third_party/cddlib/COPYING b/third_party/cddlib/COPYING
new file mode 100644
index 0000000..a43ea21
--- /dev/null
+++ b/third_party/cddlib/COPYING
@@ -0,0 +1,339 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	Appendix: How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/third_party/cddlib/ChangeLog b/third_party/cddlib/ChangeLog
new file mode 100644
index 0000000..a499f05
--- /dev/null
+++ b/third_party/cddlib/ChangeLog
@@ -0,0 +1,579 @@
+libcdd, cdd & cdd+ HISTORY file   (as of April 30, 2015)
+
+*** libcdd version (date) / changes ***
+
+Version 094h (April 30, 2015) /
+ - Thanks to Mathieu Dutour, one minor bug has been fixed.
+
+Version 094g (March 23, 2012) /
+ - Thanks to both Anders Jensen and Mathieu Dutour
+   a few memory leaks in cddlib.c and cddlp.c have been
+   fixed.  Also, some patches sent by Jerry James have
+   been applied.  These were for making the library
+   shared and more compatible for C++ compilers.
+
+Version 094f (February 7, 2008) /
+ - Thanks to Sven Verdoolaege's fixes,
+   the "configure" script now uses "gcc" as the default
+   compiler, rather than "g++" in earlier releases,
+   and the libraries can be linked properly with
+   both C and C++ programs.
+
+Version 094e (January 27, 2008) /
+ - A bug of reporting a wrong (sign) certificate of
+   an infeasible LP is fixed.  This bug reported by
+   Charles Geyer, occurs if the exact GMP version of 
+   the dd_LPSolve is used with minimization. A bug of
+   reporting infeasibility of a feasible LP with 
+   column non-full rank LP is fixed.  This bug was reported
+   by Sven Verdoolaege.
+
+Version 094d (February 12, 2007) /
+ - A bug of reporting a wrong unbounded direction vector of
+   a dual inconsistent LP is fixed.  This bug occurs only
+   if the exact GMP version of the dd_LPSolve is used.
+   For example, this error may occur in scdd_gmp.  This
+   error was reported by Lars Schewe.
+
+Version 094c (April 23, 2006) /
+ - A bug for reading a rational number of length longer
+   than 255 characters have been fixed. This was reported
+   by Ruriko Yoshida. Now the longest
+   number is controlled by dd_wordlenmax defined in
+   cddtypes.h .  The longest line is also controlled by
+   dd_linelenmax .  These are currently fixed to
+   1024 and 4096.  Larger numbers and lines can be
+   handled by modifying these numbers and recompilation.
+
+Version 094b (August 25, 2005) /
+ - A bug for the representation conversion, reported by
+   Michal Kvasnica, was fixed.  The earlier 094* versions
+   prematurely terminate the conversion when the number
+   of rows is equal to the number of columns in the input.
+   This means the earlier 094* do not compute correctly 
+   for simplices, for example.
+
+Version 094a (August 24, 2005) /
+ - A bug of dd_LPSolve is fixed.  This bug, reported by
+   Dima Pasechnik, due to a mishandling of cycling of LP
+   algorithms, is fixed.
+
+Version 094 (August 4, 2005) /
+ - dd_MatrixCanonicalize has been added.  This reduces
+   matrix M to a minimal representation by computing
+   all implicit linearity rows and all redundant rows.
+   It applies lexicographic sorting of rows to remove
+   duplicates before applying redundancy removal.
+   This function combines the two computations together
+   in more efficient manner than before.
+   See the new redcheck.c for its use.  Several basic
+   operations for matrices have been added, such as
+   dd_MatrixRowsRemove and dd_MatrixRowsRemove2.
+
+   The representation conversion dd_DDMatrix2Poly now
+   handles the empty H-polyhedra properly, by calling
+   an LP-based emptiness checker before running the double 
+   description algorithm.
+
+   New functions finding specific points in H-polyhedra
+   are added.  dd_ExistsRestrictedFace is a general inequality
+   system solver with specified equations, inequalities and
+   strict inequalities.   dd_FindRelativeInterior finds 
+   a point in the relative interior of a polyhedron.
+
+
+Version 093d (February 27, 2005) /
+ - The problem of outputting the running log has been corrected.
+   This problem and a solution was communicated by Charles Geyer.
+   Now, a new global dd_boolean variable dd_log (= dd_FALSE by default)
+   controls log output.  An scdd/lcdd bug of terminating with segmentation 
+   fault when an input polyhedron is numerically delicate has been
+   corrected.  This bug was reported by Stefan Volkwein.
+
+Version 093c (December 26, 2003) /
+ - A bug of Phase I of the dual simplex method in floating-point
+   arithmetics is fixed.  The problem (bus error) occurred when input data
+   is not appropriate for floating-point arithmetics.  The problem
+   occurrs even for the GMP executables as the exact LP solver first
+   tries to detect the terminal basis with float-point arithmetics.
+
+Version 093b (November 10, 2003) /
+ - The nonterminating problem of the LP solver has been fixed.
+   This was due to a cycling of the criss-cross method in
+   floating-point arithmetics, that is extremely rare.
+   Also, the phase I of the dual simplex method has been
+   modified.  The auxiliary LP is perhaps less likely to
+   be degenerate.
+
+Version 093a (Augst 11, 2003) /
+ - The LP basis finding procedure dd_FindLPBasis2 has been
+   updated.  The functions dd_Matrix2WeakAdjacency, dd_SRedundant and
+   dd_SRedundantRows are added.  The manual has been updated.
+
+Version 093 (July 18, 2003) /
+ - dd_LPSolve with GMP now runs fisrt with floating point arithmetics 
+   and checks with GMP the correctness of the result. New functions dd_Matrix2Adjacency, 
+   dd_FourierElimination, dd_BlockElimination, dd_DDMatrix2Poly2 are added.
+   Some minor memory leak problems are fixed. (Thanks to the excellent
+   memory debugger valgrind on linux.)   
+
+Version 092b (October 19, 2002) /
+ - An illegal memory access for EqualityIndex reported by 
+   Thao Dang is fixed.  Another bug of lcdd_gmp which takes 
+   "real" data and return a false result is fixed.  It now warns 
+   that input is not correct for the exact arithmetic lcdd_gmp. 
+   This error was reported by Andras Salamon.
+
+Version 092a (December 19, 2001) /
+ - Joerg Rambau kindly created an autoconf distribution of
+   cddlib-092.  This version 092a is made from Rambau's
+   version with a slight modification.  For the momoment,
+   the Mathematica cdd interface, cddmathlink (in src-mathlink),
+   still needs to be handled in the conventional manner by 
+   editing Makefile.
+
+Version 092 (December 12, 2001) /
+ - the default value of dd_almostzero is now set to 1.0E-7 
+   instead of 1.0E-6.  New functions are added for checking
+   redundancy of H- and V- representations such as
+   dd_Redundant, dd_RedundantRows, dd_ImplicitLinearity,
+   dd_ImplicitLinearityRows, and dd_RayShooting.  
+   Also some basic operations on dd_MatrixPtr have been added such as
+   dd_MatrixAppendTo, dd_MatrixRowRemove, dd_MatrixSubmatrix.
+
+   The names of enumeration type variables have been modified.
+   Now all names have prefix "dd_", e.g. Rational, Integer are
+   now dd_Rational and dd_Integer.  This applies to TRUE and FALSE,
+   which are now dd_TRUE and dd_FALSE.
+
+Version 091d (March 9, 2001) /
+ - Memory leak in dd_FreeLPData and dd_FreeLPSolution are
+   fixed.
+
+Version 091c (February 27, 2001) /
+ - Bug to terminate before the completion of computation
+   (to produce a segmentation fault) is fixed.  This
+   bug was reported by Hugh Anderson.
+
+Version 091b (February 26, 2001) /
+ - Numerous memory leak bugs with GMP exact arithmetic, 
+   reported by Marc Pfetsch, are fixed.  Also, a minor
+   bug of cddlib to terminate with core dump, reported by
+   Hugh Anderson, is fixed.  The messages printed to
+   the standard output "stdout" are now sent to "stderr".
+   This was suggested by Ingo Schurr.   
+
+Version 091a (February 16, 2001) /
+ - Memory leak problems when GMP is used are fixed for
+   dd_InitializeAmatrix, dd_CreateMatrix and
+   dd_Larger.  These bugs, reported by Marc Pfetsch,
+   can be fatal if GMP is used and the functions are
+   called many times.  It has no effect for floating-point
+   arithmetic computation.
+
+Version 091 (Sept. 25, 2000) /
+ - Memory leak in FreeDDMemory (cddcore.c) 
+   is fixed.  This bug, which might cause a serious problem,
+   was reported by Shawn Rusaw.  Also, a bug reported by
+   Istvan Csabai on dynamic row ordering is fixed.  This
+   problem is most likely not affecting anyone, since the
+   dynamic row ordering option is not available via the
+   publicly released documentations.  David Avis contributed
+   a sample cddlib code, lcdd.c, which runs like his convex
+   hull code, lrs.  In particular, it is useful to generate
+   standard output stream for piping in unix.
+
+Version 090e (July 12, 2000) /
+ - A bug of reading very large integer values incorrectly
+   is fixed.  The previous versions were truncating very large 
+   integer values to a number representable by long integer.
+
+Version 090d (June 25, 2000) /
+ - Serious bugs of dd_CopyOutput, dd_CopyInequalities are fixed.
+   This bug is found by Istvan Csabai.  Earlier versions 090*
+   output wrong H-representations whenever the RHS constants
+   are not nonnegative, even though the computation runs
+   correctly internally.
+
+Version 090c (June 12, 2000) /
+ - set_intialize is modified so that it allocates a smallest space even when
+   a nonpositive length is requested.
+   The bug of not outputting the origin is fixed 
+   when input is homogeneous inequality system and the cone contains 
+   no extreme rays.  Note that cddlib does not output this vertex 
+   when the homogeneous cone has extreme rays, since cddlib outputs
+   a minimal representation.
+
+ - A new function dd_DDInputAppend is added.
+
+ - dd_DDMatrix2Poly replaces (and combines) the two old functions
+   dd_Matrix2Poly and dd_DoubleDescription.
+
+ - dd_LPSolutionLoad is renamed as dd_CopyLPSolution.
+
+Version 090b (June 2, 2000) /
+ - Thanks to Shawn Rusaw's great help, I could detect and fix many 
+   memory related problems (memory leak, out-of-bounds, etc).  
+   Also, when input is not regular (nonfull or containing line), 
+   cddlib did not generate adjacency/incidence properly and 
+   this version should work more correctly.
+
+Version 090a (May 30, 2000) /
+ - a small bug fix in cddarith.c.  The bug is reported by Shawn Rusaw.
+
+Version 090 (May 28, 2000) /
+ - Major revision over the previous versions.  It can be now compiled
+   with GMP rational (-DGMPRATIONAL) as well as the standard C double.
+   cdd and lp codes are merged and easily called together.  Many functions
+   and data types are modified and renamed.  It comes with a simple
+   cdd/cdd+-type standalne program scdd which does the standard
+   representation conversion (*.ine <-> *.ext) and outputs all four
+   types of auxiliary files (*.icd, *.iad, *.ecd, *ead).  Although it
+   lacks some functions such as preprojection of cdd+, scdd is potentially
+   the most powerful cdd ever since it runs in the two arithmetics and
+   it can handle any input.
+
+   Because of the better readability and the overhead of employing
+   function calls to do GMP arithmetic, the speed is little slower than 
+   cdd+-076 on both arithmetics C double and GMP rational.  
+
+Version 086 (Jan 22, 2000) /
+ - A bug fixed in dd_LexSmaller that affercted the lexicographic
+   ordering of input data.  This fix is essential for efficiency.
+   Also several memory leaks have been fixed.  Many of these bugs
+   were found by Mr. Masanori Sato of Tokyo Institute of Technology.
+   Never released.
+
+Version 085 (October 4, 1999) /
+ - It can read rational data.  Several minor bugs have been fixed.
+   The new makefile creates cdd and dplex library archives
+   libcdd.a and libdplex.a for unix systems.
+
+Version 080 (March 24, 1999) /
+ - The first C-library version of cdd.  It is stilll very primitive
+   and has no documentation.  See README.libcdd.   Unlike the existing
+   versions of cdd/cdd+, cddlib can deal with essentially any input,
+   namely, non-full-dimensional convex hull problems and 
+   vertex-free extreme point (i.e. generator) listing problems.  Also
+   it comes with MathLink program cddmathlink that can be called from
+   Mathematica to perform cdd operations.
+
+
+*** cdd version (date) / changes ***
+
+Version 0.61a (December, 1997) /
+   Few minor corrections over 0.61.
+
+Version 0.61 (December 1, 1997) /
+   It accepts "H-representation" and "V-representation" statements
+   which are added to a Polyhedra format (1997).
+   dp_FindInteriorPoint is added to dplex.  Some small bugs are
+   fixed in dplex.
+
+Version 0.60 (August 27, 1996) /
+   The following changes are equivalent to ones that had been made
+   for cdd+-074.
+   The default output file names have been changed to be consistent
+   with the transformation.  To avoid confusion, *.ine file should
+   be used only for a system of linear inequalities, and *.ext file
+   only for a set of extreme points and rays.  Accordingly,
+   the files *.ead (previously *.adj) and *.ecd (previously *.icd)
+   are reserved for the adjacency and incidence files for the extremal
+   vertices/rays.   
+   Similarly, *.iad (previously *.iad) and *.icd (previously none)
+   are reserved for the adjacency and incidence files for the inequality
+   data.
+
+   The LP code is now independent of cdd, and rewritten as a C library.
+   This library is called dplex, and contains two algorithms,
+   the dual simplex and the criss-cross method.
+
+Version C0.56 (August 7, 1995) /
+   Some compilation problem associated with incompatible set_type
+   variables in setoper.c is fixed.  Various minor bugs are fixed.
+   The output format of incidence file is slightly modified. (See
+   the Reference Manual cddman.tex).
+
+Version C0.55a (December 18, 1994) /
+   The broken "preprojection" option in Version 0.55 is fixed.
+
+Version C0.55 (December 5, 1994) /
+   Set operation library setoper has been modified to use
+   the optimized set_card function by David Bremner.  It is expected
+   that cdd runs much faster for problems with large row sizes. 
+   The package organization has been changed.  Now the package
+   consists of four C-programs, cdd.c, cddio.c, cddarith.c and setoper.c.
+   New options verify_input, equality and strict_inequality are added.
+   Also new options, lineshelling and row_decomposition are added but
+   these options are still not in very reliable form and not
+   recommended to use.  Some newly found (minor) bugs are fixed.
+
+Version C0.54 (October 30, 1994) /
+   The partial_enumeration option is renamed as "equality" option.
+   A new option of "strict_inequality" is added to enumerate those 
+   vertices/rays satisfying some specified inequalities with strict 
+   inequality. Some bugs in reporting progress of iteration is fixed.
+
+Version C0.53 (July 29, 1994) /
+ - Some imcompatibility of cdd and domcheck has been fixed.  Namely, one can
+   write any comments after each inequality data as long as it is written in
+   the same line as the last number (i.e., a_{id}, for each i) of each ith
+   inequality data.  Anything written after the last number will be ignored.  
+   Also, random ordering option is added for specifying the ordering of
+   rows (inequalities). 
+
+Version C0.52b (March 28, 1994) /
+ - The slowness problem of Version C0.52(a) is fixed.
+ 
+Version C0.51d (March 28, 1994) /
+ - Because of the slowness of Version 0.52* due to unknown reasons, this version
+   has been produced for a temporary replacement.  This version fixes the bug
+   mentioned in Version C0.52 release.
+
+Version C0.52a (March 28, 1994) /
+ - A bug of Version C0.52 generating unnecessary information when
+   maximize, minimize and find_interior are chosen is fixed.
+
+Version C0.52 (March 21, 1994) /
+ - A bug of Version C0.51c generating segmentation fault when the option
+   preprojection is used is fixed. This bug was reported by Alexander Bockmayr of
+   Max-Planck Institute.
+ - Some structural changes in the programs, cdd.c and cddarith.c, have been made
+   mainly for a future planning of adding an option to decompose a problem into 
+   smaller subproblems.
+
+Version C0.51c (March 15, 1994) /
+ - A bug of Version C0.51b (mishandling of homogeneous inputs, i.e. zero RHS)
+   is fixed. This bug was reported by Alexander Bockmayr of
+   Max-Planck Institute.
+
+Version C0.51b (March 9, 1994) /
+ - A bug of Version C0.51a (mishandling of non full-dimensional
+   polyhedron) is fixed. The bug was reported by Alexander Bockmayr of
+   Max-Planck Institute.
+ 
+Version C0.51a (Feb. 16, 1994) /
+ - A bug of Version C0.51 (mishandling of empty polyhedron) is fixed.
+ 
+Version C0.51 (Feb. 12, 1994) / 
+ - Some bugs of Version C0.50 has been fixed.
+ - The option "algebraic" for selecting the algebraic adjacency computation
+   is deleted.  The reason is the combinatorial adjacency computation
+   is almost always faster.
+ - The option "minimize" is implemented to minimize a linear function over
+   the polytope.  Previously, only "maximize" was supported.
+ - The option "find_interior" has been added to compute an interior point of
+   the input polyhedron.
+
+Version C0.50 (Feb. 7, 1994) /
+ - Major upgrade to implement a new data structure to store adjacencies of rays.
+   The adjacency record lists, Edges(iteration), are used to store only necessary 
+   adjacencies for each iteration.  This version runs much faster unless
+   a dynamic ordering of rows (i.e. maxcutoff or mincutoff) is chosen.  
+   The users are strongly discouraged to use these dynamic ordering options.
+
+Version C0.38(Jan. 31, 1994) /
+ - Bmatrix struct has been modified to store only the row pointers.  Thus the program
+   does not use any 2-dim arrays, and uses mainly dynamic allocation memory as much
+   as necessary irrespective of the declared maximum size  MMAX times NMAX.
+   Thus, even in Macintosh computers large problems can be solved.
+ - CrissCrossSolve LP solver has been updated to output dual solutions as well.
+
+Version C0.37(Jan. 25, 1994) /
+ - Amatrix struct has been modified to store only the row pointers.
+
+Version C0.36(Jan. 23, 1994) /
+ - RayRecord struct has been modified to store only a pointer for a ZeroSet so that
+   the necessary space for the set is allocated each time.  This saves a space for
+   storing each RayRecord ZeroSet.  For this modification, the setoper library
+   must have been changed so that set_initialize allocates the minimum space.
+   Note that this new version (Jan. 23, 1994) does not work with the older cdd
+   programs.
+
+Version C0.35(Jan. 23, 1994) /
+ - RayRecord struct has been modified to store only a pointer for a Ray vector so that
+   the necessary space for the vector is allocated each time.  This saves a space for
+   storing each RayRecord.
+
+Version C0.34(Jan. 22, 1994) /
+ - adjacency option has been added to output the adjacency list of output.
+ 
+Version C0.33(Jan. 16, 1994) /
+ - partial_enumeration option has been added.  By this option, one can enumerate all vertices
+   and rays which are lying on a selected set of inequalities.  The input
+    -------------
+    begin
+      m   n   Type
+      b  -A1  -A2
+    end
+    partial_enumeration
+      4  1  4  6  7
+    -------------
+   restricts the enumeration for those lying on the 1st, 4th, 6th & 7th hyperplanes.
+
+Version C0.32(Jan. 11, 1994) /
+ - "preprojection" option has been added.  This option can be considered as a preprocessing
+   of orthogonal projection of the polyhedon to a subset of variables.  That is, if the inequality
+   inequality system is of form  A1 x1 + A2 x2 <= b, and the variable indices for x2, say 1, 4, 6, 7,
+   are listed in the input file as
+    -------------
+    begin
+      m   n   Type
+      b  -A1  -A2
+    end
+    preprojection
+      4  1  4  6  7
+    -------------
+   Then, cdd will output the inequality system,  A1 x1  <= b, together with the list R of extremal
+   rays of the homogeneous cone  {z:  z >=0  and   z A2 = 0 }.  Consequently, the inequality system
+   {r A1  x1  <=  r b  for  each r  in  R} represents the projection of the original polyhedron onto
+   x1-space with possible redundancy.   The supplementary  C program (written by F. Margot) 
+   will be used to obtain a minimal system from these two outputs.
+
+Version C0.31(December 20, 1993) /
+ - The main program cdd.c has been divided into two parts, cdd.c and cddarith.c, the latter
+   contains all the procedures dealing with floating point numbers and operations.
+ - LP solver CrissCrossSolve has been added.  Now the option "maximize" can be used to
+   optimize any linear function over the polyhedron.
+ - The setoper library has been updated to accomodate set_card(set) function.
+
+Version C0.27(December 8, 1993) / 
+ - It uses a new versions of setoper.h and setoper.c  (Dec 8, 1993 version) which have
+   set complemen procedure   set_compl.
+
+Version C0.26b(December 8, 1993) / 
+ - FindBasis and ComputeRank have been replaced with new programs which do not copy
+   Amatrix (for save storage and time).  Accordingly, the procedure CopyAmarix has been
+   removed.
+
+Version C0.26 (November 29, 1993) / 
+ - FindBasis has been modified to be faster when the number of inequalities is large.
+ - addition of #incidence option for outputting the cardinality of active 
+   hyperplanes instead of the set of all active hyperplanes at each vertex.
+ - InitBasisAtBottom option has been added to select the last set of rows
+   as the initial basis (determining a simplex cone/polytope). 
+   This option is {\em not\/} default. See User's manual.
+
+
+Version C0.25 (November 28, 1993)
+ - The bug for mishandling the empty polyhedra input is fixed.  
+   Accordingly, the new variable CompStatus (Completion Status) 
+   has been added.
+   
+ - The procedure AddNewHyperplane and EvaluateARay have been completely 
+   changed.  EvaluateARay computes A(hnew) * Ray for each Rays, and sort
+   the linked list of rays so that the hnew-infeasible rays will be 
+   put consecutively from FirstRay.
+
+
+Version C0.24 (November 27, 1993) /
+ - Modified to be able to deal with column size (nn) larger than 32.
+ - Bugs of LexMin, LexMax ordering options are fixed.
+
+Version C0.23a, b (November 23, 1993) /
+ - Few small bugs of C0.23 have been fixed.
+ - Up to this version, the program can deal with column size at most 32.
+
+Version C0.23 (November 22, 1993) /
+ - First release of cdd.
+
+Version C0.22 (November 21, 1993) /
+ - File open procedures have been updated.
+
+Version C0.21 (November 10, 1993) /
+ - The first version of cdd created by translating pdd.p (0.21) with 
+   Dave Gillespie's p2c translator and by modifying the c-code.  The set operation
+   libraries setoper.c, setoper.h (Nov.14, 1993) were created to make the code run
+   without any p2c libraries.
+
+*** cdd+ version (date) / changes ***
+
+cdd+ Version 0.77beta (April 20, 2003) /
+   This version is made so that it can be compiled with
+   newer gcc. such as gcc 3.1.*.
+
+cdd+ Version 0.76 (March 17, 1999) /
+   This is functionally the same as Ver. 075.  This version can
+   be compiled to run with GNU's GMP rational arithmetic library using
+   Polymake's GMP-wrappers.  cddr+ with GMP runs much faster than
+   the previous versions of cddr+ (with g++ Rational library). 
+
+cdd+ Version 0.75 (November 30, 1997) /
+   This is a maintenance update of the previous version to employ the 
+   new 1997 Polyhedra format (introducing H-representation and
+   V-representation statements).  Three options for accuracy control
+   is added: "zero_tolerance", "round_output_off" and "output_digits".
+
+cdd+ Version 0.74 (June 17, 1996) /
+   Few minor bug fixes were made.
+
+cdd+ Version 0.74beta2 (June 5, 1996) /
+   Also "vertex_listing_external" and "facet_listing_external"
+   are added.  These options do "vertex_listing" and "facet_listing"
+   against the external file which can be huge.  These options are
+   useful when one has a small candidate set of vertices (or inequalities)
+   and a large set of perhaps-redundant points (or inequalities).
+   The external file must be named as "test.ext.external" (test.ine.external)
+   if the candidate input file is test.ext (test.ine).
+
+cdd+ Version 0.74beta (June 4, 1996) /
+   The option "vertex_listing" is added.
+   The dual simplex method uses the standard Phase I instead of 
+   the criss-cross method. Consequently the LP code is faster.
+
+cdd+ Version 0.74alpha (March 30, 1996) /
+   The default output file names have been changed to be consistent
+   with the transformation.  To avoid confusion, *.ine file should
+   be used only for a system of linear inequalities, and *.ext file
+   only for a set of extreme points and rays.  Accordingly,
+   the files *.ead (previously *.adj) and *.ecd (previously *.icd)
+   are reserved for the adjacency and incidence files for the extremal
+   vertices/rays.   
+   Similarly, *.iad (previously *.iad) and *.icd (previously none)
+   are reserved for the adjacency and incidence files for the inequality
+   data.
+
+   Also, when a file with default file name exists in the current
+   directory, the default extension name will be doubled.  For instance,
+   if test.ine is input and test.ext exists, then the extreme points
+   and rays will be written in the file test.ext.ext.  The program
+   does not check "test.ext.ext" exists, and thus such a file
+   will be overwritten if exists.
+
+cdd+ Version 0.73 (Septembe 6, 1995) /
+   A new option "input_adjacency" has been added.
+   The output format of incidence file is slightly modified. (See
+   the Reference Manual cddman.tex).  This incidence file format is compatible
+   with cdd-056 and we will try not to change the format any more.
+
+cdd+ Version 0.72a (April 16, 1995) /
+   Cycling bug of Version 072 of LP maximize and minimize has been 
+   fixed.
+cdd+ Version 0.72 (April 16, 1995) /
+   The option "postanalysis" is added. This option is to be used 
+   after *.ext file is obtained.  When this option is set
+   with adjacency and/or incidence options, one can get
+   adjacency and incidence files from both *.ine and *.ext
+   files.  Thus it is not necessary to generate *.adj and *.icd
+   files together with *.ext file. 
+
+cdd+ Version 0.71 (April 15, 1995) /
+   Two new functions (through options) are added.  The option 
+   "facet_listing" checks whether each input inequality determines
+   a facet or not.  The second option "tope_listing" generates
+   all full-dimensional regions (topes) of the associated
+   arrangement of hyperplanes by reverse search algorithm. 
+   Also, the option "show_tableau" is added to illustrate
+   how the criss-cross method works in the tableau (dictornary)
+   form.  Criss-cross LP solver is now sensitive to ordering
+   options, lexmin, minindex, radom, etc.
+
+  cdd+ Version 0.70 (April 3, 1995) /
+   The first C++ version of cdd which can run on both floating-point
+   and rational (exact) arithmetics.  The basic functions are
+   identical to cdd-055.  This version requires GNU gcc compilers
+   (2.6.0 or higher) and a compatible g++lib.
+
+
+--- end of file: cddHISTORY ---
+
diff --git a/third_party/cddlib/HISTORY b/third_party/cddlib/HISTORY
new file mode 120000
index 0000000..b0936e8
--- /dev/null
+++ b/third_party/cddlib/HISTORY
@@ -0,0 +1 @@
+ChangeLog
\ No newline at end of file
diff --git a/third_party/cddlib/INSTALL b/third_party/cddlib/INSTALL
new file mode 100644
index 0000000..8b82ade
--- /dev/null
+++ b/third_party/cddlib/INSTALL
@@ -0,0 +1,291 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008 Free Software Foundation, Inc.
+
+   This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+   Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package.  The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.
+
+     Running `configure' might take a while.  While running, it prints
+     some messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+  6. Often, you can also type `make uninstall' to remove the installed
+     files again.
+
+Compilers and Options
+=====================
+
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you can use GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory.  After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+   On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor.  Like
+this:
+
+     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CPP="gcc -E" CXXCPP="g++ -E"
+
+   This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+   By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+   Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Particular systems
+==================
+
+   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+     ./configure CC="cc -Ae"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
+a workaround.  If GNU CC is not installed, it is therefore recommended
+to try
+
+     ./configure CC="cc"
+
+and if that doesn't work, try
+
+     ./configure CC="cc -nodtk"
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on.  Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+   If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+   Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug.  Until the bug is fixed you can use this workaround:
+
+     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+   `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+     Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+     Print a summary of the options unique to this package's
+     `configure', and exit.  The `short' variant lists options used
+     only in the top level, while the `recursive' variant lists options
+     also present in any nested packages.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+     Use DIR as the installation prefix.  *Note Installation Names::
+     for more details, including other options available for fine-tuning
+     the installation locations.
+
+`--no-create'
+`-n'
+     Run the configure checks, but stop before creating any output
+     files.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+
diff --git a/third_party/cddlib/Makefile.am b/third_party/cddlib/Makefile.am
new file mode 100644
index 0000000..735d967
--- /dev/null
+++ b/third_party/cddlib/Makefile.am
@@ -0,0 +1,20 @@
+##############################################
+# Site customizations:
+#---------------------------------------------
+# where is gmp?
+#---------------------------------------------
+# export gmpdir := $(PWD)/../gmp-4.1
+export gmpdir := /usr/local
+#---------------------------------------------
+# where is gmp lib?
+export gmplibdir = $(gmpdir)/lib
+#---------------------------------------------
+# where is gmp include?
+#---------------------------------------------
+# export gmpincludedir = $(gmpdir)
+export gmpincludedir = $(gmpdir)/include
+#---------------------------------------------
+# End of site customization.
+##############################################
+SUBDIRS      = lib-src src lib-src-gmp src-gmp
+EXTRA_DIST   = examples/*.* examples-ine/*.* examples-ine3d/*.* examples-ml/*.* examples-ext/*.*
diff --git a/third_party/cddlib/Makefile.in b/third_party/cddlib/Makefile.in
new file mode 100644
index 0000000..ea9c807
--- /dev/null
+++ b/third_party/cddlib/Makefile.in
@@ -0,0 +1,635 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \
+	ChangeLog INSTALL NEWS config.guess config.sub depcomp \
+	install-sh ltmain.sh missing mkinstalldirs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+#---------------------------------------------
+# End of site customization.
+##############################################
+SUBDIRS = lib-src src lib-src-gmp src-gmp
+EXTRA_DIST = examples/*.* examples-ine/*.* examples-ine3d/*.* examples-ml/*.* examples-ext/*.*
+all: all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool config.lt
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	test -d $(distdir) || mkdir $(distdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(MKDIR_P) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-lzma: distdir
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lzma*) \
+	  unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+	install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am am--refresh check check-am clean clean-generic \
+	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
+	dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
+	distclean distclean-generic distclean-libtool distclean-tags \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am
+
+
+##############################################
+# Site customizations:
+#---------------------------------------------
+# where is gmp?
+#---------------------------------------------
+# export gmpdir := $(PWD)/../gmp-4.1
+export gmpdir := /usr/local
+#---------------------------------------------
+# where is gmp lib?
+export gmplibdir = $(gmpdir)/lib
+#---------------------------------------------
+# where is gmp include?
+#---------------------------------------------
+# export gmpincludedir = $(gmpdir)
+export gmpincludedir = $(gmpdir)/include
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/third_party/cddlib/NEWS b/third_party/cddlib/NEWS
new file mode 120000
index 0000000..5b2af53
--- /dev/null
+++ b/third_party/cddlib/NEWS
@@ -0,0 +1 @@
+HISTORY
\ No newline at end of file
diff --git a/third_party/cddlib/README b/third_party/cddlib/README
new file mode 100644
index 0000000..9e2b18e
--- /dev/null
+++ b/third_party/cddlib/README
@@ -0,0 +1,149 @@
+2012-04-30 (April 30, 2015)
+-----------------------------------------------
+C-Library cddlib (version 0.94h) README FILE
+-----------------------------------------------
+1. The C-library  cddlib is a C implementation of the Double Description 
+Method of Motzkin et al. for generating all vertices (i.e. extreme points)
+and extreme rays of a general convex polyhedron in R^d given by a system 
+of linear inequalities:
+
+   P = { x=(x1, ..., xd)^T :  b - A  x  >= 0 }
+
+where  A  is a given m x d real matrix, b is a given m-vector 
+and 0 is the m-vector of all zeros.
+
+The program can be used for the reverse operation (i.e. convex hull
+computation).  This means that  one can move back and forth between 
+an inequality representation  and a generator (i.e. vertex and ray) 
+representation of a polyhedron with cdd.  Also, cdd can solve a linear
+programming problem, i.e. a problem of maximizing and minimizing 
+a linear function over P.
+
+The version 0.94 is the seventh release of libcdd. New functions
+added in this release include dd_MatrixCanonicalize,
+dd_FindRelativeInterior and dd_ExistsRestrictedFace.  These
+functions are LP-based and should be reasonably efficient.
+The sample programs such as redcheck.c, testlp1.c and allfaces.c
+show how these functions can be used to remove redundancies,
+to compute the dimension and all faces of an H-polyhedron.
+
+In addition to the new functionalities, many small bugs have
+been fixed.  For example, the mishandling of empty H-polyhedra
+has been fixed for the representation conversion.
+
+If you find some problems or bugs, please kindly report them to
+fukuda@ifor.math.ethz.ch.  Please read README.whatsnew for the changes 
+over the last release.
+
+The documentation (cddlibman.tex) is still incomplete but contains 
+descriptions of the most important functions. Please look at the examples,
+testcdd*.c, testlp*.c, simplecdd.c, lcdd.c, redcheck,c for how 
+the library functions can be used in user's C-codes.
+
+2. One convenient feature of cddlib is the ability
+to handle essentially any data.  More precisely, it can
+generate an H-representation of a V-polyhedron which is not
+full-dimensional, and it can generate a V-representation
+of an H-polyhedron which has no extreme points.
+
+3. A little caution is in order.  Many people have seen 
+numerical problems when the floating version of cddlib
+is used.   As we all know, floating-point computation
+might not give a correct answer, especially when an input
+data is very sensitive to a small perturbation.  When
+some strange behavior is observed, it is always wise
+to create a rational approximation of the input
+(for example, one can replace 0.3333333 with 1/3)
+and to compute it with cddlib compiled with gmp rational
+to see what a correct behavior should be.  Whenever the time
+is not important, it is safer to use gmp rational arithmetic.
+
+If you need speedy computation with floating-point arithmetic, 
+you might want to "play with" the constant "dd_almostzero" defined 
+in cdd.h:
+
+   #define dd_almostzero  1.0E-6
+
+This number is used to recognize whether a number is zero: 
+a number whose absolute value is smaller
+than dd_almostzero is considered zero, and nonzero otherwise.
+You might want to change this to modify the behavior of cddlib.
+Another thing one can do is scaling.  If the values in one column of
+an input is of smaller magnitude than those in another column, 
+scale one so that they become comparable.
+
+4. The cddlib package is in "tar"ed and "gzip"ed format with name
+cddlib-***.tar.gz, where *** is the version number.  The standard
+download site for the package is
+
+     web site : http://www.ifor.math.ethz.ch/~fukuda/cdd_home/index.html
+     file name: cddlib-***.tar.gz
+
+In order to unpack the package in a standard unix environment, type 
+   
+     % tar xvfz cddlib-***.tar.gz
+
+where *** must be replaced by the appropriate version number, and
+% is a unix prompt. 
+
+For compilation of libcdd, go to the cddlib top directorycddlib
+and follow the general instruction of autoconf.  In generic
+unix/linux environment, use "./configure" and "make".
+To enforce a certain compiler to be used, specify it as
+
+   CXX=g++ ./configure
+
+The default compiler is gcc.
+Note that one must install GMP-4.* (or higher) first.
+
+For compilation of MathLink programs,
+you need a binary "mprep", MathLink library "libML.a" and include file
+"mathlink.h" which come with Mathematica.   I have tested for Mathematica 4.1
+and 3.* on MacOSX and Linux.  This part is not "autoconf"igured
+and thus one needs to edit Makefile in the src-mathlink and src-mathlink2 subdirectories. 
+
+To install the library in public directory of unix environment, 
+just type "make install".  The default installation directory
+is /usr/local.  If you want to select other places, use
+"./configure --prefix=<DIRNAME>" to configure with your favorite
+<DIRNAME>. 
+
+One might have to make the files publicly readable by chmod.
+Once the files are properly installed, any user can use compile
+one's own code (e.g. testcdd1.c) and link it with libcdd by
+  
+   % gcc -I/usr/local/include -L/usr/local/lib testcdd1.c -lcdd
+
+or (with GMP rational arithmetic)
+
+   % gcc -I/usr/local/include -L/usr/local/lib -DGMPRATIONAL testcdd1.c -lcddgmp -lgmp
+
+
+5. cddlib comes with a MathLink version of cddlib that can be
+called from Mathematica (tested for Mathematica 2.2, 3.0, 4.1, 5.1).
+A few Mathematica notebooks are included to explain how one can 
+use this program "cddmathlink" from Mathematica
+to manipulate polytopes.  Please check the files, 
+cddml-notbook.ma, cddml-PolytopeSkeleton.ma, cddml-DietProblem.ma,
+and cddml-Zonotope.ma, in the mma subdirectory.  I could 
+compile cddmathlink.c for Macintosh and Windows.  Please use
+gcc instead of g++ to compile cddlib.  I have put 
+binaries for different platforms in 
+http://www.cs.mcgill.ca/~fukuda/download/cdd/cddlibml_binary/  .
+
+
+6. The library cddlib is free software, but if cddlib turns out to be useful, 
+please kindly send me (at the address below) a note or a paper mentioning 
+what purpose and how cdd has been used for. The most powerful support 
+for free software development is user's appreciation.   
+
+For more information, contact
+
+Komei Fukuda <fukuda@math.ethz.ch>
+Institute of Theoretical Computer Science
+ETH Zentrum, CH-8092 Zurich, Switzerland
+Tel +41-1-632-4023, Fax +41-1-632-1063
+http://www.ifor.math.ethz.ch/staff/fukuda/
+
+// END of README 
+
diff --git a/third_party/cddlib/README.core2processor b/third_party/cddlib/README.core2processor
new file mode 100644
index 0000000..0754be5
--- /dev/null
+++ b/third_party/cddlib/README.core2processor
@@ -0,0 +1,11 @@
+To compile on Intel Core 2 (64 bit) processors running MacOSX,
+you might need to add the compilation flags "-m64 -fast" by 
+
+./configure CFLAGS="-m64 -fast"
+
+This may apply to other operating systems.  Also, note that
+this does not apply to 32 bit processors like 
+Intel Core processor.
+
+Komei Fukuda
+February 14, 2009
diff --git a/third_party/cddlib/aclocal.m4 b/third_party/cddlib/aclocal.m4
new file mode 100644
index 0000000..dec9f67
--- /dev/null
+++ b/third_party/cddlib/aclocal.m4
@@ -0,0 +1,8823 @@
+# generated automatically by aclocal 1.10.2 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
+[m4_warning([this file was generated for autoconf 2.63.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 56 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+       [m4_default([$3],
+		   [m4_fatal([Libtool version $1 or higher is required],
+		             63)])],
+       [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+  *\ * | *\	*)
+    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    _LT_PATH_MAGIC
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+	[m4_ifval([$1], [$1], [$2])])
+    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+    m4_ifval([$4],
+	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+    lt_dict_add_subkey([lt_decl_dict], [$2],
+	[tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+  [0], [m4_fatal([$0: too few arguments: $#])],
+  [1], [m4_fatal([$0: too few arguments: $#: $1])],
+  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_if([$2], [],
+	   m4_quote(lt_decl_varnames),
+	m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'.  VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly.  In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+					   [description])))[]dnl
+m4_pushdef([_libtool_name],
+    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+    [0], [_libtool_name=[$]$1],
+    [1], [_libtool_name=$lt_[]$1],
+    [2], [_libtool_name=$lt_[]$1],
+    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+	dnl If the libtool generation code has been placed in $CONFIG_LT,
+	dnl instead of duplicating it all over again into config.status,
+	dnl then we will have config.status run $CONFIG_LT later, so it
+	dnl needs to know what name is stored there:
+        [AC_CONFIG_COMMANDS([libtool],
+            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+    dnl If the libtool generation code is destined for config.status,
+    dnl expand the accumulated commands and init code now:
+    [AC_CONFIG_COMMANDS([libtool],
+        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+  ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure.  Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+  lt_cl_success=:
+  test "$silent" = yes &&
+    lt_config_lt_args="$lt_config_lt_args --quiet"
+  exec AS_MESSAGE_LOG_FD>/dev/null
+  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+  exec AS_MESSAGE_LOG_FD>>config.log
+  $lt_cl_success || AS_EXIT(1)
+fi
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+  m4_if(_LT_TAG, [C], [
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+  _LT_PROG_LTMAIN
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  _LT_PROG_XSI_SHELLFNS
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],			[_LT_LANG(C)],
+  [C++],		[_LT_LANG(CXX)],
+  [Java],		[_LT_LANG(GCJ)],
+  [Fortran 77],		[_LT_LANG(F77)],
+  [Fortran],		[_LT_LANG(FC)],
+  [Windows Resource],	[_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+  [LT_SUPPORTED_TAG([$1])dnl
+  m4_append([_LT_TAGS], [$1 ])dnl
+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
+  _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+  [LT_LANG(CXX)],
+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+  [LT_LANG(F77)],
+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+  [LT_LANG(FC)],
+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+  [LT_LANG(GCJ)],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+    [LT_LANG(GCJ)],
+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+      [LT_LANG(GCJ)],
+      [m4_ifdef([AC_PROG_GCJ],
+	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([A][M_PROG_GCJ],
+	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([LT_PROG_GCJ],
+	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+  [LT_LANG(RC)],
+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+    AC_CHECK_TOOL([LIPO], [lipo], [:])
+    AC_CHECK_TOOL([OTOOL], [otool], [:])
+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+    _LT_DECL([], [DSYMUTIL], [1],
+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+    _LT_DECL([], [NMEDIT], [1],
+      [Tool to change global to local symbols on Mac OS X])
+    _LT_DECL([], [LIPO], [1],
+      [Tool to manipulate fat objects and archives on Mac OS X])
+    _LT_DECL([], [OTOOL], [1],
+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+    _LT_DECL([], [OTOOL64], [1],
+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+	# By default we will add the -single_module flag. You can override
+	# by either setting the environment variable LT_MULTI_MODULE
+	# non-empty at configure time, or by adding -multi_module to the
+	# link flags.
+	rm -rf libconftest.dylib*
+	echo "int foo(void){return 1;}" > conftest.c
+	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	  lt_cv_apple_cc_single_mod=yes
+	else
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi])
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+	[lt_cv_ld_exported_symbols_list=yes],
+	[lt_cv_ld_exported_symbols_list=no])
+	LDFLAGS="$save_LDFLAGS"
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[012]])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+	10.[[012]]*)
+	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+	10.*)
+	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_automatic, $1)=yes
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  _LT_TAGVAR(link_all_deplibs, $1)=yes
+  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=echo
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+    m4_if([$1], [CXX],
+[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+    fi
+],[])
+  else
+  _LT_TAGVAR(ld_shlibs, $1)=no
+  fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+	/^0/ {
+	    s/^0  *\(.*\)$/\1/
+	    p
+	}
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+	 [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_SHELL_INIT
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<_LT_EOF
+[$]*
+_LT_EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+  if test "X${echo_test_string+set}" != Xset; then
+    # find a string as large as possible, as long as the shell can cope with it
+    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+      then
+        break
+      fi
+    done
+  fi
+
+  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+     test "X$echo_testing_string" = "X$echo_test_string"; then
+    :
+  else
+    # The Solaris, AIX, and Digital Unix default echo programs unquote
+    # backslashes.  This makes it impossible to quote backslashes using
+    #   echo "$something" | sed 's/\\/\\\\/g'
+    #
+    # So, first we look for a working echo in the user's PATH.
+
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for dir in $PATH /usr/ucb; do
+      IFS="$lt_save_ifs"
+      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        ECHO="$dir/echo"
+        break
+      fi
+    done
+    IFS="$lt_save_ifs"
+
+    if test "X$ECHO" = Xecho; then
+      # We didn't find a better echo, so look for alternatives.
+      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        # This shell has a builtin print -r that does the trick.
+        ECHO='print -r'
+      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+	   test "X$CONFIG_SHELL" != X/bin/ksh; then
+        # If we have ksh, try running configure again with it.
+        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+        export ORIGINAL_CONFIG_SHELL
+        CONFIG_SHELL=/bin/ksh
+        export CONFIG_SHELL
+        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+      else
+        # Try using printf.
+        ECHO='printf %s\n'
+        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	  # Cool, printf works
+	  :
+        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	     test "X$echo_testing_string" = 'X\t' &&
+	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	     test "X$echo_testing_string" = "X$echo_test_string"; then
+	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	  export CONFIG_SHELL
+	  SHELL="$CONFIG_SHELL"
+	  export SHELL
+	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	     test "X$echo_testing_string" = 'X\t' &&
+	     echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	     test "X$echo_testing_string" = "X$echo_test_string"; then
+	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        else
+	  # maybe with a smaller string...
+	  prev=:
+
+	  for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+	    then
+	      break
+	    fi
+	    prev="$cmd"
+	  done
+
+	  if test "$prev" != 'sed 50q "[$]0"'; then
+	    echo_test_string=`eval $prev`
+	    export echo_test_string
+	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+	  else
+	    # Oops.  We lost completely, so just stick with echo.
+	    ECHO=echo
+	  fi
+        fi
+      fi
+    fi
+  fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+    [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+  [AS_HELP_STRING([--disable-libtool-lock],
+    [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+	HPUX_IA64_MODE="32"
+	;;
+      *ELF-64*)
+	HPUX_IA64_MODE="64"
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -melf32bsmip"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -melf32bmipn32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -melf64bmip"
+	;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+	*32-bit*)
+	  LD="${LD-ld} -32"
+	  ;;
+	*N32*)
+	  LD="${LD-ld} -n32"
+	  ;;
+	*64-bit*)
+	  LD="${LD-ld} -64"
+	  ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_i386_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_i386"
+	    ;;
+	  ppc64-*linux*|powerpc64-*linux*)
+	    LD="${LD-ld} -m elf32ppclinux"
+	    ;;
+	  s390x-*linux*)
+	    LD="${LD-ld} -m elf_s390"
+	    ;;
+	  sparc64-*linux*)
+	    LD="${LD-ld} -m elf32_sparc"
+	    ;;
+	esac
+	;;
+      *64-bit*)
+	case $host in
+	  x86_64-*kfreebsd*-gnu)
+	    LD="${LD-ld} -m elf_x86_64_fbsd"
+	    ;;
+	  x86_64-*linux*)
+	    LD="${LD-ld} -m elf_x86_64"
+	    ;;
+	  ppc*-*linux*|powerpc*-*linux*)
+	    LD="${LD-ld} -m elf64ppc"
+	    ;;
+	  s390*-*linux*|s390*-*tpf*)
+	    LD="${LD-ld} -m elf64_s390"
+	    ;;
+	  sparc*-*linux*)
+	    LD="${LD-ld} -m elf64_sparc"
+	    ;;
+	esac
+	;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+	  LD="${LD-ld} -64"
+	fi
+	;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+    [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+    [Commands used to build an old-style archive])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL		RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL		DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL		0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW		DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW	RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW	DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW	0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}]
+_LT_EOF
+  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen="dlopen"],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+	  lt_cv_dlopen_self_static, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+	 [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+	 [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+	 [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+	[Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test "$hard_links" = no; then
+    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+         [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+  [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+    [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+    ;;
+  *)
+    AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+	[], [
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[[4-9]]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	   echo ' yes '
+	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+	:
+      else
+	can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix[[3-9]]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+	if test "$lt_cv_prog_gnu_ld" = yes; then
+		version_type=linux
+	else
+		version_type=irix
+	fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # Some binutils ld are patched to set DT_RUNPATH
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+       [shlibpath_overrides_runpath=yes])])
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
+    *)				need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[[89]] | openbsd2.[[89]].*)
+	shlibpath_overrides_runpath=no
+	;;
+      *)
+	shlibpath_overrides_runpath=yes
+	;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+	;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+    [Variables whose values should be saved in libtool wrapper scripts and
+    restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+    [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+    [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+    [[List of archive names.  First name is the real one, the rest are links.
+    The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+    [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [postinstall_cmds], [2],
+    [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+    [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+    [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+    [[As "finish_cmds", except a single script fragment to be evaled but
+    not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+    [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+    [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+    [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[[3-9]]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+    [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+    [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  AC_SUBST([DUMPBIN])
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+  [lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+	[Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK ['"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx]"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+	mv -f "$nlist"T "$nlist"
+      else
+	rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+	  cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+	  cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+	  cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+	  # Now try linking the two files.
+	  mv conftest.$ac_objext conftstm.$ac_objext
+	  lt_save_LIBS="$LIBS"
+	  lt_save_CFLAGS="$CFLAGS"
+	  LIBS="conftstm.$ac_objext"
+	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+	    pipe_works=yes
+	  fi
+	  LIBS="$lt_save_LIBS"
+	  CFLAGS="$lt_save_CFLAGS"
+	else
+	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+    [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+    [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+    [lt_cv_sys_global_symbol_to_c_name_address], [1],
+    [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+    [Transform the output of nm in a C name address pair when lib prefix is needed])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+m4_if([$1], [CXX], [
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[[4-9]]*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  ecpc* )
+	    # old Intel C++ for x86_64 which still supported -KPIC.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  icpc* )
+	    # Intel C++, used to be incompatible with GCC.
+	    # ICC 10 doesn't accept -KPIC any more.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  xlc* | xlC*)
+	    # IBM XL 8.0 on PPC
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+	# +Z the default
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      xl*)
+	# IBM XL C 8.0/Fortran 10.1 on PPC
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+	[How to pass a linker flag through the compiler])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+	[Additional compiler flags for building library objects])
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+	[Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix[[4-9]]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw* | cegcc*)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  *)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
+  runpath_var=
+  _LT_TAGVAR(allow_undefined_flag, $1)=
+  _LT_TAGVAR(always_export_symbols, $1)=no
+  _LT_TAGVAR(archive_cmds, $1)=
+  _LT_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_TAGVAR(compiler_needs_object, $1)=no
+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(hardcode_automatic, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(inherit_rpath, $1)=no
+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_TAGVAR(module_cmds, $1)=
+  _LT_TAGVAR(module_expsym_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  esac
+
+  _LT_TAGVAR(ld_shlibs, $1)=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[[3-9]]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=no
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	# If the export-symbols file already is a .def file (1st line
+	# is EXPORTS), use it as is; otherwise, prepend...
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	  cp $export_symbols $output_objdir/$soname.def;
+	else
+	  echo EXPORTS > $output_objdir/$soname.def;
+	  cat $export_symbols >> $output_objdir/$soname.def;
+	fi~
+	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix[[3-9]]*)
+      _LT_TAGVAR(hardcode_direct, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+	case $cc_basename in
+	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
+	esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+	 && test "$tmp_diet" = no
+      then
+	tmp_addflag=
+	tmp_sharedflag='-shared'
+	case $cc_basename,$host_cpu in
+        pgcc*)				# Portland Group C compiler
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag -Mnomain' ;;
+	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
+	  tmp_addflag=' -i_dynamic' ;;
+	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
+	  tmp_addflag=' -i_dynamic -nofor_main' ;;
+	ifc* | ifort*)			# Intel Fortran compiler
+	  tmp_addflag=' -nofor_main' ;;
+	lf95*)				# Lahey Fortran 8.1
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+	  tmp_sharedflag='--shared' ;;
+	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
+	  tmp_sharedflag='-qmkshrobj'
+	  tmp_addflag= ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	  _LT_TAGVAR(compiler_needs_object, $1)=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+        if test "x$supports_anon_versioning" = xyes; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	    echo "local: *; };" >> $output_objdir/$libname.ver~
+	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+	case $cc_basename in
+	xlf*)
+	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+	  if test "x$supports_anon_versioning" = xyes; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+	      echo "local: *; };" >> $output_objdir/$libname.ver~
+	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+	  fi
+	  ;;
+	esac
+      else
+        _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+	;;
+	*)
+	  # For security reasons, it is highly recommended that you always
+	  # use absolute paths for naming shared libraries, and exclude the
+	  # DT_RUNPATH tag from executables and libraries.  But doing so
+	  # requires that you compile everything twice, which is a pain.
+	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix[[4-9]]*)
+      if test "$host_cpu" = ia64; then
+	# On IA64, the linker does run time linking by default, so we don't
+	# have to do anything special.
+	aix_use_runtimelinking=no
+	exp_sym_flag='-Bexport'
+	no_entry_flag=""
+      else
+	# If we're using GNU nm, then we don't want the "-C" option.
+	# -C means demangle to AIX nm, but means don't demangle with GNU nm
+	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+	fi
+	aix_use_runtimelinking=no
+
+	# Test if we are trying to use run time linking or normal
+	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
+	# need to do runtime linking.
+	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	  for ld_flag in $LDFLAGS; do
+	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+	    aix_use_runtimelinking=yes
+	    break
+	  fi
+	  done
+	  ;;
+	esac
+
+	exp_sym_flag='-bexport'
+	no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_TAGVAR(archive_cmds, $1)=''
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+      if test "$GCC" = yes; then
+	case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	# We only want to do this on AIX 4.2 and lower, the check
+	# below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	  # We have reworked collect2
+	  :
+	  else
+	  # We have old collect2
+	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+	  ;;
+	esac
+	shared_flag='-shared'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag="$shared_flag "'${wl}-G'
+	fi
+      else
+	# not using gcc
+	if test "$host_cpu" = ia64; then
+	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	# chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+	else
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag='${wl}-G'
+	  else
+	    shared_flag='${wl}-bM:SRE'
+	  fi
+	fi
+      fi
+
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      if test "$aix_use_runtimelinking" = yes; then
+	# Warning - without using the other runtime loading flags (-brtl),
+	# -berok will link without error, but may produce a broken library.
+	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+	if test "$host_cpu" = ia64; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+	else
+	 # Determine the default libpath from the value encoded in an
+	 # empty executable.
+	 _LT_SYS_MODULE_PATH_AIX
+	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	  # Warning - without using the other run time loading flags,
+	  # -berok will link without error, but may produce a broken library.
+	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[[45]]*)
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      _LT_DARWIN_LINKER_FEATURES($1)
+      ;;
+
+    dgux*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      else
+	case $host_cpu in
+	hppa*64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	# Try to use the -exported_symbol ld option, if it does not
+	# work, assume that -exports_file does not work either and
+	# implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        AC_LINK_IFELSE(int foo(void) {},
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+        )
+        LDFLAGS="$save_LDFLAGS"
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(inherit_rpath, $1)=yes
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	     ;;
+	   *)
+	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+	fi
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+	case `$CC -V 2>&1` in
+	*"Compilers 5.0"*)
+	  wlarc=''
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+	  ;;
+	*)
+	  wlarc='${wl}'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  ;;
+	esac
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+	# The compiler driver will combine and reorder linker options,
+	# but understands `-z linker_flag'.  GCC discards it without `$wl',
+	# but is careful enough not to reorder.
+	# Supported since Solaris 2.6 (maybe 2.5.1?)
+	if test "$GCC" = yes; then
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+	# Use $CC to link under sequent, because it throws in some extra .o
+	# files that make .init and .fini sections work.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+    [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $RM conftest*
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+	pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+        _LT_TAGVAR(allow_undefined_flag, $1)=
+        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+        then
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+        fi
+        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $RM conftest*
+      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+    [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+    [enable_shared_with_static_runtimes], [0],
+    [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+    [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+    [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+    [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+    [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+    [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+    [Commands used to build a loadable module if different from building
+    a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+    [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+    [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+    [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+    [Flag to hardcode $libdir into a binary during linking.
+    This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+    [[If ld is used when linking, flag to hardcode $libdir into a binary
+    during linking.  This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+    [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary and the resulting library dependency is
+    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+    library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+    [Set to "yes" if building a shared library automatically hardcodes DIR
+    into the library and all subsequent libraries and executables linked
+    against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+    [Set to yes if linker adds runtime paths of dependent libraries
+    to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+    [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [fix_srcfile_path], [1],
+    [Fix the shell variable $srcfile for the compiler])
+_LT_TAGDECL([], [always_export_symbols], [0],
+    [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+    [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+    [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+    [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+    [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [file_list_spec], [1],
+    [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl    [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+  LT_SYS_DLOPEN_SELF
+  _LT_CMD_STRIPLIB
+
+  # Report which library types will actually be built
+  AC_MSG_CHECKING([if libtool supports shared libraries])
+  AC_MSG_RESULT([$can_build_shared])
+
+  AC_MSG_CHECKING([whether to build shared libraries])
+  test "$can_build_shared" = "no" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[[4-9]]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  AC_MSG_RESULT([$enable_shared])
+
+  AC_MSG_CHECKING([whether to build static libraries])
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  AC_MSG_RESULT([$enable_static])
+
+  _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_PROG_CXX
+# ------------
+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
+# compiler, we have our own version here.
+m4_defun([_LT_PROG_CXX],
+[
+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
+AC_PROG_CXX
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_CXX
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_CXX], [])
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[AC_REQUIRE([_LT_PROG_CXX])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test "$GXX" = yes; then
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+    else
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+    fi
+
+    if test "$GXX" = yes; then
+      # Set up default GNU C++ configuration
+
+      LT_PATH_LD
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test "$with_gnu_ld" = yes; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='${wl}'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+        else
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+    _LT_TAGVAR(ld_shlibs, $1)=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+      aix[[4-9]]*)
+        if test "$host_cpu" = ia64; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=""
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # need to do runtime linking.
+          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+	    for ld_flag in $LDFLAGS; do
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    done
+	    ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        _LT_TAGVAR(archive_cmds, $1)=''
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+        if test "$GXX" = yes; then
+          case $host_os in aix4.[[012]]|aix4.[[012]].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+	  collect2name=`${CC} -print-prog-name=collect2`
+	  if test -f "$collect2name" &&
+	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+	  then
+	    # We have reworked collect2
+	    :
+	  else
+	    # We have old collect2
+	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
+	    # It fails to find uninstalled libraries when the uninstalled
+	    # path is not listed in the libpath.  Setting hardcode_minus_L
+	    # to unsupported forces relinking
+	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  fi
+          esac
+          shared_flag='-shared'
+	  if test "$aix_use_runtimelinking" = yes; then
+	    shared_flag="$shared_flag "'${wl}-G'
+	  fi
+        else
+          # not using gcc
+          if test "$host_cpu" = ia64; then
+	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+	  # chokes on -Wl,-G. The following line is correct:
+	  shared_flag='-G'
+          else
+	    if test "$aix_use_runtimelinking" = yes; then
+	      shared_flag='${wl}-G'
+	    else
+	      shared_flag='${wl}-bM:SRE'
+	    fi
+          fi
+        fi
+
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+	# export.
+        _LT_TAGVAR(always_export_symbols, $1)=yes
+        if test "$aix_use_runtimelinking" = yes; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          _LT_SYS_MODULE_PATH_AIX
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        else
+          if test "$host_cpu" = ia64; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+          else
+	    # Determine the default libpath from the value encoded in an
+	    # empty executable.
+	    _LT_SYS_MODULE_PATH_AIX
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	    # Warning - without using the other run time loading flags,
+	    # -berok will link without error, but may produce a broken library.
+	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	    # Exported symbols can be pulled into shared objects from archives
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+	    # This is similar to how AIX traditionally builds its shared
+	    # libraries.
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+          fi
+        fi
+        ;;
+
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	  ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+        # as there is no search path for DLLs.
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+        _LT_TAGVAR(always_export_symbols, $1)=no
+        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+          # If the export-symbols file already is a .def file (1st line
+          # is EXPORTS), use it as is; otherwise, prepend...
+          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    cp $export_symbols $output_objdir/$soname.def;
+          else
+	    echo EXPORTS > $output_objdir/$soname.def;
+	    cat $export_symbols >> $output_objdir/$soname.def;
+          fi~
+          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        else
+          _LT_TAGVAR(ld_shlibs, $1)=no
+        fi
+        ;;
+      darwin* | rhapsody*)
+        _LT_DARWIN_LINKER_FEATURES($1)
+	;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      freebsd[[12]]*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      freebsd-elf*)
+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+        ;;
+
+      gnu*)
+        ;;
+
+      hpux9*)
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            _LT_TAGVAR(ld_shlibs, $1)=no
+            ;;
+          aCC*)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              _LT_TAGVAR(ld_shlibs, $1)=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test $with_gnu_ld = no; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            _LT_TAGVAR(hardcode_direct, $1)=no
+            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+            ;;
+          *)
+            _LT_TAGVAR(hardcode_direct, $1)=yes
+            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          aCC*)
+	    case $host_cpu in
+	      hppa*64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	    esac
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test $with_gnu_ld = no; then
+	        case $host_cpu in
+	          hppa*64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      interix[[3-9]]*)
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+	# Instead, shared libraries are loaded at an image base (0x10000000 by
+	# default) and relocated if they conflict, which is a slow very memory
+	# consuming and fragmenting process.  To avoid this, we pick a random,
+	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+	    # SGI C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test "$with_gnu_ld" = no; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	      else
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+	      fi
+	    fi
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+	    ;;
+        esac
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(inherit_rpath, $1)=yes
+        ;;
+
+      linux* | k*bsd*-gnu)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+		$RANLIB $oldlib'
+	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+		rm -rf $tpldir~
+		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    *) # Version 6 will use weak symbols
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+	      ;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	    runpath_var=LD_RUN_PATH
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+	  xl*)
+	    # IBM XL 8.0 on PPC, with GNU ld
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    if test "x$supports_anon_versioning" = xyes; then
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+		echo "local: *; };" >> $output_objdir/$libname.ver~
+		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+	      _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+	      # Not sure whether something based on
+	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	      # would be better.
+	      output_verbose_link_cmd='echo'
+
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	esac
+	;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+	;;
+
+      *nto* | *qnx*)
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+	;;
+
+      openbsd2*)
+        # C++ shared libraries are fairly broken
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      openbsd*)
+	if test -f /usr/libexec/ld.so; then
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+	  fi
+	  output_verbose_link_cmd=echo
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          cxx*)
+	    case $host in
+	      osf3*)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+		;;
+	      *)
+	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+	          echo "-hidden">> $lib.exp~
+	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+	          $RM $lib.exp'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+		;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # explicitly linking system object files so we need to strip them
+	    # from the output so that they don't get included in the library
+	    # dependencies.
+	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+	    ;;
+	  *)
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	      case $host in
+	        osf3*)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	        *)
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+		  ;;
+	      esac
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	      # Commands to make compiler produce verbose output that lists
+	      # what "hidden" libraries, object files and flags are used when
+	      # linking a shared library.
+	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	    case $host_os in
+	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	      *)
+		# The compiler driver will combine and reorder linker options,
+		# but understands `-z linker_flag'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+	    output_verbose_link_cmd='echo'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	    # The C++ compiler must be used to create the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      else
+	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	        # platform.
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # Commands to make compiler produce verbose output that lists
+	        # what "hidden" libraries, object files and flags are used when
+	        # linking a shared library.
+	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+	      fi
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	      case $host_os in
+		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+		*)
+		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+	# Note: We can NOT use -z defs as we might desire, because we do not
+	# link with -lc, and that would cause any symbols used from libc to
+	# always be unresolved, which means just about no library would
+	# ever link correctly.  If we're not using GNU ld we use -z text
+	# though, which does catch some bad symbols but isn't as heavy-handed
+	# as -z defs.
+	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+	_LT_TAGVAR(link_all_deplibs, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+	runpath_var='LD_RUN_PATH'
+
+	case $cc_basename in
+          CC*)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	  *)
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+    esac
+
+    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+    _LT_TAGVAR(GCC, $1)="$GXX"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+_LT_EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" ||
+          test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+	   else
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+	 else
+	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+	 fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+	   _LT_TAGVAR(predep_objects, $1)="$p"
+	 else
+	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+	   _LT_TAGVAR(postdep_objects, $1)="$p"
+	 else
+	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_TAGVAR(predep_objects,$1)=
+  _LT_TAGVAR(postdep_objects,$1)=
+  _LT_TAGVAR(postdeps,$1)=
+  ;;
+
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+    [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+    [Dependencies to place before and after the objects being linked to
+    create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+    [The library search path used internally by the compiler when linking
+    a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_PROG_F77
+# ------------
+# Since AC_PROG_F77 is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_F77],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
+AC_PROG_F77
+if test -z "$F77" || test "X$F77" = "Xno"; then
+  _lt_disable_F77=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_F77
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_F77], [])
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_REQUIRE([_LT_PROG_F77])dnl
+AC_LANG_PUSH(Fortran 77)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${F77-"f77"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+  GCC=$G77
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+	  test "$enable_shared" = yes && enable_static=no
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$G77"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_PROG_FC
+# -----------
+# Since AC_PROG_FC is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_FC],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
+AC_PROG_FC
+if test -z "$FC" || test "X$FC" = "Xno"; then
+  _lt_disable_FC=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_FC
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_FC], [])
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_REQUIRE([_LT_PROG_FC])dnl
+AC_LANG_PUSH(Fortran)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${FC-"f95"}
+  compiler=$CC
+  GCC=$ac_cv_fc_compiler_gnu
+
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+	  test "$enable_shared" = yes && enable_static=no
+	fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC="$lt_save_CC"
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+  :
+  _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+  case ${2} in
+    .*) func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]+=\$[2]"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+    ;;
+  esac
+])
+
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+		      [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl `shared' nor `disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+  		   [_LT_ENABLE_FAST_INSTALL])
+  ])
+])# _LT_SET_OPTIONS
+
+
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS],      [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_shared=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+	[Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_static=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+	[Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+	IFS="$lt_save_ifs"
+	if test "X$pkg" = "X$p"; then
+	  enable_fast_install=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+	 [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [pic_mode="$withval"],
+    [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+		 [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+		 [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+		 [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+		 [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+		 [m4_define([_LTDL_TYPE], [convenience])])
+
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+	     [m4_foreach([_Lt_suffix],
+		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+		 [lt_append([$1], [$2], [$3])$4],
+		 [$5])],
+	  [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+	[$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
+
+# ltversion.m4 -- version numbers			-*- Autoconf -*-
+#
+#   Copyright (C) 2004 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# Generated from ltversion.in.
+
+# serial 3017 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6b])
+m4_define([LT_PACKAGE_REVISION], [1.3017])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6b'
+macro_revision='1.3017'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
+
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_RC],		[AC_DEFUN([AC_LIBTOOL_RC])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.10.2], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.10.2])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 4
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[# Autoconf 2.62 quotes --file arguments for eval, but not when files
+# are listed without --file.  Let's play safe and only enable the eval
+# if we detect the quoting.
+case $CONFIG_FILES in
+*\'*) eval set x "$CONFIG_FILES" ;;
+*)   set x $CONFIG_FILES ;;
+esac
+shift
+for mf
+do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # Grep'ing the whole file is not good either: AIX grep has a line
+  # limit of 2048, but all sed's we know have understand at least 4000.
+  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 13
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+                  [_AM_DEPENDENCIES(OBJC)],
+                  [define([AC_PROG_OBJC],
+                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
diff --git a/third_party/cddlib/autom4te.cache/output.0 b/third_party/cddlib/autom4te.cache/output.0
new file mode 100644
index 0000000..06237b4
--- /dev/null
+++ b/third_party/cddlib/autom4te.cache/output.0
Binary files differ
diff --git a/third_party/cddlib/autom4te.cache/output.1 b/third_party/cddlib/autom4te.cache/output.1
new file mode 100644
index 0000000..da50d64
--- /dev/null
+++ b/third_party/cddlib/autom4te.cache/output.1
Binary files differ
diff --git a/third_party/cddlib/autom4te.cache/requests b/third_party/cddlib/autom4te.cache/requests
new file mode 100644
index 0000000..4ddaeef
--- /dev/null
+++ b/third_party/cddlib/autom4te.cache/requests
@@ -0,0 +1,268 @@
+# This file was generated.
+# It contains the lists of macros which have been traced.
+# It can be safely removed.
+
+@request = (
+             bless( [
+                      '0',
+                      1,
+                      [
+                        '/sw/share/autoconf'
+                      ],
+                      [
+                        '/sw/share/autoconf/autoconf/autoconf.m4f',
+                        'aclocal.m4',
+                        'configure.in'
+                      ],
+                      {
+                        'AM_PROG_F77_C_O' => 1,
+                        '_LT_AC_TAGCONFIG' => 1,
+                        'm4_pattern_forbid' => 1,
+                        'AC_INIT' => 1,
+                        '_AM_COND_IF' => 1,
+                        'AC_CANONICAL_TARGET' => 1,
+                        'AC_SUBST' => 1,
+                        'AC_CONFIG_LIBOBJ_DIR' => 1,
+                        'AC_FC_SRCEXT' => 1,
+                        'AC_CANONICAL_HOST' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
+                        'AC_CONFIG_SUBDIRS' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        'LT_CONFIG_LTDL_DIR' => 1,
+                        'AC_CONFIG_LINKS' => 1,
+                        'AC_REQUIRE_AUX_FILE' => 1,
+                        'm4_sinclude' => 1,
+                        'LT_SUPPORTED_TAG' => 1,
+                        'AM_MAINTAINER_MODE' => 1,
+                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
+                        '_m4_warn' => 1,
+                        'AM_PROG_CXX_C_O' => 1,
+                        '_AM_COND_ENDIF' => 1,
+                        'AM_ENABLE_MULTILIB' => 1,
+                        'AC_CONFIG_FILES' => 1,
+                        'LT_INIT' => 1,
+                        'include' => 1,
+                        'AM_GNU_GETTEXT' => 1,
+                        'AC_LIBSOURCE' => 1,
+                        'AM_PROG_FC_C_O' => 1,
+                        'AC_CANONICAL_BUILD' => 1,
+                        'AC_FC_FREEFORM' => 1,
+                        'AH_OUTPUT' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
+                        'AC_CONFIG_AUX_DIR' => 1,
+                        'sinclude' => 1,
+                        'AM_PROG_CC_C_O' => 1,
+                        'm4_pattern_allow' => 1,
+                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AC_CONFIG_HEADERS' => 1,
+                        'AC_DEFINE_TRACE_LITERAL' => 1,
+                        'm4_include' => 1,
+                        '_AM_COND_ELSE' => 1,
+                        'AC_SUBST_TRACE' => 1
+                      }
+                    ], 'Autom4te::Request' ),
+             bless( [
+                      '1',
+                      1,
+                      [
+                        '/sw/share/autoconf'
+                      ],
+                      [
+                        '/sw/share/autoconf/autoconf/autoconf.m4f',
+                        '/sw/share/aclocal/argz.m4',
+                        '/sw/share/aclocal/libtool.m4',
+                        '/sw/share/aclocal/ltdl.m4',
+                        '/sw/share/aclocal/ltoptions.m4',
+                        '/sw/share/aclocal/ltsugar.m4',
+                        '/sw/share/aclocal/ltversion.m4',
+                        '/sw/share/aclocal/lt~obsolete.m4',
+                        '/sw/share/aclocal-1.10/amversion.m4',
+                        '/sw/share/aclocal-1.10/auxdir.m4',
+                        '/sw/share/aclocal-1.10/cond.m4',
+                        '/sw/share/aclocal-1.10/depend.m4',
+                        '/sw/share/aclocal-1.10/depout.m4',
+                        '/sw/share/aclocal-1.10/init.m4',
+                        '/sw/share/aclocal-1.10/install-sh.m4',
+                        '/sw/share/aclocal-1.10/lead-dot.m4',
+                        '/sw/share/aclocal-1.10/make.m4',
+                        '/sw/share/aclocal-1.10/missing.m4',
+                        '/sw/share/aclocal-1.10/mkdirp.m4',
+                        '/sw/share/aclocal-1.10/options.m4',
+                        '/sw/share/aclocal-1.10/runlog.m4',
+                        '/sw/share/aclocal-1.10/sanity.m4',
+                        '/sw/share/aclocal-1.10/strip.m4',
+                        '/sw/share/aclocal-1.10/substnot.m4',
+                        '/sw/share/aclocal-1.10/tar.m4',
+                        'configure.in'
+                      ],
+                      {
+                        'AM_ENABLE_STATIC' => 1,
+                        'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
+                        '_LT_AC_SHELL_INIT' => 1,
+                        'AC_DEFUN' => 1,
+                        '_LT_AC_LANG_CXX_CONFIG' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'AM_PROG_MKDIR_P' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        'AM_MISSING_PROG' => 1,
+                        'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
+                        '_LT_AC_LANG_C_CONFIG' => 1,
+                        'AM_PROG_INSTALL_STRIP' => 1,
+                        '_m4_warn' => 1,
+                        'AC_LIBTOOL_OBJDIR' => 1,
+                        'gl_FUNC_ARGZ' => 1,
+                        'AM_SANITY_CHECK' => 1,
+                        'LTOBSOLETE_VERSION' => 1,
+                        'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
+                        'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
+                        'LT_LIB_M' => 1,
+                        '_LT_AC_CHECK_DLFCN' => 1,
+                        'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
+                        'LTSUGAR_VERSION' => 1,
+                        '_LT_PROG_LTMAIN' => 1,
+                        'LT_SYS_SYMBOL_USCORE' => 1,
+                        '_AM_PROG_TAR' => 1,
+                        'AC_LIBTOOL_GCJ' => 1,
+                        'LT_SYS_DLOPEN_DEPLIBS' => 1,
+                        'LT_FUNC_DLSYM_USCORE' => 1,
+                        '_LT_AC_LANG_F77' => 1,
+                        'AC_LIBTOOL_CONFIG' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
+                        'AC_LTDL_DLLIB' => 1,
+                        '_AM_AUTOCONF_VERSION' => 1,
+                        'AM_DISABLE_SHARED' => 1,
+                        '_LTDL_SETUP' => 1,
+                        'AM_PROG_LIBTOOL' => 1,
+                        '_LT_AC_LANG_CXX' => 1,
+                        'AM_PROG_LD' => 1,
+                        '_LT_AC_FILE_LTDLL_C' => 1,
+                        'AC_LIB_LTDL' => 1,
+                        'AU_DEFUN' => 1,
+                        'AC_PROG_NM' => 1,
+                        'AC_LIBTOOL_DLOPEN' => 1,
+                        'AC_PROG_LD' => 1,
+                        'AC_PROG_LD_GNU' => 1,
+                        'AC_ENABLE_FAST_INSTALL' => 1,
+                        'AC_LIBTOOL_FC' => 1,
+                        'LTDL_CONVENIENCE' => 1,
+                        '_AM_SET_OPTION' => 1,
+                        'AC_LTDL_PREOPEN' => 1,
+                        '_LT_LINKER_BOILERPLATE' => 1,
+                        'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
+                        'AC_LIBTOOL_PROG_CC_C_O' => 1,
+                        'gl_PREREQ_ARGZ' => 1,
+                        'LT_SUPPORTED_TAG' => 1,
+                        'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+                        'LT_PROG_RC' => 1,
+                        'LT_SYS_MODULE_EXT' => 1,
+                        'AC_DEFUN_ONCE' => 1,
+                        '_LT_AC_LANG_GCJ' => 1,
+                        'AC_LTDL_OBJDIR' => 1,
+                        '_LT_PATH_TOOL_PREFIX' => 1,
+                        'AC_LIBTOOL_RC' => 1,
+                        '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
+                        'AC_DISABLE_FAST_INSTALL' => 1,
+                        'include' => 1,
+                        '_LT_AC_TRY_DLOPEN_SELF' => 1,
+                        '_LT_AC_SYS_LIBPATH_AIX' => 1,
+                        'LT_AC_PROG_SED' => 1,
+                        'AM_ENABLE_SHARED' => 1,
+                        'LTDL_INSTALLABLE' => 1,
+                        '_LT_AC_LANG_GCJ_CONFIG' => 1,
+                        'AC_ENABLE_SHARED' => 1,
+                        'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
+                        'AC_ENABLE_STATIC' => 1,
+                        '_LT_AC_TAGVAR' => 1,
+                        'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'LT_LIB_DLLOAD' => 1,
+                        'LTVERSION_VERSION' => 1,
+                        'LTDL_INIT' => 1,
+                        'm4_include' => 1,
+                        'AM_PROG_INSTALL_SH' => 1,
+                        'AC_PROG_EGREP' => 1,
+                        'AC_PATH_MAGIC' => 1,
+                        '_AC_AM_CONFIG_HEADER_HOOK' => 1,
+                        'AC_LTDL_SYSSEARCHPATH' => 1,
+                        'AM_MAKE_INCLUDE' => 1,
+                        'LT_CMD_MAX_LEN' => 1,
+                        '_LT_AC_TAGCONFIG' => 1,
+                        'm4_pattern_forbid' => 1,
+                        '_LT_LINKER_OPTION' => 1,
+                        'AC_LIBTOOL_COMPILER_OPTION' => 1,
+                        'AC_DISABLE_SHARED' => 1,
+                        '_LT_COMPILER_BOILERPLATE' => 1,
+                        'AC_LIBTOOL_WIN32_DLL' => 1,
+                        'AC_LIBTOOL_SETUP' => 1,
+                        'AC_PROG_LD_RELOAD_FLAG' => 1,
+                        'AC_LTDL_DLSYM_USCORE' => 1,
+                        'AM_MISSING_HAS_RUN' => 1,
+                        'LT_LANG' => 1,
+                        'LT_SYS_DLSEARCH_PATH' => 1,
+                        'LT_CONFIG_LTDL_DIR' => 1,
+                        'AC_LIBTOOL_DLOPEN_SELF' => 1,
+                        'LT_OUTPUT' => 1,
+                        'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
+                        'AC_WITH_LTDL' => 1,
+                        'AC_LIBTOOL_LINKER_OPTION' => 1,
+                        'LT_AC_PROG_RC' => 1,
+                        'AC_LIBTOOL_CXX' => 1,
+                        'LT_INIT' => 1,
+                        'LT_AC_PROG_GCJ' => 1,
+                        'LT_SYS_DLOPEN_SELF' => 1,
+                        'AM_DEP_TRACK' => 1,
+                        'AM_DISABLE_STATIC' => 1,
+                        '_AC_PROG_LIBTOOL' => 1,
+                        '_AM_IF_OPTION' => 1,
+                        'AC_PATH_TOOL_PREFIX' => 1,
+                        'm4_pattern_allow' => 1,
+                        'AC_LIBTOOL_F77' => 1,
+                        'AM_SET_LEADING_DOT' => 1,
+                        'LT_AC_PROG_EGREP' => 1,
+                        '_AM_DEPENDENCIES' => 1,
+                        'AC_LIBTOOL_LANG_C_CONFIG' => 1,
+                        'LTOPTIONS_VERSION' => 1,
+                        '_LT_AC_SYS_COMPILER' => 1,
+                        'AM_PROG_NM' => 1,
+                        'AC_LIBLTDL_CONVENIENCE' => 1,
+                        'AC_DEPLIBS_CHECK_METHOD' => 1,
+                        'AC_LIBLTDL_INSTALLABLE' => 1,
+                        'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
+                        'AC_LTDL_ENABLE_INSTALL' => 1,
+                        'LT_PROG_GCJ' => 1,
+                        'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
+                        'AC_DISABLE_STATIC' => 1,
+                        'LT_PATH_NM' => 1,
+                        'AC_LTDL_SHLIBEXT' => 1,
+                        '_LT_AC_LOCK' => 1,
+                        '_LT_AC_LANG_RC_CONFIG' => 1,
+                        'LT_SYS_MODULE_PATH' => 1,
+                        'LT_WITH_LTDL' => 1,
+                        'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
+                        'AC_LTDL_SHLIBPATH' => 1,
+                        'AM_AUX_DIR_EXPAND' => 1,
+                        'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
+                        '_LT_AC_LANG_F77_CONFIG' => 1,
+                        '_LT_COMPILER_OPTION' => 1,
+                        '_AM_SET_OPTIONS' => 1,
+                        'AM_RUN_LOG' => 1,
+                        '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+                        'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
+                        'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
+                        'AC_LIBTOOL_PICMODE' => 1,
+                        'AC_CHECK_LIBM' => 1,
+                        'LT_PATH_LD' => 1,
+                        'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
+                        '_AM_MANGLE_OPTION' => 1,
+                        'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
+                        'AC_LTDL_SYMBOL_USCORE' => 1,
+                        'AM_SET_DEPDIR' => 1,
+                        '_LT_CC_BASENAME' => 1,
+                        '_LT_LIBOBJ' => 1
+                      }
+                    ], 'Autom4te::Request' )
+           );
+
diff --git a/third_party/cddlib/autom4te.cache/traces.0 b/third_party/cddlib/autom4te.cache/traces.0
new file mode 100644
index 0000000..ff536d8
--- /dev/null
+++ b/third_party/cddlib/autom4te.cache/traces.0
@@ -0,0 +1,479 @@
+m4trace:configure.in:2: -1- AC_INIT
+m4trace:configure.in:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
+m4trace:configure.in:2: -1- m4_pattern_forbid([_AC_])
+m4trace:configure.in:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
+m4trace:configure.in:2: -1- m4_pattern_allow([^AS_FLAGS$])
+m4trace:configure.in:2: -1- m4_pattern_forbid([^_?m4_])
+m4trace:configure.in:2: -1- m4_pattern_forbid([^dnl$])
+m4trace:configure.in:2: -1- m4_pattern_forbid([^_?AS_])
+m4trace:configure.in:2: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([SHELL])
+m4trace:configure.in:2: -1- m4_pattern_allow([^SHELL$])
+m4trace:configure.in:2: -1- AC_SUBST([PATH_SEPARATOR])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PATH_SEPARATOR$])
+m4trace:configure.in:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([PACKAGE_NAME])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
+m4trace:configure.in:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
+m4trace:configure.in:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
+m4trace:configure.in:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([PACKAGE_STRING])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
+m4trace:configure.in:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
+m4trace:configure.in:2: -1- AC_SUBST([exec_prefix], [NONE])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([exec_prefix])
+m4trace:configure.in:2: -1- m4_pattern_allow([^exec_prefix$])
+m4trace:configure.in:2: -1- AC_SUBST([prefix], [NONE])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([prefix])
+m4trace:configure.in:2: -1- m4_pattern_allow([^prefix$])
+m4trace:configure.in:2: -1- AC_SUBST([program_transform_name], [s,x,x,])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([program_transform_name])
+m4trace:configure.in:2: -1- m4_pattern_allow([^program_transform_name$])
+m4trace:configure.in:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([bindir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^bindir$])
+m4trace:configure.in:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([sbindir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^sbindir$])
+m4trace:configure.in:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([libexecdir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^libexecdir$])
+m4trace:configure.in:2: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([datarootdir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^datarootdir$])
+m4trace:configure.in:2: -1- AC_SUBST([datadir], ['${datarootdir}'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([datadir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^datadir$])
+m4trace:configure.in:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([sysconfdir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^sysconfdir$])
+m4trace:configure.in:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([sharedstatedir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^sharedstatedir$])
+m4trace:configure.in:2: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([localstatedir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^localstatedir$])
+m4trace:configure.in:2: -1- AC_SUBST([includedir], ['${prefix}/include'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([includedir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^includedir$])
+m4trace:configure.in:2: -1- AC_SUBST([oldincludedir], ['/usr/include'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([oldincludedir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^oldincludedir$])
+m4trace:configure.in:2: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
+				     ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
+				     ['${datarootdir}/doc/${PACKAGE}'])])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([docdir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^docdir$])
+m4trace:configure.in:2: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([infodir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^infodir$])
+m4trace:configure.in:2: -1- AC_SUBST([htmldir], ['${docdir}'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([htmldir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^htmldir$])
+m4trace:configure.in:2: -1- AC_SUBST([dvidir], ['${docdir}'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([dvidir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^dvidir$])
+m4trace:configure.in:2: -1- AC_SUBST([pdfdir], ['${docdir}'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([pdfdir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^pdfdir$])
+m4trace:configure.in:2: -1- AC_SUBST([psdir], ['${docdir}'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([psdir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^psdir$])
+m4trace:configure.in:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([libdir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^libdir$])
+m4trace:configure.in:2: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([localedir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^localedir$])
+m4trace:configure.in:2: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([mandir])
+m4trace:configure.in:2: -1- m4_pattern_allow([^mandir$])
+m4trace:configure.in:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
+m4trace:configure.in:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
+#undef PACKAGE_NAME])
+m4trace:configure.in:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
+m4trace:configure.in:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME])
+m4trace:configure.in:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
+m4trace:configure.in:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
+#undef PACKAGE_VERSION])
+m4trace:configure.in:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
+m4trace:configure.in:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING])
+m4trace:configure.in:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
+m4trace:configure.in:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT])
+m4trace:configure.in:2: -1- AC_SUBST([DEFS])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([DEFS])
+m4trace:configure.in:2: -1- m4_pattern_allow([^DEFS$])
+m4trace:configure.in:2: -1- AC_SUBST([ECHO_C])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([ECHO_C])
+m4trace:configure.in:2: -1- m4_pattern_allow([^ECHO_C$])
+m4trace:configure.in:2: -1- AC_SUBST([ECHO_N])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([ECHO_N])
+m4trace:configure.in:2: -1- m4_pattern_allow([^ECHO_N$])
+m4trace:configure.in:2: -1- AC_SUBST([ECHO_T])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([ECHO_T])
+m4trace:configure.in:2: -1- m4_pattern_allow([^ECHO_T$])
+m4trace:configure.in:2: -1- AC_SUBST([LIBS])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([LIBS])
+m4trace:configure.in:2: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.in:2: -1- AC_SUBST([build_alias])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([build_alias])
+m4trace:configure.in:2: -1- m4_pattern_allow([^build_alias$])
+m4trace:configure.in:2: -1- AC_SUBST([host_alias])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([host_alias])
+m4trace:configure.in:2: -1- m4_pattern_allow([^host_alias$])
+m4trace:configure.in:2: -1- AC_SUBST([target_alias])
+m4trace:configure.in:2: -1- AC_SUBST_TRACE([target_alias])
+m4trace:configure.in:2: -1- m4_pattern_allow([^target_alias$])
+m4trace:configure.in:5: -1- AM_INIT_AUTOMAKE([cddlib], [0.94])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
+m4trace:configure.in:5: -1- AM_AUTOMAKE_VERSION([1.10.2])
+m4trace:configure.in:5: -1- AC_REQUIRE_AUX_FILE([install-sh])
+m4trace:configure.in:5: -1- AC_SUBST([INSTALL_PROGRAM])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
+m4trace:configure.in:5: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
+m4trace:configure.in:5: -1- AC_SUBST([INSTALL_SCRIPT])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
+m4trace:configure.in:5: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
+m4trace:configure.in:5: -1- AC_SUBST([INSTALL_DATA])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([INSTALL_DATA])
+m4trace:configure.in:5: -1- m4_pattern_allow([^INSTALL_DATA$])
+m4trace:configure.in:5: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([am__isrc])
+m4trace:configure.in:5: -1- m4_pattern_allow([^am__isrc$])
+m4trace:configure.in:5: -1- _AM_SUBST_NOTMAKE([am__isrc])
+m4trace:configure.in:5: -1- AC_SUBST([CYGPATH_W])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([CYGPATH_W])
+m4trace:configure.in:5: -1- m4_pattern_allow([^CYGPATH_W$])
+m4trace:configure.in:5: -1- AC_SUBST([PACKAGE], [cddlib])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([PACKAGE])
+m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE$])
+m4trace:configure.in:5: -1- AC_SUBST([VERSION], [0.94])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([VERSION])
+m4trace:configure.in:5: -1- m4_pattern_allow([^VERSION$])
+m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
+m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE$])
+m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
+#undef PACKAGE])
+m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
+m4trace:configure.in:5: -1- m4_pattern_allow([^VERSION$])
+m4trace:configure.in:5: -1- AH_OUTPUT([VERSION], [/* Version number of package */
+#undef VERSION])
+m4trace:configure.in:5: -1- AC_REQUIRE_AUX_FILE([missing])
+m4trace:configure.in:5: -1- AC_SUBST([ACLOCAL])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([ACLOCAL])
+m4trace:configure.in:5: -1- m4_pattern_allow([^ACLOCAL$])
+m4trace:configure.in:5: -1- AC_SUBST([AUTOCONF])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([AUTOCONF])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AUTOCONF$])
+m4trace:configure.in:5: -1- AC_SUBST([AUTOMAKE])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([AUTOMAKE])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AUTOMAKE$])
+m4trace:configure.in:5: -1- AC_SUBST([AUTOHEADER])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([AUTOHEADER])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AUTOHEADER$])
+m4trace:configure.in:5: -1- AC_SUBST([MAKEINFO])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([MAKEINFO])
+m4trace:configure.in:5: -1- m4_pattern_allow([^MAKEINFO$])
+m4trace:configure.in:5: -1- AC_SUBST([install_sh])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([install_sh])
+m4trace:configure.in:5: -1- m4_pattern_allow([^install_sh$])
+m4trace:configure.in:5: -1- AC_SUBST([STRIP])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([STRIP])
+m4trace:configure.in:5: -1- m4_pattern_allow([^STRIP$])
+m4trace:configure.in:5: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
+m4trace:configure.in:5: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
+m4trace:configure.in:5: -1- AC_REQUIRE_AUX_FILE([install-sh])
+m4trace:configure.in:5: -1- AC_SUBST([MKDIR_P])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([MKDIR_P])
+m4trace:configure.in:5: -1- m4_pattern_allow([^MKDIR_P$])
+m4trace:configure.in:5: -1- AC_SUBST([mkdir_p], ["$MKDIR_P"])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([mkdir_p])
+m4trace:configure.in:5: -1- m4_pattern_allow([^mkdir_p$])
+m4trace:configure.in:5: -1- AC_SUBST([AWK])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([AWK])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AWK$])
+m4trace:configure.in:5: -1- AC_SUBST([SET_MAKE])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([SET_MAKE])
+m4trace:configure.in:5: -1- m4_pattern_allow([^SET_MAKE$])
+m4trace:configure.in:5: -1- AC_SUBST([am__leading_dot])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([am__leading_dot])
+m4trace:configure.in:5: -1- m4_pattern_allow([^am__leading_dot$])
+m4trace:configure.in:5: -1- AC_SUBST([AMTAR])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([AMTAR])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AMTAR$])
+m4trace:configure.in:5: -1- AC_SUBST([am__tar])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([am__tar])
+m4trace:configure.in:5: -1- m4_pattern_allow([^am__tar$])
+m4trace:configure.in:5: -1- AC_SUBST([am__untar])
+m4trace:configure.in:5: -1- AC_SUBST_TRACE([am__untar])
+m4trace:configure.in:5: -1- m4_pattern_allow([^am__untar$])
+m4trace:configure.in:8: -1- AC_SUBST([CC])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:8: -1- AC_SUBST([CFLAGS])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([CFLAGS])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CFLAGS$])
+m4trace:configure.in:8: -1- AC_SUBST([LDFLAGS])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([LDFLAGS])
+m4trace:configure.in:8: -1- m4_pattern_allow([^LDFLAGS$])
+m4trace:configure.in:8: -1- AC_SUBST([LIBS])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([LIBS])
+m4trace:configure.in:8: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.in:8: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:8: -1- AC_SUBST([CC])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:8: -1- AC_SUBST([CC])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:8: -1- AC_SUBST([CC])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:8: -1- AC_SUBST([CC])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:8: -1- AC_SUBST([ac_ct_CC])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([ac_ct_CC])
+m4trace:configure.in:8: -1- m4_pattern_allow([^ac_ct_CC$])
+m4trace:configure.in:8: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([EXEEXT])
+m4trace:configure.in:8: -1- m4_pattern_allow([^EXEEXT$])
+m4trace:configure.in:8: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([OBJEXT])
+m4trace:configure.in:8: -1- m4_pattern_allow([^OBJEXT$])
+m4trace:configure.in:8: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([DEPDIR])
+m4trace:configure.in:8: -1- m4_pattern_allow([^DEPDIR$])
+m4trace:configure.in:8: -1- AC_SUBST([am__include])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([am__include])
+m4trace:configure.in:8: -1- m4_pattern_allow([^am__include$])
+m4trace:configure.in:8: -1- AC_SUBST([am__quote])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([am__quote])
+m4trace:configure.in:8: -1- m4_pattern_allow([^am__quote$])
+m4trace:configure.in:8: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+m4trace:configure.in:8: -1- AC_SUBST([AMDEP_TRUE])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([AMDEP_TRUE])
+m4trace:configure.in:8: -1- m4_pattern_allow([^AMDEP_TRUE$])
+m4trace:configure.in:8: -1- AC_SUBST([AMDEP_FALSE])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([AMDEP_FALSE])
+m4trace:configure.in:8: -1- m4_pattern_allow([^AMDEP_FALSE$])
+m4trace:configure.in:8: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
+m4trace:configure.in:8: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
+m4trace:configure.in:8: -1- AC_SUBST([AMDEPBACKSLASH])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
+m4trace:configure.in:8: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
+m4trace:configure.in:8: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
+m4trace:configure.in:8: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([CCDEPMODE])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CCDEPMODE$])
+m4trace:configure.in:8: -1- AM_CONDITIONAL([am__fastdepCC], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3])
+m4trace:configure.in:8: -1- AC_SUBST([am__fastdepCC_TRUE])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
+m4trace:configure.in:8: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
+m4trace:configure.in:8: -1- AC_SUBST([am__fastdepCC_FALSE])
+m4trace:configure.in:8: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
+m4trace:configure.in:8: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
+m4trace:configure.in:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
+m4trace:configure.in:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
+m4trace:configure.in:9: -1- AC_REQUIRE_AUX_FILE([install-sh])
+m4trace:configure.in:9: -1- AC_SUBST([INSTALL_PROGRAM])
+m4trace:configure.in:9: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
+m4trace:configure.in:9: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
+m4trace:configure.in:9: -1- AC_SUBST([INSTALL_SCRIPT])
+m4trace:configure.in:9: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
+m4trace:configure.in:9: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
+m4trace:configure.in:9: -1- AC_SUBST([INSTALL_DATA])
+m4trace:configure.in:9: -1- AC_SUBST_TRACE([INSTALL_DATA])
+m4trace:configure.in:9: -1- m4_pattern_allow([^INSTALL_DATA$])
+m4trace:configure.in:10: -1- LT_INIT
+m4trace:configure.in:10: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
+m4trace:configure.in:10: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
+m4trace:configure.in:10: -1- AC_SUBST([LIBTOOL])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([LIBTOOL])
+m4trace:configure.in:10: -1- m4_pattern_allow([^LIBTOOL$])
+m4trace:configure.in:10: -1- AC_CANONICAL_HOST
+m4trace:configure.in:10: -1- AC_CANONICAL_BUILD
+m4trace:configure.in:10: -1- AC_REQUIRE_AUX_FILE([config.sub])
+m4trace:configure.in:10: -1- AC_REQUIRE_AUX_FILE([config.guess])
+m4trace:configure.in:10: -1- AC_SUBST([build], [$ac_cv_build])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([build])
+m4trace:configure.in:10: -1- m4_pattern_allow([^build$])
+m4trace:configure.in:10: -1- AC_SUBST([build_cpu], [$[1]])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([build_cpu])
+m4trace:configure.in:10: -1- m4_pattern_allow([^build_cpu$])
+m4trace:configure.in:10: -1- AC_SUBST([build_vendor], [$[2]])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([build_vendor])
+m4trace:configure.in:10: -1- m4_pattern_allow([^build_vendor$])
+m4trace:configure.in:10: -1- AC_SUBST([build_os])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([build_os])
+m4trace:configure.in:10: -1- m4_pattern_allow([^build_os$])
+m4trace:configure.in:10: -1- AC_SUBST([host], [$ac_cv_host])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([host])
+m4trace:configure.in:10: -1- m4_pattern_allow([^host$])
+m4trace:configure.in:10: -1- AC_SUBST([host_cpu], [$[1]])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([host_cpu])
+m4trace:configure.in:10: -1- m4_pattern_allow([^host_cpu$])
+m4trace:configure.in:10: -1- AC_SUBST([host_vendor], [$[2]])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([host_vendor])
+m4trace:configure.in:10: -1- m4_pattern_allow([^host_vendor$])
+m4trace:configure.in:10: -1- AC_SUBST([host_os])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([host_os])
+m4trace:configure.in:10: -1- m4_pattern_allow([^host_os$])
+m4trace:configure.in:10: -1- AC_SUBST([SED])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([SED])
+m4trace:configure.in:10: -1- m4_pattern_allow([^SED$])
+m4trace:configure.in:10: -1- AC_SUBST([GREP])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([GREP])
+m4trace:configure.in:10: -1- m4_pattern_allow([^GREP$])
+m4trace:configure.in:10: -1- AC_SUBST([EGREP])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([EGREP])
+m4trace:configure.in:10: -1- m4_pattern_allow([^EGREP$])
+m4trace:configure.in:10: -1- AC_SUBST([FGREP])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([FGREP])
+m4trace:configure.in:10: -1- m4_pattern_allow([^FGREP$])
+m4trace:configure.in:10: -1- AC_SUBST([GREP])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([GREP])
+m4trace:configure.in:10: -1- m4_pattern_allow([^GREP$])
+m4trace:configure.in:10: -1- AC_SUBST([LD])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([LD])
+m4trace:configure.in:10: -1- m4_pattern_allow([^LD$])
+m4trace:configure.in:10: -1- AC_SUBST([DUMPBIN])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([DUMPBIN])
+m4trace:configure.in:10: -1- m4_pattern_allow([^DUMPBIN$])
+m4trace:configure.in:10: -1- AC_SUBST([ac_ct_DUMPBIN])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN])
+m4trace:configure.in:10: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
+m4trace:configure.in:10: -1- AC_SUBST([DUMPBIN])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([DUMPBIN])
+m4trace:configure.in:10: -1- m4_pattern_allow([^DUMPBIN$])
+m4trace:configure.in:10: -1- AC_SUBST([NM])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([NM])
+m4trace:configure.in:10: -1- m4_pattern_allow([^NM$])
+m4trace:configure.in:10: -1- AC_SUBST([LN_S], [$as_ln_s])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([LN_S])
+m4trace:configure.in:10: -1- m4_pattern_allow([^LN_S$])
+m4trace:configure.in:10: -1- AC_SUBST([OBJDUMP])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([OBJDUMP])
+m4trace:configure.in:10: -1- m4_pattern_allow([^OBJDUMP$])
+m4trace:configure.in:10: -1- AC_SUBST([OBJDUMP])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([OBJDUMP])
+m4trace:configure.in:10: -1- m4_pattern_allow([^OBJDUMP$])
+m4trace:configure.in:10: -1- AC_SUBST([AR])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([AR])
+m4trace:configure.in:10: -1- m4_pattern_allow([^AR$])
+m4trace:configure.in:10: -1- AC_SUBST([STRIP])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([STRIP])
+m4trace:configure.in:10: -1- m4_pattern_allow([^STRIP$])
+m4trace:configure.in:10: -1- AC_SUBST([RANLIB])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([RANLIB])
+m4trace:configure.in:10: -1- m4_pattern_allow([^RANLIB$])
+m4trace:configure.in:10: -1- m4_pattern_allow([LT_OBJDIR])
+m4trace:configure.in:10: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR])
+m4trace:configure.in:10: -1- m4_pattern_allow([^LT_OBJDIR$])
+m4trace:configure.in:10: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR])
+m4trace:configure.in:10: -1- AC_SUBST([lt_ECHO])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([lt_ECHO])
+m4trace:configure.in:10: -1- m4_pattern_allow([^lt_ECHO$])
+m4trace:configure.in:10: -1- LT_SUPPORTED_TAG([CC])
+m4trace:configure.in:10: -1- AC_SUBST([DSYMUTIL])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([DSYMUTIL])
+m4trace:configure.in:10: -1- m4_pattern_allow([^DSYMUTIL$])
+m4trace:configure.in:10: -1- AC_SUBST([NMEDIT])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([NMEDIT])
+m4trace:configure.in:10: -1- m4_pattern_allow([^NMEDIT$])
+m4trace:configure.in:10: -1- AC_SUBST([LIPO])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([LIPO])
+m4trace:configure.in:10: -1- m4_pattern_allow([^LIPO$])
+m4trace:configure.in:10: -1- AC_SUBST([OTOOL])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([OTOOL])
+m4trace:configure.in:10: -1- m4_pattern_allow([^OTOOL$])
+m4trace:configure.in:10: -1- AC_SUBST([OTOOL64])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([OTOOL64])
+m4trace:configure.in:10: -1- m4_pattern_allow([^OTOOL64$])
+m4trace:configure.in:10: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H])
+m4trace:configure.in:10: -1- AC_SUBST([CPP])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([CPP])
+m4trace:configure.in:10: -1- m4_pattern_allow([^CPP$])
+m4trace:configure.in:10: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:10: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:10: -1- AC_SUBST([CPP])
+m4trace:configure.in:10: -1- AC_SUBST_TRACE([CPP])
+m4trace:configure.in:10: -1- m4_pattern_allow([^CPP$])
+m4trace:configure.in:10: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
+m4trace:configure.in:10: -1- m4_pattern_allow([^STDC_HEADERS$])
+m4trace:configure.in:10: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS])
+m4trace:configure.in:10: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H])
+m4trace:configure.in:10: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H])
+m4trace:configure.in:10: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H])
+m4trace:configure.in:10: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H])
+m4trace:configure.in:10: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H])
+m4trace:configure.in:10: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H])
+m4trace:configure.in:10: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H])
+m4trace:configure.in:10: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H])
+m4trace:configure.in:10: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H])
+m4trace:configure.in:18: -1- AH_OUTPUT([HAVE_LIBGMP], [/* Define to 1 if you have the `gmp\' library (-lgmp). */
+#undef HAVE_LIBGMP])
+m4trace:configure.in:18: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBGMP])
+m4trace:configure.in:18: -1- m4_pattern_allow([^HAVE_LIBGMP$])
+m4trace:configure.in:21: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
+m4trace:configure.in:21: -1- m4_pattern_allow([^STDC_HEADERS$])
+m4trace:configure.in:21: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS])
+m4trace:configure.in:24: -1- AC_DEFINE_TRACE_LITERAL([const])
+m4trace:configure.in:24: -1- m4_pattern_allow([^const$])
+m4trace:configure.in:24: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
+#undef const])
+m4trace:configure.in:28: -1- AC_CONFIG_FILES([lib-src/Makefile src/Makefile lib-src-gmp/Makefile src-gmp/Makefile Makefile])
+m4trace:configure.in:29: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:29: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:29: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([LTLIBOBJS])
+m4trace:configure.in:29: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([top_builddir])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([top_build_prefix])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([srcdir])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([abs_srcdir])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([top_srcdir])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([abs_top_srcdir])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([builddir])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([abs_builddir])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([abs_top_builddir])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([INSTALL])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([MKDIR_P])
+m4trace:configure.in:29: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
diff --git a/third_party/cddlib/autom4te.cache/traces.1 b/third_party/cddlib/autom4te.cache/traces.1
new file mode 100644
index 0000000..a6e48f2
--- /dev/null
+++ b/third_party/cddlib/autom4te.cache/traces.1
@@ -0,0 +1,2231 @@
+m4trace:/sw/share/aclocal/argz.m4:12: -1- AC_DEFUN([gl_FUNC_ARGZ], [gl_PREREQ_ARGZ
+
+AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT])
+
+AC_CHECK_TYPES([error_t],
+  [],
+  [AC_DEFINE([error_t], [int],
+   [Define to a type to use for `error_t' if it is not otherwise available.])
+   AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h
+    does not typedef error_t.])],
+  [#if defined(HAVE_ARGZ_H)
+#  include <argz.h>
+#endif])
+
+ARGZ_H=
+AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \
+	argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])])
+
+dnl if have system argz functions, allow forced use of
+dnl libltdl-supplied implementation (and default to do so
+dnl on "known bad" systems). Could use a runtime check, but
+dnl (a) detecting malloc issues is notoriously unreliable
+dnl (b) only known system that declares argz functions,
+dnl     provides them, yet they are broken, is cygwin
+dnl     releases prior to 16-Mar-2007 (1.5.24 and earlier)
+dnl So, it's more straightforward simply to special case
+dnl this for known bad systems.
+AS_IF([test -z "$ARGZ_H"],
+    [AC_CACHE_CHECK(
+        [if argz actually works],
+        [lt_cv_sys_argz_works],
+        [[case $host_os in #(
+	 *cygwin*)
+	   lt_cv_sys_argz_works=no
+	   if test "$cross_compiling" != no; then
+	     lt_cv_sys_argz_works="guessing no"
+	   else
+	     lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/'
+	     save_IFS=$IFS
+	     IFS=-.
+	     set x `uname -r | sed -e "$lt_sed_extract_leading_digits"`
+	     IFS=$save_IFS
+	     lt_os_major=${2-0}
+	     lt_os_minor=${3-0}
+	     lt_os_micro=${4-0}
+	     if test "$lt_os_major" -gt 1 \
+		|| { test "$lt_os_major" -eq 1 \
+		  && { test "$lt_os_minor" -gt 5 \
+		    || { test "$lt_os_minor" -eq 5 \
+		      && test "$lt_os_micro" -gt 24; }; }; }; then
+	       lt_cv_sys_argz_works=yes
+	     fi
+	   fi
+	   ;; #(
+	 *) lt_cv_sys_argz_works=yes ;;
+	 esac]])
+     AS_IF([test $lt_cv_sys_argz_works = yes],
+        [AC_DEFINE([HAVE_WORKING_ARGZ], 1,
+                   [This value is set to 1 to indicate that the system argz facility works])],
+        [ARGZ_H=argz.h
+        AC_LIBOBJ([argz])])])
+
+AC_SUBST([ARGZ_H])
+])
+m4trace:/sw/share/aclocal/argz.m4:79: -1- AC_DEFUN([gl_PREREQ_ARGZ], [:])
+m4trace:/sw/share/aclocal/libtool.m4:67: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])
+m4trace:/sw/share/aclocal/libtool.m4:102: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:102: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_INIT], [LT_INIT($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:103: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:103: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_INIT], [LT_INIT($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:562: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure.  Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+  lt_cl_success=:
+  test "$silent" = yes &&
+    lt_config_lt_args="$lt_config_lt_args --quiet"
+  exec AS_MESSAGE_LOG_FD>/dev/null
+  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+  exec AS_MESSAGE_LOG_FD>>config.log
+  $lt_cl_success || AS_EXIT(1)
+fi
+])
+m4trace:/sw/share/aclocal/libtool.m4:757: -1- AC_DEFUN([LT_SUPPORTED_TAG], [])
+m4trace:/sw/share/aclocal/libtool.m4:768: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],			[_LT_LANG(C)],
+  [C++],		[_LT_LANG(CXX)],
+  [Java],		[_LT_LANG(GCJ)],
+  [Fortran 77],		[_LT_LANG(F77)],
+  [Fortran],		[_LT_LANG(FC)],
+  [Windows Resource],	[_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])
+m4trace:/sw/share/aclocal/libtool.m4:830: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+m4trace:/sw/share/aclocal/libtool.m4:830: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete.
+You should run autoupdate.])dnl
+LT_LANG(C++)])
+m4trace:/sw/share/aclocal/libtool.m4:831: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+m4trace:/sw/share/aclocal/libtool.m4:831: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete.
+You should run autoupdate.])dnl
+LT_LANG(Fortran 77)])
+m4trace:/sw/share/aclocal/libtool.m4:832: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+m4trace:/sw/share/aclocal/libtool.m4:832: -1- AC_DEFUN([AC_LIBTOOL_FC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete.
+You should run autoupdate.])dnl
+LT_LANG(Fortran)])
+m4trace:/sw/share/aclocal/libtool.m4:833: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+m4trace:/sw/share/aclocal/libtool.m4:833: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete.
+You should run autoupdate.])dnl
+LT_LANG(Java)])
+m4trace:/sw/share/aclocal/libtool.m4:1402: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])
+m4trace:/sw/share/aclocal/libtool.m4:1444: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:1444: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:1453: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])
+m4trace:/sw/share/aclocal/libtool.m4:1488: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:1488: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:1495: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])
+m4trace:/sw/share/aclocal/libtool.m4:1623: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:1623: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:1724: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen="dlopen"],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+	  lt_cv_dlopen_self_static, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+	 [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+	 [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+	 [Whether dlopen of statically linked programs is supported])
+])
+m4trace:/sw/share/aclocal/libtool.m4:1841: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:1841: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:2729: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+	case $deplibs_check_method in
+	"file_magic "*)
+	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+	    $EGREP "$file_magic_regex" > /dev/null; then
+	    :
+	  else
+	    cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+	  fi ;;
+	esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])
+m4trace:/sw/share/aclocal/libtool.m4:2791: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:2791: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_DIAGNOSE([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:2814: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+	test "$with_gnu_ld" != no && break
+	;;
+      *)
+	test "$with_gnu_ld" != yes && break
+	;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])
+m4trace:/sw/share/aclocal/libtool.m4:2902: -1- AU_DEFUN([AM_PROG_LD], [m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:2902: -1- AC_DEFUN([AM_PROG_LD], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LD' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:2903: -1- AU_DEFUN([AC_PROG_LD], [m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:2903: -1- AC_DEFUN([AC_PROG_LD], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LD' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_PATH_LD], [LT_PATH_LD($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:3167: -1- AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+	# Check to see if the nm accepts a BSD-compat flag.
+	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
+	#   nm: unknown option "B" ignored
+	# Tru64's nm complains that /dev/null is an invalid object file
+	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+	*/dev/null* | *'Invalid file or object type'*)
+	  lt_cv_path_NM="$tmp_nm -B"
+	  break
+	  ;;
+	*)
+	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+	  */dev/null*)
+	    lt_cv_path_NM="$tmp_nm -p"
+	    break
+	    ;;
+	  *)
+	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+	    continue # so that we can try to find one that supports BSD flags
+	    ;;
+	  esac
+	  ;;
+	esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  AC_SUBST([DUMPBIN])
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+  [lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])
+m4trace:/sw/share/aclocal/libtool.m4:3245: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:3245: -1- AC_DEFUN([AM_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_NM' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:3246: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:3246: -1- AC_DEFUN([AC_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_NM' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:3255: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+AC_SUBST([LIBM])
+])
+m4trace:/sw/share/aclocal/libtool.m4:3274: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:3274: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_DIAGNOSE([obsolete], [The macro `AC_CHECK_LIBM' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:6967: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+m4trace:/sw/share/aclocal/libtool.m4:6976: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:6976: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:6983: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,)
+])
+m4trace:/sw/share/aclocal/libtool.m4:6988: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:6988: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_RC' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:7099: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])])
+m4trace:/sw/share/aclocal/libtool.m4:7099: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_SED' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:16: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT])
+_$0($*)
+])
+m4trace:/sw/share/aclocal/ltdl.m4:68: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl
+dnl Although the argument is deprecated and no longer documented,
+dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one
+dnl here make sure it is the same as any other declaration of libltdl's
+dnl location!  This also ensures lt_ltdl_dir is set when configure.ac is
+dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
+m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
+_$0()
+])
+m4trace:/sw/share/aclocal/ltdl.m4:81: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
+_LTDL_CONVENIENCE])
+m4trace:/sw/share/aclocal/ltdl.m4:81: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete.
+You should run autoupdate.])dnl
+_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
+_LTDL_CONVENIENCE])
+m4trace:/sw/share/aclocal/ltdl.m4:124: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl
+dnl Although the argument is deprecated and no longer documented,
+dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one
+dnl here make sure it is the same as any other declaration of libltdl's
+dnl location!  This also ensures lt_ltdl_dir is set when configure.ac is
+dnl not yet using an explicit LT_CONFIG_LTDL_DIR.
+m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl
+_$0()
+])
+m4trace:/sw/share/aclocal/ltdl.m4:137: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
+_LTDL_INSTALLABLE])
+m4trace:/sw/share/aclocal/ltdl.m4:137: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete.
+You should run autoupdate.])dnl
+_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])])
+_LTDL_INSTALLABLE])
+m4trace:/sw/share/aclocal/ltdl.m4:213: -1- AC_DEFUN([_LT_LIBOBJ], [
+  m4_pattern_allow([^_LT_LIBOBJS$])
+  _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext"
+])
+m4trace:/sw/share/aclocal/ltdl.m4:226: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+dnl We need to keep our own list of libobjs separate from our parent project,
+dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while
+dnl we look for our own LIBOBJs.
+m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ]))
+m4_pushdef([AC_LIBSOURCES])
+
+dnl If not otherwise defined, default to the 1.5.x compatible subproject mode:
+m4_if(_LTDL_MODE, [],
+        [m4_define([_LTDL_MODE], m4_default([$2], [subproject]))
+        m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])],
+                [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])
+
+AC_ARG_WITH([included_ltdl],
+    [AS_HELP_STRING([--with-included-ltdl],
+                    [use the GNU ltdl sources included here])])
+
+if test "x$with_included_ltdl" != xyes; then
+  # We are not being forced to use the included libltdl sources, so
+  # decide whether there is a useful installed version we can use.
+  AC_CHECK_HEADER([ltdl.h],
+      [AC_CHECK_DECL([lt_dlinterface_register],
+	   [AC_CHECK_LIB([ltdl], [lt_dladvise_preload],
+	       [with_included_ltdl=no],
+	       [with_included_ltdl=yes])],
+	   [with_included_ltdl=yes],
+	   [AC_INCLUDES_DEFAULT
+	    #include <ltdl.h>])],
+      [with_included_ltdl=yes],
+      [AC_INCLUDES_DEFAULT]
+  )
+fi
+
+dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE
+dnl was called yet, then for old times' sake, we assume libltdl is in an
+dnl eponymous directory:
+AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])])
+
+AC_ARG_WITH([ltdl_include],
+    [AS_HELP_STRING([--with-ltdl-include=DIR],
+                    [use the ltdl headers installed in DIR])])
+
+if test -n "$with_ltdl_include"; then
+  if test -f "$with_ltdl_include/ltdl.h"; then :
+  else
+    AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include'])
+  fi
+else
+  with_ltdl_include=no
+fi
+
+AC_ARG_WITH([ltdl_lib],
+    [AS_HELP_STRING([--with-ltdl-lib=DIR],
+                    [use the libltdl.la installed in DIR])])
+
+if test -n "$with_ltdl_lib"; then
+  if test -f "$with_ltdl_lib/libltdl.la"; then :
+  else
+    AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib'])
+  fi
+else
+  with_ltdl_lib=no
+fi
+
+case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in
+  ,yes,no,no,)
+	m4_case(m4_default(_LTDL_TYPE, [convenience]),
+	    [convenience], [_LTDL_CONVENIENCE],
+	    [installable], [_LTDL_INSTALLABLE],
+	  [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)])
+	;;
+  ,no,no,no,)
+	# If the included ltdl is not to be used, then use the
+	# preinstalled libltdl we found.
+	AC_DEFINE([HAVE_LTDL], [1],
+	  [Define this if a modern libltdl is already installed])
+	LIBLTDL=-lltdl
+	LTDLDEPS=
+	LTDLINCL=
+	;;
+  ,no*,no,*)
+	AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together])
+	;;
+  *)	with_included_ltdl=no
+	LIBLTDL="-L$with_ltdl_lib -lltdl"
+	LTDLDEPS=
+	LTDLINCL="-I$with_ltdl_include"
+	;;
+esac
+INCLTDL="$LTDLINCL"
+
+# Report our decision...
+AC_MSG_CHECKING([where to find libltdl headers])
+AC_MSG_RESULT([$LTDLINCL])
+AC_MSG_CHECKING([where to find libltdl library])
+AC_MSG_RESULT([$LIBLTDL])
+
+_LTDL_SETUP
+
+dnl restore autoconf definition.
+m4_popdef([AC_LIBOBJ])
+m4_popdef([AC_LIBSOURCES])
+
+AC_CONFIG_COMMANDS_PRE([
+    _ltdl_libobjs=
+    _ltdl_ltlibobjs=
+    if test -n "$_LT_LIBOBJS"; then
+      # Remove the extension.
+      _lt_sed_drop_objext='s/\.o$//;s/\.obj$//'
+      for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do
+        _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext"
+        _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo"
+      done
+    fi
+    AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs])
+    AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs])
+])
+
+# Only expand once:
+m4_define([LTDL_INIT])
+])
+m4trace:/sw/share/aclocal/ltdl.m4:352: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)])
+m4trace:/sw/share/aclocal/ltdl.m4:352: -1- AC_DEFUN([AC_LIB_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIB_LTDL' is obsolete.
+You should run autoupdate.])dnl
+LTDL_INIT($@)])
+m4trace:/sw/share/aclocal/ltdl.m4:353: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)])
+m4trace:/sw/share/aclocal/ltdl.m4:353: -1- AC_DEFUN([AC_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_WITH_LTDL' is obsolete.
+You should run autoupdate.])dnl
+LTDL_INIT($@)])
+m4trace:/sw/share/aclocal/ltdl.m4:354: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)])
+m4trace:/sw/share/aclocal/ltdl.m4:354: -1- AC_DEFUN([LT_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `LT_WITH_LTDL' is obsolete.
+You should run autoupdate.])dnl
+LTDL_INIT($@)])
+m4trace:/sw/share/aclocal/ltdl.m4:367: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_SYS_MODULE_EXT])dnl
+AC_REQUIRE([LT_SYS_MODULE_PATH])dnl
+AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl
+AC_REQUIRE([LT_LIB_DLLOAD])dnl
+AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
+AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl
+AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl
+AC_REQUIRE([gl_FUNC_ARGZ])dnl
+
+m4_require([_LT_CHECK_OBJDIR])dnl
+m4_require([_LT_HEADER_DLFCN])dnl
+m4_require([_LT_CHECK_DLPREOPEN])dnl
+m4_require([_LT_DECL_SED])dnl
+
+dnl Don't require this, or it will be expanded earlier than the code
+dnl that sets the variables it relies on:
+_LT_ENABLE_INSTALL
+
+dnl _LTDL_MODE specific code must be called at least once:
+_LTDL_MODE_DISPATCH
+
+# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS
+# the user used.  This is so that ltdl.h can pick up the parent projects
+# config.h file, The first file in AC_CONFIG_HEADERS must contain the
+# definitions required by ltdl.c.
+# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility).
+AC_CONFIG_COMMANDS_PRE([dnl
+m4_pattern_allow([^LT_CONFIG_H$])dnl
+m4_ifset([AH_HEADER],
+    [LT_CONFIG_H=AH_HEADER],
+    [m4_ifset([AC_LIST_HEADERS],
+	    [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[      ]]*,,;s,[[ :]].*$,,'`],
+	[])])])
+AC_SUBST([LT_CONFIG_H])
+
+AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h],
+	[], [], [AC_INCLUDES_DEFAULT])
+
+AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
+AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])])
+
+AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension])
+
+name=ltdl
+LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""`
+AC_SUBST([LTDLOPEN])
+])
+m4trace:/sw/share/aclocal/ltdl.m4:437: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
+  [lt_cv_sys_dlopen_deplibs],
+  [# PORTME does your system automatically load deplibs for dlopen?
+  # or its logical equivalent (e.g. shl_load for HP-UX < 11)
+  # For now, we just catch OSes we know something about -- in the
+  # future, we'll try test this programmatically.
+  lt_cv_sys_dlopen_deplibs=unknown
+  case $host_os in
+  aix3*|aix4.1.*|aix4.2.*)
+    # Unknown whether this is true for these versions of AIX, but
+    # we want this `case' here to explicitly catch those versions.
+    lt_cv_sys_dlopen_deplibs=unknown
+    ;;
+  aix[[4-9]]*)
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  amigaos*)
+    case $host_cpu in
+    powerpc)
+      lt_cv_sys_dlopen_deplibs=no
+      ;;
+    esac
+    ;;
+  darwin*)
+    # Assuming the user has installed a libdl from somewhere, this is true
+    # If you are looking for one http://www.opendarwin.org/projects/dlcompat
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  freebsd* | dragonfly*)
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  gnu* | linux* | k*bsd*-gnu)
+    # GNU and its variants, using gnu ld.so (Glibc)
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  hpux10*|hpux11*)
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  interix*)
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  irix[[12345]]*|irix6.[[01]]*)
+    # Catch all versions of IRIX before 6.2, and indicate that we don't
+    # know how it worked for any of those versions.
+    lt_cv_sys_dlopen_deplibs=unknown
+    ;;
+  irix*)
+    # The case above catches anything before 6.2, and it's known that
+    # at 6.2 and later dlopen does load deplibs.
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  netbsd*)
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  openbsd*)
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  osf[[1234]]*)
+    # dlopen did load deplibs (at least at 4.x), but until the 5.x series,
+    # it did *not* use an RPATH in a shared library to find objects the
+    # library depends on, so we explicitly say `no'.
+    lt_cv_sys_dlopen_deplibs=no
+    ;;
+  osf5.0|osf5.0a|osf5.1)
+    # dlopen *does* load deplibs and with the right loader patch applied
+    # it even uses RPATH in a shared library to search for shared objects
+    # that the library depends on, but there's no easy way to know if that
+    # patch is installed.  Since this is the case, all we can really
+    # say is unknown -- it depends on the patch being installed.  If
+    # it is, this changes to `yes'.  Without it, it would be `no'.
+    lt_cv_sys_dlopen_deplibs=unknown
+    ;;
+  osf*)
+    # the two cases above should catch all versions of osf <= 5.1.  Read
+    # the comments above for what we know about them.
+    # At > 5.1, deplibs are loaded *and* any RPATH in a shared library
+    # is used to find them so we can finally say `yes'.
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  qnx*)
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  solaris*)
+    lt_cv_sys_dlopen_deplibs=yes
+    ;;
+  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+    libltdl_cv_sys_dlopen_deplibs=yes
+    ;;
+  esac
+  ])
+if test "$lt_cv_sys_dlopen_deplibs" != yes; then
+ AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1],
+    [Define if the OS needs help to load dependent libraries for dlopen().])
+fi
+])
+m4trace:/sw/share/aclocal/ltdl.m4:536: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:536: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:543: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
+AC_CACHE_CHECK([which extension is used for runtime loadable modules],
+  [libltdl_cv_shlibext],
+[
+module=yes
+eval libltdl_cv_shlibext=$shrext_cmds
+  ])
+if test -n "$libltdl_cv_shlibext"; then
+  m4_pattern_allow([LT_MODULE_EXT])dnl
+  AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"],
+    [Define to the extension used for runtime loadable modules, say, ".so".])
+fi
+])
+m4trace:/sw/share/aclocal/ltdl.m4:559: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:559: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:566: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
+AC_CACHE_CHECK([which variable specifies run-time module search path],
+  [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"])
+if test -n "$lt_cv_module_path_var"; then
+  m4_pattern_allow([LT_MODULE_PATH_VAR])dnl
+  AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"],
+    [Define to the name of the environment variable that determines the run-time module search path.])
+fi
+])
+m4trace:/sw/share/aclocal/ltdl.m4:578: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:578: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:585: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl
+AC_CACHE_CHECK([for the default library search path],
+  [lt_cv_sys_dlsearch_path],
+  [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"])
+if test -n "$lt_cv_sys_dlsearch_path"; then
+  sys_dlsearch_path=
+  for dir in $lt_cv_sys_dlsearch_path; do
+    if test -z "$sys_dlsearch_path"; then
+      sys_dlsearch_path="$dir"
+    else
+      sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir"
+    fi
+  done
+  m4_pattern_allow([LT_DLSEARCH_PATH])dnl
+  AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"],
+    [Define to the system default library search path.])
+fi
+])
+m4trace:/sw/share/aclocal/ltdl.m4:606: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:606: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:632: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$])
+LT_DLLOADERS=
+AC_SUBST([LT_DLLOADERS])
+
+AC_LANG_PUSH([C])
+
+LIBADD_DLOPEN=
+AC_SEARCH_LIBS([dlopen], [dl],
+	[AC_DEFINE([HAVE_LIBDL], [1],
+		   [Define if you have the libdl library or equivalent.])
+	if test "$ac_cv_search_dlopen" != "none required" ; then
+	  LIBADD_DLOPEN="-ldl"
+	fi
+	libltdl_cv_lib_dl_dlopen="yes"
+	LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
+    [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H
+#  include <dlfcn.h>
+#endif
+    ]], [[dlopen(0, 0);]])],
+	    [AC_DEFINE([HAVE_LIBDL], [1],
+		       [Define if you have the libdl library or equivalent.])
+	    libltdl_cv_func_dlopen="yes"
+	    LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"],
+	[AC_CHECK_LIB([svld], [dlopen],
+		[AC_DEFINE([HAVE_LIBDL], [1],
+			 [Define if you have the libdl library or equivalent.])
+	        LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes"
+		LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])])
+if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
+then
+  lt_save_LIBS="$LIBS"
+  LIBS="$LIBS $LIBADD_DLOPEN"
+  AC_CHECK_FUNCS([dlerror])
+  LIBS="$lt_save_LIBS"
+fi
+AC_SUBST([LIBADD_DLOPEN])
+
+LIBADD_SHL_LOAD=
+AC_CHECK_FUNC([shl_load],
+	[AC_DEFINE([HAVE_SHL_LOAD], [1],
+		   [Define if you have the shl_load function.])
+	LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"],
+    [AC_CHECK_LIB([dld], [shl_load],
+	    [AC_DEFINE([HAVE_SHL_LOAD], [1],
+		       [Define if you have the shl_load function.])
+	    LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"
+	    LIBADD_SHL_LOAD="-ldld"])])
+AC_SUBST([LIBADD_SHL_LOAD])
+
+case $host_os in
+darwin[[1567]].*)
+# We only want this for pre-Mac OS X 10.4.
+  AC_CHECK_FUNC([_dyld_func_lookup],
+	[AC_DEFINE([HAVE_DYLD], [1],
+		   [Define if you have the _dyld_func_lookup function.])
+	LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"])
+  ;;
+beos*)
+  LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la"
+  ;;
+cygwin* | mingw* | os2* | pw32*)
+  AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include <sys/cygwin.h>]])
+  LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la"
+  ;;
+esac
+
+AC_CHECK_LIB([dld], [dld_link],
+	[AC_DEFINE([HAVE_DLD], [1],
+		   [Define if you have the GNU dld library.])
+		LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"])
+AC_SUBST([LIBADD_DLD_LINK])
+
+m4_pattern_allow([^LT_DLPREOPEN$])
+LT_DLPREOPEN=
+if test -n "$LT_DLLOADERS"
+then
+  for lt_loader in $LT_DLLOADERS; do
+    LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader "
+  done
+  AC_DEFINE([HAVE_LIBDLLOADER], [1],
+            [Define if libdlloader will be built on this platform])
+fi
+AC_SUBST([LT_DLPREOPEN])
+
+dnl This isn't used anymore, but set it for backwards compatibility
+LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD"
+AC_SUBST([LIBADD_DL])
+
+AC_LANG_POP
+])
+m4trace:/sw/share/aclocal/ltdl.m4:725: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:725: -1- AC_DEFUN([AC_LTDL_DLLIB], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:733: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+AC_CACHE_CHECK([for _ prefix in compiled symbols],
+  [lt_cv_sys_symbol_underscore],
+  [lt_cv_sys_symbol_underscore=no
+  cat > conftest.$ac_ext <<_LT_EOF
+void nm_test_func(){}
+int main(){nm_test_func;return 0;}
+_LT_EOF
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    ac_nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then
+      # See whether the symbols have a leading underscore.
+      if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then
+        lt_cv_sys_symbol_underscore=yes
+      else
+        if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then
+	  :
+        else
+	  echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD
+        fi
+      fi
+    else
+      echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.c >&AS_MESSAGE_LOG_FD
+  fi
+  rm -rf conftest*
+  ])
+  sys_symbol_underscore=$lt_cv_sys_symbol_underscore
+  AC_SUBST([sys_symbol_underscore])
+])
+m4trace:/sw/share/aclocal/ltdl.m4:770: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:770: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:777: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl
+if test x"$lt_cv_sys_symbol_underscore" = xyes; then
+  if test x"$libltdl_cv_func_dlopen" = xyes ||
+     test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then
+	AC_CACHE_CHECK([whether we have to add an underscore for dlsym],
+	  [libltdl_cv_need_uscore],
+	  [libltdl_cv_need_uscore=unknown
+          save_LIBS="$LIBS"
+          LIBS="$LIBS $LIBADD_DLOPEN"
+	  _LT_TRY_DLOPEN_SELF(
+	    [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes],
+	    [],				 [libltdl_cv_need_uscore=cross])
+	  LIBS="$save_LIBS"
+	])
+  fi
+fi
+
+if test x"$libltdl_cv_need_uscore" = xyes; then
+  AC_DEFINE([NEED_USCORE], [1],
+    [Define if dlsym() requires a leading underscore in symbol names.])
+fi
+])
+m4trace:/sw/share/aclocal/ltdl.m4:802: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])])
+m4trace:/sw/share/aclocal/ltdl.m4:802: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete.
+You should run autoupdate.])dnl
+m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])])
+m4trace:/sw/share/aclocal/ltoptions.m4:13: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+m4trace:/sw/share/aclocal/ltoptions.m4:110: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:110: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete.
+You should run autoupdate.])dnl
+_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:145: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:145: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete.
+You should run autoupdate.])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:194: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:198: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:202: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+m4trace:/sw/share/aclocal/ltoptions.m4:202: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete.
+You should run autoupdate.])dnl
+AC_ENABLE_SHARED($@)])
+m4trace:/sw/share/aclocal/ltoptions.m4:203: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+m4trace:/sw/share/aclocal/ltoptions.m4:203: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete.
+You should run autoupdate.])dnl
+AC_DISABLE_SHARED($@)])
+m4trace:/sw/share/aclocal/ltoptions.m4:248: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:252: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:256: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+m4trace:/sw/share/aclocal/ltoptions.m4:256: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete.
+You should run autoupdate.])dnl
+AC_ENABLE_STATIC($@)])
+m4trace:/sw/share/aclocal/ltoptions.m4:257: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+m4trace:/sw/share/aclocal/ltoptions.m4:257: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete.
+You should run autoupdate.])dnl
+AC_DISABLE_STATIC($@)])
+m4trace:/sw/share/aclocal/ltoptions.m4:302: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:302: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete.
+You should run autoupdate.])dnl
+_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:309: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:309: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete.
+You should run autoupdate.])dnl
+_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:342: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+m4trace:/sw/share/aclocal/ltoptions.m4:342: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete.
+You should run autoupdate.])dnl
+_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+m4trace:/sw/share/aclocal/ltsugar.m4:13: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+m4trace:/sw/share/aclocal/ltversion.m4:18: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.2.6b'
+macro_revision='1.3017'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:36: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:40: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_SHELL_INIT])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:44: -1- AC_DEFUN([_LT_AC_TAGVAR])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:45: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_PREOPEN])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:47: -1- AC_DEFUN([_LT_AC_SYS_COMPILER])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_LOCK])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:49: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:50: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:51: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LTDL_OBJDIR])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:57: -1- AC_DEFUN([AC_PATH_MAGIC])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PROG_LD_GNU])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:60: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:61: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:66: -1- AC_DEFUN([LT_AC_PROG_EGREP])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:71: -1- AC_DEFUN([_AC_PROG_LIBTOOL])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:72: -1- AC_DEFUN([AC_LIBTOOL_SETUP])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:73: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:74: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:75: -1- AC_DEFUN([_LT_AC_TAGCONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:77: -1- AC_DEFUN([_LT_AC_LANG_CXX])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_F77])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_GCJ])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:80: -1- AC_DEFUN([AC_LIBTOOL_RC])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG])
+m4trace:/sw/share/aclocal/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C])
+m4trace:/sw/share/aclocal-1.10/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.10.2], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+m4trace:/sw/share/aclocal-1.10/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10.2])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+m4trace:/sw/share/aclocal-1.10/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+m4trace:/sw/share/aclocal-1.10/cond.m4:15: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+m4trace:/sw/share/aclocal-1.10/depend.m4:28: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+m4trace:/sw/share/aclocal-1.10/depend.m4:139: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+m4trace:/sw/share/aclocal-1.10/depend.m4:147: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+m4trace:/sw/share/aclocal-1.10/depout.m4:14: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [# Autoconf 2.62 quotes --file arguments for eval, but not when files
+# are listed without --file.  Let's play safe and only enable the eval
+# if we detect the quoting.
+case $CONFIG_FILES in
+*\'*) eval set x "$CONFIG_FILES" ;;
+*)   set x $CONFIG_FILES ;;
+esac
+shift
+for mf
+do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # Grep'ing the whole file is not good either: AIX grep has a line
+  # limit of 2048, but all sed's we know have understand at least 4000.
+  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])
+m4trace:/sw/share/aclocal-1.10/depout.m4:73: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+m4trace:/sw/share/aclocal-1.10/init.m4:26: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+                  [_AM_DEPENDENCIES(OBJC)],
+                  [define([AC_PROG_OBJC],
+                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+m4trace:/sw/share/aclocal-1.10/init.m4:113: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+m4trace:/sw/share/aclocal-1.10/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+m4trace:/sw/share/aclocal-1.10/lead-dot.m4:12: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+m4trace:/sw/share/aclocal-1.10/make.m4:14: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+m4trace:/sw/share/aclocal-1.10/missing.m4:14: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+m4trace:/sw/share/aclocal-1.10/missing.m4:24: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+m4trace:/sw/share/aclocal-1.10/mkdirp.m4:11: -1- AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+m4trace:/sw/share/aclocal-1.10/options.m4:13: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+m4trace:/sw/share/aclocal-1.10/options.m4:19: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+m4trace:/sw/share/aclocal-1.10/options.m4:25: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+m4trace:/sw/share/aclocal-1.10/options.m4:31: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+m4trace:/sw/share/aclocal-1.10/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+m4trace:/sw/share/aclocal-1.10/sanity.m4:14: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+m4trace:/sw/share/aclocal-1.10/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+m4trace:/sw/share/aclocal-1.10/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE])
+m4trace:/sw/share/aclocal-1.10/tar.m4:24: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+])
+m4trace:configure.in:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
+m4trace:configure.in:2: -1- m4_pattern_forbid([_AC_])
+m4trace:configure.in:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
+m4trace:configure.in:2: -1- m4_pattern_allow([^AS_FLAGS$])
+m4trace:configure.in:2: -1- m4_pattern_forbid([^_?m4_])
+m4trace:configure.in:2: -1- m4_pattern_forbid([^dnl$])
+m4trace:configure.in:2: -1- m4_pattern_forbid([^_?AS_])
+m4trace:configure.in:2: -1- m4_pattern_allow([^SHELL$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PATH_SEPARATOR$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^exec_prefix$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^prefix$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^program_transform_name$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^bindir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^sbindir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^libexecdir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^datarootdir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^datadir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^sysconfdir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^sharedstatedir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^localstatedir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^includedir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^oldincludedir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^docdir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^infodir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^htmldir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^dvidir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^pdfdir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^psdir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^libdir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^localedir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^mandir$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_NAME$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_VERSION$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_STRING$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^DEFS$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^ECHO_C$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^ECHO_N$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^ECHO_T$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^build_alias$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^host_alias$])
+m4trace:configure.in:2: -1- m4_pattern_allow([^target_alias$])
+m4trace:configure.in:5: -1- AM_INIT_AUTOMAKE([cddlib], [0.94])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
+m4trace:configure.in:5: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
+m4trace:configure.in:5: -1- AM_AUTOMAKE_VERSION([1.10.2])
+m4trace:configure.in:5: -1- _AM_AUTOCONF_VERSION([2.63])
+m4trace:configure.in:5: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^INSTALL_DATA$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^am__isrc$])
+m4trace:configure.in:5: -1- _AM_SUBST_NOTMAKE([am__isrc])
+m4trace:configure.in:5: -1- m4_pattern_allow([^CYGPATH_W$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^VERSION$])
+m4trace:configure.in:5: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
+m4trace:configure.in:5: -2- _AM_MANGLE_OPTION([no-define])
+m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^VERSION$])
+m4trace:configure.in:5: -1- AM_SANITY_CHECK
+m4trace:configure.in:5: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+m4trace:configure.in:5: -1- AM_MISSING_HAS_RUN
+m4trace:configure.in:5: -1- AM_AUX_DIR_EXPAND
+m4trace:configure.in:5: -1- m4_pattern_allow([^ACLOCAL$])
+m4trace:configure.in:5: -1- AM_MISSING_PROG([AUTOCONF], [autoconf])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AUTOCONF$])
+m4trace:configure.in:5: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AUTOMAKE$])
+m4trace:configure.in:5: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AUTOHEADER$])
+m4trace:configure.in:5: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo])
+m4trace:configure.in:5: -1- m4_pattern_allow([^MAKEINFO$])
+m4trace:configure.in:5: -1- AM_PROG_INSTALL_SH
+m4trace:configure.in:5: -1- m4_pattern_allow([^install_sh$])
+m4trace:configure.in:5: -1- AM_PROG_INSTALL_STRIP
+m4trace:configure.in:5: -1- m4_pattern_allow([^STRIP$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
+m4trace:configure.in:5: -1- AM_PROG_MKDIR_P
+m4trace:configure.in:5: -1- m4_pattern_allow([^MKDIR_P$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^mkdir_p$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AWK$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^SET_MAKE$])
+m4trace:configure.in:5: -1- AM_SET_LEADING_DOT
+m4trace:configure.in:5: -1- m4_pattern_allow([^am__leading_dot$])
+m4trace:configure.in:5: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+m4trace:configure.in:5: -2- _AM_MANGLE_OPTION([tar-ustar])
+m4trace:configure.in:5: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])
+m4trace:configure.in:5: -2- _AM_MANGLE_OPTION([tar-pax])
+m4trace:configure.in:5: -1- _AM_PROG_TAR([v7])
+m4trace:configure.in:5: -1- AM_MISSING_PROG([AMTAR], [tar])
+m4trace:configure.in:5: -1- m4_pattern_allow([^AMTAR$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^am__tar$])
+m4trace:configure.in:5: -1- m4_pattern_allow([^am__untar$])
+m4trace:configure.in:5: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+                  [_AM_DEPENDENCIES(OBJC)],
+                  [define([AC_PROG_OBJC],
+                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+m4trace:configure.in:5: -2- _AM_MANGLE_OPTION([no-dependencies])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CFLAGS$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^LDFLAGS$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^ac_ct_CC$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^EXEEXT$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^OBJEXT$])
+m4trace:configure.in:8: -1- _AM_DEPENDENCIES([CC])
+m4trace:configure.in:8: -1- AM_SET_DEPDIR
+m4trace:configure.in:8: -1- m4_pattern_allow([^DEPDIR$])
+m4trace:configure.in:8: -1- AM_OUTPUT_DEPENDENCY_COMMANDS
+m4trace:configure.in:8: -1- AM_MAKE_INCLUDE
+m4trace:configure.in:8: -1- m4_pattern_allow([^am__include$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^am__quote$])
+m4trace:configure.in:8: -1- AM_DEP_TRACK
+m4trace:configure.in:8: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+m4trace:configure.in:8: -1- m4_pattern_allow([^AMDEP_TRUE$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^AMDEP_FALSE$])
+m4trace:configure.in:8: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
+m4trace:configure.in:8: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
+m4trace:configure.in:8: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
+m4trace:configure.in:8: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
+m4trace:configure.in:8: -1- m4_pattern_allow([^CCDEPMODE$])
+m4trace:configure.in:8: -1- AM_CONDITIONAL([am__fastdepCC], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3])
+m4trace:configure.in:8: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
+m4trace:configure.in:8: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
+m4trace:configure.in:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
+m4trace:configure.in:8: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
+m4trace:configure.in:9: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
+m4trace:configure.in:9: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
+m4trace:configure.in:9: -1- m4_pattern_allow([^INSTALL_DATA$])
+m4trace:configure.in:10: -1- LT_INIT
+m4trace:configure.in:10: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
+m4trace:configure.in:10: -1- LTOPTIONS_VERSION
+m4trace:configure.in:10: -1- LTSUGAR_VERSION
+m4trace:configure.in:10: -1- LTVERSION_VERSION
+m4trace:configure.in:10: -1- LTOBSOLETE_VERSION
+m4trace:configure.in:10: -1- _LT_PROG_LTMAIN
+m4trace:configure.in:10: -1- m4_pattern_allow([^LIBTOOL$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^build$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^build_cpu$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^build_vendor$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^build_os$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^host$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^host_cpu$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^host_vendor$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^host_os$])
+m4trace:configure.in:10: -1- LT_PATH_LD
+m4trace:configure.in:10: -1- m4_pattern_allow([^SED$])
+m4trace:configure.in:10: -1- AC_PROG_EGREP
+m4trace:configure.in:10: -1- m4_pattern_allow([^GREP$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^EGREP$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^FGREP$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^GREP$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^LD$])
+m4trace:configure.in:10: -1- LT_PATH_NM
+m4trace:configure.in:10: -1- m4_pattern_allow([^DUMPBIN$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^DUMPBIN$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^NM$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^LN_S$])
+m4trace:configure.in:10: -1- LT_CMD_MAX_LEN
+m4trace:configure.in:10: -1- m4_pattern_allow([^OBJDUMP$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^OBJDUMP$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^AR$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^STRIP$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^RANLIB$])
+m4trace:configure.in:10: -1- m4_pattern_allow([LT_OBJDIR])
+m4trace:configure.in:10: -1- m4_pattern_allow([^LT_OBJDIR$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^lt_ECHO$])
+m4trace:configure.in:10: -1- _LT_CC_BASENAME([$compiler])
+m4trace:configure.in:10: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH])
+m4trace:configure.in:10: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH])
+m4trace:configure.in:10: -1- LT_SUPPORTED_TAG([CC])
+m4trace:configure.in:10: -1- _LT_COMPILER_BOILERPLATE
+m4trace:configure.in:10: -1- _LT_LINKER_BOILERPLATE
+m4trace:configure.in:10: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"])
+m4trace:configure.in:10: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;;
+     esac], [_LT_TAGVAR(lt_prog_compiler_pic, )=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no])
+m4trace:configure.in:10: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=])
+m4trace:configure.in:10: -1- m4_pattern_allow([^DSYMUTIL$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^NMEDIT$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^LIPO$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^OTOOL$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^OTOOL64$])
+m4trace:configure.in:10: -1- LT_SYS_DLOPEN_SELF
+m4trace:configure.in:10: -1- m4_pattern_allow([^CPP$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^CPP$])
+m4trace:configure.in:10: -1- m4_pattern_allow([^STDC_HEADERS$])
+m4trace:configure.in:18: -1- m4_pattern_allow([^HAVE_LIBGMP$])
+m4trace:configure.in:21: -1- m4_pattern_allow([^STDC_HEADERS$])
+m4trace:configure.in:24: -1- m4_pattern_allow([^const$])
+m4trace:configure.in:29: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:29: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.in:29: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS
+m4trace:configure.in:29: -1- _LT_PROG_LTMAIN
diff --git a/third_party/cddlib/config.guess b/third_party/cddlib/config.guess
new file mode 100755
index 0000000..7b24a87
--- /dev/null
+++ b/third_party/cddlib/config.guess
@@ -0,0 +1,1542 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   Free Software Foundation, Inc.
+
+timestamp='2008-11-15'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+	eval $set_cc_for_build
+	SUN_ARCH="i386"
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if echo '\n#ifdef __amd64\nIS_64BIT_ARCH\n#endif' | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH="x86_64"
+	    fi
+	fi
+	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[456])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	case ${UNAME_MACHINE} in
+	    pc98)
+		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    amd64)
+		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    *)
+		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	esac
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    *:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    *:Interix*:[3456]*)
+    	case ${UNAME_MACHINE} in
+	    x86)
+		echo i586-pc-interix${UNAME_RELEASE}
+		exit ;;
+	    EM64T | authenticamd | genuineintel)
+		echo x86_64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	    IA64)
+		echo ia64-unknown-interix${UNAME_RELEASE}
+		exit ;;
+	esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    arm*:Linux:*:*)
+	eval $set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_EABI__
+	then
+	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	else
+	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	fi
+	exit ;;
+    avr32*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    mips:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mipsel
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^CPU/{
+		s: ::g
+		p
+	    }'`"
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^CPU/{
+		s: ::g
+		p
+	    }'`"
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    or32:Linux:*:*)
+	echo or32-unknown-linux-gnu
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
+    padre:Linux:*:*)
+	echo sparc-unknown-linux-gnu
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    vax:Linux:*:*)
+	echo ${UNAME_MACHINE}-dec-linux-gnu
+	exit ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit ;;
+    xtensa*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    i*86:Linux:*:*)
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	# Set LC_ALL=C to ensure ld outputs messages in English.
+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported targets: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_targets" in
+	  elf32-i386)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+		;;
+	  a.out-i386-linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+		exit ;;
+	esac
+	# Determine whether the default compiler is a.out or elf
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#ifdef __ELF__
+	# ifdef __GLIBC__
+	#  if __GLIBC__ >= 2
+	LIBC=gnu
+	#  else
+	LIBC=gnulibc1
+	#  endif
+	# else
+	LIBC=gnulibc1
+	# endif
+	#else
+	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+	LIBC=gnu
+	#else
+	LIBC=gnuaout
+	#endif
+	#endif
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^LIBC/{
+		s: ::g
+		p
+	    }'`"
+	test x"${LIBC}" != x && {
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+		exit
+	}
+	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+	;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes@openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf@swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
+	echo i586-pc-haiku
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+    i*86:rdos:*:*)
+	echo ${UNAME_MACHINE}-pc-rdos
+	exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/third_party/cddlib/config.sub b/third_party/cddlib/config.sub
new file mode 100755
index 0000000..053e738
--- /dev/null
+++ b/third_party/cddlib/config.sub
@@ -0,0 +1,1677 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   Free Software Foundation, Inc.
+
+timestamp='2008-09-08'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray)
+		os=
+		basic_machine=$1
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco6)
+		os=-sco5v6
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5v6*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+	| bfin \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| fido | fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| m32c | m32r | m32rle | m68000 | m68k | m88k \
+	| maxq | mb | microblaze | mcore | mep | metag \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64octeon | mips64octeonel \
+	| mips64orion | mips64orionel \
+	| mips64r5900 | mips64r5900el \
+	| mips64vr | mips64vrel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| mt \
+	| msp430 \
+	| nios | nios2 \
+	| ns16k | ns32k \
+	| or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| score \
+	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+	| spu | strongarm \
+	| tahoe | thumb | tic4x | tic80 | tron \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| z8k | z80)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+	ms1)
+		basic_machine=mt-unknown
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* | avr32-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| m32c-* | m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64octeon-* | mips64octeonel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64r5900-* | mips64r5900el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| mt-* \
+	| msp430-* \
+	| nios-* | nios2-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
+	| tron-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| xstormy16-* | xtensa*-* \
+	| ymp-* \
+	| z8k-* | z80-*)
+		;;
+	# Recognize the basic CPU types without company name, with glob match.
+	xtensa*)
+		basic_machine=$basic_machine-unknown
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+    	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	blackfin)
+		basic_machine=bfin-unknown
+		os=-linux
+		;;
+	blackfin-*)
+		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+        cegcc)
+		basic_machine=arm-unknown
+		os=-cegcc
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16)
+		basic_machine=cr16-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	dicos)
+		basic_machine=i686-pc
+		os=-dicos
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m68knommu)
+		basic_machine=m68k-unknown
+		os=-linux
+		;;
+	m68knommu-*)
+		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	mingw32ce)
+		basic_machine=arm-unknown
+		os=-mingw32ce
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	ms1-*)
+		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	parisc)
+		basic_machine=hppa-unknown
+		os=-linux
+		;;
+	parisc-*)
+		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=-linux
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pc98)
+		basic_machine=i386-pc
+		;;
+	pc98-*)
+		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+		;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rdos)
+		basic_machine=i386-pc
+		os=-rdos
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sde)
+		basic_machine=mipsisa32-sde
+		os=-elf
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh5el)
+		basic_machine=sh5le-unknown
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
+		os=-coff
+		;;
+	tile*)
+		basic_machine=tile-unknown
+		os=-linux-gnu
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	z80-*-coff)
+		basic_machine=z80-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+	      | -openbsd* | -solidbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* | -cegcc* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+        -os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+        -tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-dicos*)
+		os=-dicos
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+        score-*)
+		os=-elf
+		;;
+        spu-*)
+		os=-elf
+		;;
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+        c4x-* | tic4x-*)
+        	os=-coff
+		;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+        mep-*)
+		os=-elf
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+    	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/third_party/cddlib/configure b/third_party/cddlib/configure
new file mode 100755
index 0000000..9b95eac
--- /dev/null
+++ b/third_party/cddlib/configure
Binary files differ
diff --git a/third_party/cddlib/configure.in b/third_party/cddlib/configure.in
new file mode 100644
index 0000000..5a9bada
--- /dev/null
+++ b/third_party/cddlib/configure.in
@@ -0,0 +1,29 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT
+
+dnl Init automake.
+AM_INIT_AUTOMAKE(cddlib, 0.94)
+
+dnl Checks for programs.
+AC_PROG_CC
+AC_PROG_INSTALL
+LT_INIT
+
+dnl Checks for libraries.
+dnl Replace `main' with a function in -lg:
+dnl AC_CHECK_LIB(g, main)
+dnl Replace `main' with a function in -lstdc:
+dnl AC_CHECK_LIB(stdc, main)
+dnl look for gmp:
+AC_CHECK_LIB(gmp, main)
+
+dnl Checks for header files.
+AC_HEADER_STDC
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+
+dnl Checks for library functions.
+
+AC_CONFIG_FILES([lib-src/Makefile src/Makefile lib-src-gmp/Makefile src-gmp/Makefile Makefile])
+AC_OUTPUT
diff --git a/third_party/cddlib/depcomp b/third_party/cddlib/depcomp
new file mode 100755
index 0000000..e5f9736
--- /dev/null
+++ b/third_party/cddlib/depcomp
@@ -0,0 +1,589 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2007-03-29.01
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
+# Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am.  Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+  for arg
+  do
+    case $arg in
+    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+    *)  set fnord "$@" "$arg" ;;
+    esac
+    shift # fnord
+    shift # $arg
+  done
+  "$@"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> $depfile
+    echo >> $depfile
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> $depfile
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$base.u
+    tmpdepfile3=$dir.libs/$base.u
+    "$@" -Wc,-M
+  else
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$dir$base.u
+    tmpdepfile3=$dir$base.u
+    "$@" -M
+  fi
+  stat=$?
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+    # That's a tab and a space in the [].
+    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp2)
+  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+  # compilers, which have integrated preprocessors.  The correct option
+  # to use with these is +Maked; it writes dependencies to a file named
+  # 'foo.d', which lands next to the object file, wherever that
+  # happens to be.
+  # Much of this is similar to the tru64 case; see comments there.
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir.libs/$base.d
+    "$@" -Wc,+Maked
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    "$@" +Maked
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+     rm -f "$tmpdepfile1" "$tmpdepfile2"
+     exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add `dependent.h:' lines.
+    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
+  else
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile" "$tmpdepfile2"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mechanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no
+  for arg in "$@"; do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o,
+  # because we must use -o when running libtool.
+  "$@" || exit $?
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+	set fnord "$@"
+	shift
+	shift
+	;;
+    *)
+	set fnord "$@" "$arg"
+	shift
+	shift
+	;;
+    esac
+  done
+  "$@" -E |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
+  echo "	" >> "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/third_party/cddlib/doc/cddlibman.aux b/third_party/cddlib/doc/cddlibman.aux
new file mode 100644
index 0000000..f7f78d6
--- /dev/null
+++ b/third_party/cddlib/doc/cddlibman.aux
@@ -0,0 +1,91 @@
+\relax 
+\citation{fp-ddmr-96}
+\citation{mrtt-ddm-53}
+\citation{a-lrshome-01}
+\citation{af-pachv-92}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{2}}
+\newlabel{INTRODUCTION}{{1}{2}}
+\citation{abs-hgach-97}
+\@writefile{toc}{\contentsline {section}{\numberline {2}Polyhedra H- and V-Formats (Version 1999)}{3}}
+\newlabel{FORMAT}{{2}{3}}
+\@writefile{toc}{\contentsline {section}{\numberline {3}Basic Object Types (Structures) in cddlib}{4}}
+\newlabel{DATASTR}{{3}{4}}
+\@writefile{toc}{\contentsline {section}{\numberline {4}Library Functions}{7}}
+\newlabel{LIBRARY}{{4}{7}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Library Initialization}{7}}
+\newlabel{Initialization}{{4.1}{7}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Core Functions}{7}}
+\newlabel{CoreLibrary}{{4.2}{7}}
+\citation{abs-hgach-97}
+\citation{fp-ddmr-96}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Data Manipulations}{11}}
+\newlabel{DataLibrary}{{4.3}{11}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.1}Number Assignments}{11}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.2}Arithmetic Operations for {\tt  mytype} Numbers}{11}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.3}Predefined Constants}{12}}
+\newlabel{constants}{{4.3.3}{12}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.4}Sign Evaluation and Comparison for {\tt  mytype} Numbers}{12}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.5}Polyhedra Data Manipulation}{12}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.6}LP Data Manipulation}{13}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.3.7}Matrix Manipulation}{13}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Input/Output Functions}{14}}
+\newlabel{IOLibrary}{{4.4}{14}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Obsolete Functions}{15}}
+\newlabel{ObsoleteFunctions}{{4.5}{15}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}Set Functions in {\tt  setoper} library}{15}}
+\newlabel{SetFunctions}{{4.6}{15}}
+\citation{a-lrshome-01}
+\citation{af-pachv-92}
+\citation{bdh-qach-03}
+\citation{e-acg-87}
+\citation{m-cg-94}
+\@writefile{toc}{\contentsline {section}{\numberline {5}An Extension of the CDD Library in GMP mode}{16}}
+\newlabel{GMPLIB}{{5}{16}}
+\@writefile{toc}{\contentsline {section}{\numberline {6}Examples}{16}}
+\newlabel{EXAMPLES}{{6}{16}}
+\@writefile{toc}{\contentsline {section}{\numberline {7}Numerical Accuracy}{16}}
+\newlabel{accuracy}{{7}{16}}
+\@writefile{toc}{\contentsline {section}{\numberline {8}Other Useful Codes}{16}}
+\newlabel{CODES}{{8}{16}}
+\citation{cl-porta-97}
+\citation{w-ldpo-93b}
+\citation{b-pplhome}
+\citation{m-pdcip-97}
+\citation{bfm-pdmvf-97}
+\citation{a-dcg}
+\citation{e-cgp}
+\citation{fg-lpfaq}
+\citation{f-pcfaq-98}
+\citation{dhhhty-latte-05}
+\citation{w-msv-05}
+\citation{f-fzctmacp-04}
+\citation{j-gvum-05}
+\citation{fjt-cgf-05}
+\citation{r-topcom-05}
+\bibstyle{plain}
+\bibdata{fukuda1,fukuda2}
+\bibcite{a-dcg}{1}
+\@writefile{toc}{\contentsline {section}{\numberline {9}Codes Using Cddlib}{17}}
+\newlabel{USERCODES}{{9}{17}}
+\bibcite{a-lrshome-01}{2}
+\bibcite{abs-hgach-97}{3}
+\bibcite{af-pachv-92}{4}
+\bibcite{b-pplhome}{5}
+\bibcite{bdh-qach-03}{6}
+\bibcite{bfm-pdmvf-97}{7}
+\bibcite{cl-porta-97}{8}
+\bibcite{dhhhty-latte-05}{9}
+\bibcite{e-acg-87}{10}
+\bibcite{e-cgp}{11}
+\bibcite{fg-lpfaq}{12}
+\bibcite{f-pcfaq-98}{13}
+\bibcite{f-fzctmacp-04}{14}
+\bibcite{fjt-cgf-05}{15}
+\bibcite{fp-ddmr-96}{16}
+\bibcite{j-gvum-05}{17}
+\bibcite{m-pdcip-97}{18}
+\bibcite{mrtt-ddm-53}{19}
+\bibcite{m-cg-94}{20}
+\bibcite{r-topcom-05}{21}
+\bibcite{w-msv-05}{22}
+\bibcite{w-ldpo-93b}{23}
diff --git a/third_party/cddlib/doc/cddlibman.bbl b/third_party/cddlib/doc/cddlibman.bbl
new file mode 100644
index 0000000..937abb9
--- /dev/null
+++ b/third_party/cddlib/doc/cddlibman.bbl
@@ -0,0 +1,169 @@
+\begin{thebibliography}{10}
+
+\bibitem{a-dcg}
+N.~Amenta.
+\newblock Directory of computational geometry.
+\newblock
+  \htmladdnormallink{http://www.geom.uiuc.edu/software/cglist/}{http://www.geo%
+m.uiuc.edu/software/cglist/}.
+
+\bibitem{a-lrshome-01}
+D.~Avis.
+\newblock {\em lrs Homepage}.
+\newblock
+  \htmladdnormallink{http://cgm.cs.mcgill.ca/\~{}avis/C/lrs.html}{http://cgm.c%
+s.mcgill.ca/\~{}avis/C/lrs.html}.
+
+\bibitem{abs-hgach-97}
+D.~Avis, D.~Bremner, and R.~Seidel.
+\newblock How good are convex hull algorithms.
+\newblock {\em Computational Geometry: Theory and Applications}, 7:265--302,
+  1997.
+
+\bibitem{af-pachv-92}
+D.~Avis and K.~Fukuda.
+\newblock A pivoting algorithm for convex hulls and vertex enumeration of
+  arrangements and polyhedra.
+\newblock {\em Discrete Comput. Geom.}, 8:295--313, 1992.
+
+\bibitem{b-pplhome}
+R.~Bagnara.
+\newblock Parma polyhedra library homepage, 2004.
+\newblock \htmladdnormallink{http://www.cs.unipr.it/ppl/}
+  {http://www.cs.unipr.it/ppl/}.
+
+\bibitem{bdh-qach-03}
+C.B. Barber, D.P. Dobkin, and H.~Huhdanpaa.
+\newblock {\em qhull, Version 2003.1}, 2003.
+\newblock program and report available from
+  \htmladdnormallink{http://www.qhull.org/} {http://www.qhull.org/}.
+
+\bibitem{bfm-pdmvf-97}
+D.~Bremner, K.~Fukuda, and A.~Marzetta.
+\newblock Primal-dual methods for vertex and facet enumeration.
+\newblock In {\em Proc. 13th Annu. ACM Sympos. Comput. Geom.}, pages 49--56,
+  1997.
+
+\bibitem{cl-porta-97}
+T.~Christof and A.~L{\"o}bel.
+\newblock {PORTA}: Polyhedron representation transformation algorithm (ver.
+  1.3.1), 1997.
+\newblock \htmladdnormallink{http://www.zib.de/Optimization/Software/Porta/}
+  {http://www.zib.de/Optimization/Software/Porta/}.
+
+\bibitem{dhhhty-latte-05}
+J.~de~Loera, D.~Haws, R.~Hemmecke, Peter Huggins, J.~Tauzer, and R.~Yoshida.
+\newblock {\em Latt{E}}.
+\newblock University of California, Davis, 2005.
+\newblock available from
+  \htmladdnormallink{http://www.math.ucdavis.edu/~latte/}{http://www.math.ucda%
+vis.edu/~latte/}.
+
+\bibitem{e-acg-87}
+H.~Edelsbrunner.
+\newblock {\em Algorithms in {C}ombinatorial {G}eometry}.
+\newblock Springer-Verlag, 1987.
+
+\bibitem{e-cgp}
+J.~Erickson.
+\newblock Computational geometry pages, list of software libraries and codes.
+\newblock
+  \htmladdnormallink{http://compgeom.cs.uiuc.edu/\~{}jeffe/compgeom/}{http://c%
+ompgeom.cs.uiuc.edu/\~{}jeffe/compgeom/}.
+
+\bibitem{fg-lpfaq}
+R.~Fourer and J.W. Gregory.
+\newblock Linear programming frequently asked questions ({LP-FAQ}).
+\newblock
+  \htmladdnormallink{http://www-unix.mcs.anl.gov/otc/Guide/faq/linear-programm%
+ing-faq.html}
+  {http://www-unix.mcs.anl.gov/otc/Guide/faq/linear-programming-faq.html}.
+
+\bibitem{f-pcfaq-98}
+K.~Fukuda.
+\newblock Polyhedral computation {FAQ}, 1998.
+\newblock Both html and ps versions available from
+  \htmladdnormallink{http://www.ifor.math.ethz.ch/\~{}fukuda/fukuda.html}
+  {http://www.ifor.math.ethz.ch/\~{}fukuda/fukuda.html}.
+
+\bibitem{f-fzctmacp-04}
+K.~Fukuda.
+\newblock From the zonotope construction to the {M}inkowski addition of convex
+  polytopes.
+\newblock {\em Journal of Symbolic Computation}, 38(4):1261--1272, 2004.
+\newblock pdf file available from
+  \htmladdnormallink{http://www.cs.mcgill.ca/\~{}fukuda/download/paper/minksum%
+031007jsc.pdf}{http://www.cs.mcgill.ca/\~{}fukuda/download/paper/minksum031007%
+jsc.pdf}.
+
+\bibitem{fjt-cgf-05}
+K.~Fukuda, A.~Jensen, and R.~Thomas.
+\newblock Computing {G}r{\"o}bner fans.
+\newblock Technical report.
+\newblock In preparation.
+
+\bibitem{fp-ddmr-96}
+K.~Fukuda and A.~Prodon.
+\newblock Double description method revisited.
+\newblock In M.~Deza, R.~Euler, and I.~Manoussakis, editors, {\em Combinatorics
+  and Computer Science}, volume 1120 of {\em Lecture Notes in Computer
+  Science}, pages 91--111. Springer-Verlag, 1996.
+\newblock ps file available from
+  \htmladdnormallink{ftp://ftp.ifor.math.ethz.ch/pub/fukuda/reports/ddrev96031%
+5.ps.gz}{ftp://ftp.ifor.math.ethz.ch/pub/fukuda/reports/ddrev960315.ps.gz}.
+
+\bibitem{j-gvum-05}
+A.N. Jensen.
+\newblock {\em Gfan version 0.1: A User's Manual}.
+\newblock Department of Mathematical Sciences, University of Aarhus and
+  Institute for Operations Research, ETH Zurich, 2005.
+\newblock available from
+  \htmladdnormallink{http://home.imf.au.dk/ajensen/software/gfan/gfan.html}{ht%
+tp://home.imf.au.dk/ajensen/software/gfan/gfan.html}.
+
+\bibitem{m-pdcip-97}
+A.~Marzetta.
+\newblock {\em pd -- {C}-implementation of the primal-dual algoirithm}, 1997.
+\newblock code available from
+  \htmladdnormallink{http://www.cs.unb.ca/profs/bremner/pd/}
+  {http://www.cs.unb.ca/profs/bremner/pd/}.
+
+\bibitem{mrtt-ddm-53}
+T.S. Motzkin, H.~Raiffa, GL. Thompson, and R.M. Thrall.
+\newblock The double description method.
+\newblock In H.W. Kuhn and A.W.Tucker, editors, {\em Contributions to theory of
+  games, Vol. 2}. Princeton University Press, Princeton, RI, 1953.
+
+\bibitem{m-cg-94}
+K.~Mulmuley.
+\newblock {\em Computational {G}eometry, {A}n {I}ntroduction {T}hrough
+  {R}andamized {A}lgorithms}.
+\newblock Prentice-Hall, 1994.
+
+\bibitem{r-topcom-05}
+J.~Rambau.
+\newblock {\em TOPCOM, a package for computing Triangulations Of Point
+  Configurations and Oriented Matroids}.
+\newblock University of Bayreuth, 2005.
+\newblock available from
+  \htmladdnormallink{http://www.uni-bayreuth.de/departments/wirtschaftsmathema%
+tik/rambau/TOPCOM/}{http://www.uni-bayreuth.de/departments/wirtschaftsmathemat%
+ik/rambau/TOPCOMl}.
+
+\bibitem{w-msv-05}
+C.~Weibel.
+\newblock {\em Minksum version 1.1}.
+\newblock Mathematics Institute, EPF Lausanne, 2005.
+\newblock available from
+  \htmladdnormallink{http://roso.epfl.ch/cw/poly/public.php}{http://roso.epfl.%
+ch/cw/poly/public.php}.
+
+\bibitem{w-ldpo-93b}
+D.K. Wilde.
+\newblock A library for doing polyhedral operations.
+\newblock Master's thesis, Oregon State University, Corvallis, Oregon, Dec
+  1993.
+\newblock Also published in IRISA technical report PI 785, Rennes, France; Dec,
+  1993.
+
+\end{thebibliography}
diff --git a/third_party/cddlib/doc/cddlibman.blg b/third_party/cddlib/doc/cddlibman.blg
new file mode 100644
index 0000000..6ad04cb
--- /dev/null
+++ b/third_party/cddlib/doc/cddlibman.blg
@@ -0,0 +1,49 @@
+This is BibTeX, Version 0.99c (Web2C 7.4.5)
+The top-level auxiliary file: cddlibman.aux
+The style file: plain.bst
+Database file #1: fukuda1.bib
+Database file #2: fukuda2.bib
+Warning--empty institution in fjt-cgf-05
+Warning--empty year in fjt-cgf-05
+You've used 23 entries,
+            2118 wiz_defined-function locations,
+            629 strings with 8653 characters,
+and the built_in function-call counts, 6251 in all, are:
+= -- 603
+> -- 290
+< -- 3
++ -- 117
+- -- 91
+* -- 344
+:= -- 1076
+add.period$ -- 79
+call.type$ -- 23
+change.case$ -- 104
+chr.to.int$ -- 0
+cite$ -- 25
+duplicate$ -- 236
+empty$ -- 521
+format.name$ -- 91
+if$ -- 1302
+int.to.chr$ -- 0
+int.to.str$ -- 23
+missing$ -- 10
+newline$ -- 126
+num.names$ -- 50
+pop$ -- 155
+preamble$ -- 1
+purify$ -- 89
+quote$ -- 0
+skip$ -- 164
+stack$ -- 0
+substring$ -- 250
+swap$ -- 46
+text.length$ -- 3
+text.prefix$ -- 0
+top$ -- 0
+type$ -- 88
+warning$ -- 2
+while$ -- 60
+width$ -- 25
+write$ -- 254
+(There were 2 warnings)
diff --git a/third_party/cddlib/doc/cddlibman.dvi b/third_party/cddlib/doc/cddlibman.dvi
new file mode 100644
index 0000000..01ac87a
--- /dev/null
+++ b/third_party/cddlib/doc/cddlibman.dvi
Binary files differ
diff --git a/third_party/cddlib/doc/cddlibman.log b/third_party/cddlib/doc/cddlibman.log
new file mode 100644
index 0000000..914ed24
--- /dev/null
+++ b/third_party/cddlib/doc/cddlibman.log
@@ -0,0 +1,199 @@
+This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=latex 2008.3.22)  23 MAR 2008 15:43
+entering extended mode
+ %&-line parsing enabled.
+**cddlibman.tex
+(./cddlibman.tex
+LaTeX2e <2005/12/01>
+Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
+yphenation, arabic, basque, bulgarian, coptic, welsh, czech, slovak, german, ng
+erman, danish, esperanto, spanish, catalan, galician, estonian, farsi, finnish,
+ french, greek, monogreek, ancientgreek, croatian, hungarian, interlingua, ibyc
+us, indonesian, icelandic, italian, latin, mongolian, dutch, norsk, polish, por
+tuguese, pinyin, romanian, russian, slovenian, uppersorbian, serbian, swedish, 
+turkish, ukenglish, ukrainian, loaded.
+(/usr/local/texlive/2007/texmf-dist/tex/latex/base/article.cls
+Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
+(/usr/local/texlive/2007/texmf-dist/tex/latex/base/size11.clo
+File: size11.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@section=\count80
+\c@subsection=\count81
+\c@subsubsection=\count82
+\c@paragraph=\count83
+\c@subparagraph=\count84
+\c@figure=\count85
+\c@table=\count86
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+) (./html.sty
+Package: html 1996/02/01 v1.0 hypertext commands for latex2html (nd, hs)
+\c@lpart=\count87
+\c@lchapter=\count88
+\c@lsection=\count89
+\c@lsubsection=\count90
+\c@lsubsubsection=\count91
+\c@lparagraph=\count92
+\c@lsubparagraph=\count93
+\c@lsubsubparagraph=\count94
+\c@lequation=\count95
+)
+(/usr/local/texlive/2007/texmf-dist/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2000/07/18 v2.13 AMS math features
+\@mathmargin=\skip43
+
+For additional information on amsmath, use the `?' option.
+(/usr/local/texlive/2007/texmf-dist/tex/latex/amsmath/amstext.sty
+Package: amstext 2000/06/29 v2.01
+
+(/usr/local/texlive/2007/texmf-dist/tex/latex/amsmath/amsgen.sty
+File: amsgen.sty 1999/11/30 v2.0
+\@emptytoks=\toks14
+\ex@=\dimen103
+))
+(/usr/local/texlive/2007/texmf-dist/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d
+\pmbraise@=\dimen104
+)
+(/usr/local/texlive/2007/texmf-dist/tex/latex/amsmath/amsopn.sty
+Package: amsopn 1999/12/14 v2.01 operator names
+)
+\inf@bad=\count96
+LaTeX Info: Redefining \frac on input line 211.
+\uproot@=\count97
+\leftroot@=\count98
+LaTeX Info: Redefining \overline on input line 307.
+\classnum@=\count99
+\DOTSCASE@=\count100
+LaTeX Info: Redefining \ldots on input line 379.
+LaTeX Info: Redefining \dots on input line 382.
+LaTeX Info: Redefining \cdots on input line 467.
+\Mathstrutbox@=\box26
+\strutbox@=\box27
+\big@size=\dimen105
+LaTeX Font Info:    Redeclaring font encoding OML on input line 567.
+LaTeX Font Info:    Redeclaring font encoding OMS on input line 568.
+\macc@depth=\count101
+\c@MaxMatrixCols=\count102
+\dotsspace@=\muskip10
+\c@parentequation=\count103
+\dspbrk@lvl=\count104
+\tag@help=\toks15
+\row@=\count105
+\column@=\count106
+\maxfields@=\count107
+\andhelp@=\toks16
+\eqnshift@=\dimen106
+\alignsep@=\dimen107
+\tagshift@=\dimen108
+\tagwidth@=\dimen109
+\totwidth@=\dimen110
+\lineht@=\dimen111
+\@envbody=\toks17
+\multlinegap=\skip44
+\multlinetaggap=\skip45
+\mathdisplay@stack=\toks18
+LaTeX Info: Redefining \[ on input line 2666.
+LaTeX Info: Redefining \] on input line 2667.
+)
+(/usr/local/texlive/2007/texmf-dist/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2002/01/22 v2.2d
+
+(/usr/local/texlive/2007/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2001/10/25 v2.2f
+\symAMSa=\mathgroup4
+\symAMSb=\mathgroup5
+LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
+(Font)                  U/euf/m/n --> U/euf/b/n on input line 132.
+))
+(./cddlibman.aux)
+\openout1 = `cddlibman.aux'.
+
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 21.
+LaTeX Font Info:    ... okay on input line 21.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 21.
+LaTeX Font Info:    ... okay on input line 21.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 21.
+LaTeX Font Info:    ... okay on input line 21.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 21.
+LaTeX Font Info:    ... okay on input line 21.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 21.
+LaTeX Font Info:    ... okay on input line 21.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 21.
+LaTeX Font Info:    ... okay on input line 21.
+LaTeX Font Info:    Try loading font information for U+msa on input line 30.
+
+(/usr/local/texlive/2007/texmf-dist/tex/latex/amsfonts/umsa.fd
+File: umsa.fd 2002/01/19 v2.2g AMS font definitions
+)
+LaTeX Font Info:    Try loading font information for U+msb on input line 30.
+
+(/usr/local/texlive/2007/texmf-dist/tex/latex/amsfonts/umsb.fd
+File: umsb.fd 2002/01/19 v2.2g AMS font definitions
+)
+(./cddlibman.toc)
+\tf@toc=\write3
+\openout3 = `cddlibman.toc'.
+
+ [1
+
+] [2] [3] [4]
+Overfull \hbox (19.168pt too wide) in paragraph at lines 395--395
+[]\OT1/cmtt/m/n/10.95 typedef mytype **dd_Amatrix;  /* mytype is either GMP mpq
+_t or 1-dim double array. */[] 
+ []
+
+[5] [6]
+Overfull \hbox (19.168pt too wide) in paragraph at lines 395--395
+[]  \OT1/cmtt/m/n/10.95 dd_colrange se;  /* col index as a certificate in the c
+ase of dual inconsistency */[] 
+ []
+
+[7] [8] [9]
+Overfull \hbox (0.39783pt too wide) in paragraph at lines 653--660
+\OT1/cmr/m/n/10.95 Fourier's Elim-i-na-tion. If the in-put ma-trix is V-represe
+ntation, \OT1/cmtt/m/n/10.95 *err \OT1/cmr/m/n/10.95 re-turns \OT1/cmtt/m/n/10.
+95 dd[]NotAvailForV\OT1/cmr/m/n/10.95 .
+ []
+
+[10] [11] [12]
+Overfull \hbox (7.43246pt too wide) in paragraph at lines 821--826
+\OT1/cmr/m/n/10.95 Copy the in-ci-dence rep-re-sen-ta-tion of the com-puted rep
+-re-sen-ta-tion pointed by poly to \OT1/cmtt/m/n/10.95 setfamily
+ []
+
+
+Overfull \hbox (10.47415pt too wide) in paragraph at lines 827--832
+\OT1/cmr/m/n/10.95 Copy the ad-ja-cency rep-re-sen-ta-tion of the com-puted rep
+-re-sen-ta-tion pointed by poly to \OT1/cmtt/m/n/10.95 setfamily
+ []
+
+[13] [14] [15] [16]
+
+Package amsfonts Warning: Obsolete command \Bbb; \mathbb should be used instead
+ on input line 1139.
+
+(./cddlibman.bbl
+Overfull \hbox (2.6514pt too wide) in paragraph at lines 4--9
+[]\OT1/cmr/m/n/10.95 N. Amenta.  Di-rec-tory of com-pu-ta-tional ge-om-e-try.  
+http://www.geom.uiuc.edu/software/cglist/. 
+ []
+
+[17]
+Underfull \hbox (badness 2302) in paragraph at lines 68--73
+[]\OT1/cmr/m/n/10.95 J. Er-ick-son.  Com-pu-ta-tional ge-om-e-try pages, list o
+f soft-ware li-braries and codes.
+ []
+
+[18]) [19] (./cddlibman.aux) ) 
+Here is how much of TeX's memory you used:
+ 1274 strings out of 94074
+ 14362 string characters out of 1163007
+ 65424 words of memory out of 1500000
+ 4583 multiletter control sequences out of 10000+50000
+ 13141 words of font info for 50 fonts, out of 1200000 for 2000
+ 645 hyphenation exceptions out of 8191
+ 27i,9n,24p,239b,243s stack positions out of 5000i,500n,6000p,200000b,5000s
+
+Output written on cddlibman.dvi (19 pages, 73224 bytes).
diff --git a/third_party/cddlib/doc/cddlibman.pdf b/third_party/cddlib/doc/cddlibman.pdf
new file mode 100644
index 0000000..4443911
--- /dev/null
+++ b/third_party/cddlib/doc/cddlibman.pdf
Binary files differ
diff --git a/third_party/cddlib/doc/cddlibman.ps b/third_party/cddlib/doc/cddlibman.ps
new file mode 100644
index 0000000..3b2cbc6
--- /dev/null
+++ b/third_party/cddlib/doc/cddlibman.ps
@@ -0,0 +1,5348 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.96 Copyright 2005 Radical Eye Software
+%%Title: cddlibman.dvi
+%%CreationDate: Sun Mar 23 15:43:43 2008
+%%Pages: 19
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 595 842
+%%DocumentFonts: CMR17 CMR12 CMBX12 CMBX10 CMR10 CMTT10 CMMI10 CMSY10
+%%+ CMR8 CMMI8 CMTI10 CMMI6 CMSY8 CMTT12 MSBM10
+%%DocumentPaperSizes: a4
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: /usr/local/texlive/2007/bin/powerpc-darwin/dvips -R
+%+ -Poutline -o /tmp/altpdflatex.82070-1206283419/cddlibman.ps
+%+ cddlibman.dvi
+%DVIPSParameters: dpi=600
+%DVIPSSource:  TeX output 2008.03.23:1543
+%%BeginProcSet: tex.pro 0 0
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: texps.pro 0 0
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginFont: MSBM10
+%!PS-AdobeFont-1.1: MSBM10 2.1
+%%CreationDate: 1993 Sep 17 11:10:37
+% Math Symbol fonts were designed by the American Mathematical Society.
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (2.1) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (MSBM10) readonly def
+/FamilyName (Euler) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /MSBM10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 82 /R put
+readonly def
+/FontBBox{-55 -420 2343 920}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6A66A4000A13D5F68BFF326D
+1D432B0D064B56C598F4338C319309181D78E1629A31ECA5DD8536379B03C383
+D10F04E2C2822D3E73F25B81C424627D3D9A158EAB554233A25D3C6849ABA86F
+1F25C1667CB57D2E79B7803083CB7CC0616467F68450D9A3FEAB534EB9721003
+DBFEEFD050F3AC3492F5C74162A9A531ECEC0F47610B4940E946D21CAA771D30
+A6C27ECBA11708CC46C62396BF9D1990D579D0C394899D24FE7A4382EA18E7E1
+160E7283AF5BE17254790628E79FCC206F28B5566075B3A5697D5209062544FF
+D85FD89D6F43D6588B242AB2666B5D2861CD38A8CE676503EDFAE84D12A71E77
+8405E468FE391F4F3F50D2C57ED55512036B0DB8E76A7EF413ED08673E56DE2C
+16A3B65CD478433C0D2F9FEC4E662D54DAA43CFA6957D2A9AF8979BE06F70B68
+ED4C8C493D6DAC4971A3F1D010A7726D084EC1074FECD7D12D72AE16C26194AF
+21AF5774D9B860EEE8608D34F150092F09C19959BAA670022B9A9F263CD391E3
+74DD1D1B4CD4D75273CAA4E37F68C631723E08FA35AD34C0AFB4621AE6689861
+854D16CE1C375FD159A337E221A6FF1CFFB5693A0623E7EBB58C2969F590D081
+AD92DD9E5322E26D6A15023664AC73A355998BCC48ADD0E7A4BC79790519606F
+A1FEF6075033BCD422EE8233B83D1E7C20043280D531223D5AD4D5B41669F884
+95CE4D6DDE819B588742B930C579EDF743F2C74C95F717FAA6154FADC3FE2975
+F59CFB1C1A29059487E75C48505BAEAD7145667D4E18E46E610C868A257173ED
+0D30EAA4C090854DD8378E92D0A376226EA7DA63798F247BAC770FE26D70E72F
+90CCFAADF118304646955B0310C65F6CA51BEEEF87AFFE294D08C44354C73E8D
+7AE0751CEBE41E68D7E91ED09D4F0FE329150A34D0DEE8F7AED88AFB66381817
+364A65B9F1F9C6416198FB016FC8456DEEFED46BF4E1F873527AF52C13078ABF
+93CFA6D5E87708787DC837B554561D07B2DB9A89B886A92E7615598566203FE5
+96A6D048ACFEF549BBCE51A9EE6CE333704CFD95926DFC740F5A6896D22EBB27
+79603F94943CBC04381C62F5C0AB6FEFCE9B71ABFF7FA10A060D7CE5BFE481B0
+32E05B3C998C9D89CD66E4DAB5422D01B386769A45984EA2B3250786533E85CB
+9F1595D3556EAAE9BAB4793D6245EC8B8D16A47697B51772CB644BD58E81F416
+B01A9223997DCF9AAB43FB3CE9C8778039BA2D8E075FC02BB3FA5D66CCA58D24
+D9E0261DBB8C11092320D9B0F5CC79FAF53EF2AFD99D5A7732B1962668A85807
+9468AF19C570B30F7C798A4DC45D0AAB6E51DE57FCE9F19C468741F1B55ACB6F
+C9357E6ADFF2A2E2E84037170DD9E3F217D22DDEE6E8660C7988961BDE9990AB
+4CF63B8D0D60190BFE810A5661C8E02D32283B304CB434533629D0D3826548F7
+EECDE3892C213BCF51BB7257B1C073A39928D1B67DC28E98CB0F7D1D0B158EE6
+D49E399D58B3C6321CC9A2696F019E6F7EC0DADC
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMTT12
+%!PS-AdobeFont-1.1: CMTT12 1.0
+%%CreationDate: 1991 Aug 20 16:45:46
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTT12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+end readonly def
+/FontName /CMTT12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 101 /e put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+readonly def
+/FontBBox{-1 -234 524 695}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E
+C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E
+3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B
+426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D
+D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161
+E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32
+6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5
+A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE
+0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC
+85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF
+F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4
+C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC
+12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D
+048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8
+0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725
+741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB
+9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE
+306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371
+CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC666
+1353CC1FC512D59DFF847ACCD5A0FDA6F4CF4BB7C9EE62271154425996A08944
+E79BA092B9C46D95B60E552920809BA9381100F0BCC0ADA2151356112D2BC805
+B7BA9B4FAE18B451812D36A006CAED7DD4BE2CC57D77AB3CD68C3A36EBF00C84
+DE0B7744EA189CD804044B0ACF0CA7DD7BD0338595B6AF02CC620F4AC22968CB
+E47A8389E2D6CEE4E1F4E2B6166D38D641206C007A3E5BDF9F295FBCD665C6C6
+6D30F4E3F6C41361A4FEA2D7B803A7D0198ECE994B6BC48F24AD243CAA496AE9
+4CF6B05BA607114574162FAB1611A65DDC069B5E074783640FB2526B02461BF8
+9D6BDC3A50CEB8AE7A677C697D6AA75E18C1EB094575247D90DCD94218526CD7
+5853E82F44636DA30249835F50AE8353CF2D84846FF0041350CB27EB59342D5C
+405747DF9E6FF28E3A3278B9AD1C5338A9E1749FA4B4B780DBA0B2845BF9D39D
+512ECCE5EB9147639DB6C99343EE1FD5A7B4E46AE768218BC2DCC447119DC159
+2616693AF9F80DFF26D5923F05F3059551CDB0787B592AD23637CCD58D101B09
+A0B5A90C2C8F0BBB51D09219B124B059C90FACC2B550E0F23336EA72AA934083
+E65053BDD0EFA12DF4E294D0D622E81FC44A9625BAEF51CA7AC29D3DA03C482B
+79422328AEF3CB01EE3FE4F934C551C039A352BF4644C417F49CDE280CBC391B
+4985104D06E4D393644E5C70DCCB4C6E18F5CFCE0C2976971A4869DAD0B37455
+ADBB0A49D4C48BF342A1E6A639E51B544633636240EA84E5860AEA78F8ED2A10
+FFF7912FF99871FFB1AA53ABD8AE839D19F54F88DF5AB4B8BEFFFECC81B17E4E
+41877F3F051B2CBBF1EBFF0C21B42C22DD2FC72C6BB96C3D5418DCDB943DBEB2
+6FBC871D78E893E1AA4F7E2885869F4C6BC8B1E62E34258BB60234098B8AD53B
+8EE2ADFC74F6BB04D4525EDBA025F5EB3AD3B3417271FA0FC55FB789E93E7585
+88F37950F9BC82168F0FA9776625CB81CB698B5F6F3E0162DE0A2A05AD702493
+D754C7DD1202AF9D0F243B10FACEC3EB827080871E67CF08219CA2AA073D0561
+2775924DAFECDD08B21369A41B62F402F4BB99D0F2B42E6092A7ED538F1EEE28
+26134A7A144D039F2BB9C360F099E093393F78F80D6B190BA9B868CB9AB4AC2C
+953D3C264F3713EC69CD89E094FB82BD5ADDD16ACCABDAD8FDA500EDD43041C7
+9443911317C9DD565D6561A88C8DF2CFC392BF3A84672F38EF3D7092090F79F0
+C55CDC64C402F71EE38AA55B9932700C0D126C08E77280DAAD8CB7BADBC65A8B
+BEA10BB3B3EE45C708602E2DA24BECA9D21010A0D5668C030C59862E20F19922
+FA69E63BDF3A68121F4D129914D05E3504BFC8A0B795B0EC1467393013933135
+E65FAA16FCE8018FC4D2DFC9F1F6C68FC22472D5B003C05F890B0C87A377003F
+FC9462BA8E8D
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMSY8
+%!PS-AdobeFont-1.1: CMSY8 1.0
+%%CreationDate: 1991 Aug 15 07:22:10
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSY8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.035 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMSY8 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /minus put
+readonly def
+/FontBBox{-30 -955 1185 779}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
+7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
+A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
+E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
+221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFBB2A7C1B5D8E7E8AA0
+5B10EA43D6A8ED61AF5B23D49920D8F79DAB6A59062134D84AC0100187A6CD1F
+80F5DDD9D222ACB1C23326A7656A635C4A241CCD32CBFDF8363206B8AA36E107
+1477F5496111E055C7491002AFF272E46ECC46422F0380D093284870022523FB
+DA1716CC4F2E2CCAD5F173FCBE6EDDB874AD255CD5E5C0F86214393FCB5F5C20
+9C3C2BB5886E36FC3CCC21483C3AC193485A46E9D22BD7201894E4D45ADD9BF1
+CC5CF6A5010B5654AC0BE0DA903DB563B13840BA3015F72E51E3BC80156388BA
+F83C7D393392BCBC227771CDCB976E93302531886DDA73EBC9178917EFD0C20B
+133F1E59A6C75D5F3F5C6AED02D738369ED9541D8815D9BC42D34C187B1ACCCA
+8D5FFF1FA552AE4D2C870DD17119C4BC8D4E6DDDE0E925FBC9391C91D374019F
+B1F6AEF0498EFAA5974AF35567983E6F1A3963D01C1FCFB2CCDE0DAA89CEA35F
+FF4081BEC095A7E0889C4326D0B26B343528F28A7EBE951B6B59E77CEFD4FFDC
+D8A90A56EC2B520060869AE646FC671A833C92A49961EAFF92500196526B5CE2
+3792E028EC16CD1402D86FB8AD69679F70A14AD2276AD0A1CE82302ABBAE8D54
+308988AD
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMBX12
+%!PS-AdobeFont-1.1: CMBX12 1.0
+%%CreationDate: 1991 Aug 20 16:34:54
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBX12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+readonly def
+/FontBBox{-53 -251 1139 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
+B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
+AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
+7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
+20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
+B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
+68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
+D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
+26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
+F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
+77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
+BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
+C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
+30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
+148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
+E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
+E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
+337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
+0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
+472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
+A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
+33147977F35D7F2295DF003B2494214A6E5124D77C249D22668C746258A7A526
+74B4730926C21F0845E0D993665F537A40BE00536FF3D3A4B3B069669A7862BB
+CF4F3594F9AC9A78B5285EC44DFA70C9BF9941E2951127C43119D3343944CF22
+0073E40C5FC54883D0EC96D1AAAB4092A1EC9F11725DC9E2872F31789CD2FB8F
+1E989A43792D12481CF61AF346EF17FA1DD2B77A5B70E27BB643BA1EBF8BDD2C
+2EF11630E347E99D4CBEE4FC84CA12857E45785516E163776E22D405A7F03FC6
+F12556F1436704A623D42129CB0999038505FFB9255994D12F9985CFE0DD41EF
+60C7A1DEEC9E1D01D0F679E52BF8FFE9DA00F0D3D6E3C565AE94A52DE2DF610A
+34AA5B2F99127005354962EA95A09684A1C54603982F6ED8318DF4A2241129EF
+E522D97506F51D12A07CD458DF01AF358D73BCAB83DE4CD603125F38010A50B1
+7F6BD39F4104228417ED5380759B971A145E960A79AFA0A48C3C29D09A071259
+E089D9A3DE17058F6C11BC7A368716373957219754E20E3B70EB3CE6E9DD85A7
+192B0FAA56383117FAF94ECDD8D4476AFB181E6EFDCEC3E792589DBD045E0762
+DB29B6144C22E3F7879F0585E50E09B91CE4247D5F58080916051E18018D2030
+4991AFA89195438B8A2FDAF8B507E1BD71CF6D39E6DC72B4B989C659CCFA3C24
+50503FA10037B723CC275653F5AC1128CCB4CE670944A42DA43CB775F2BF0094
+0642958259953EDD31F1D4DE158DF581BAD6E295BC018D3D068251D948330570
+6BA53F928D3DE4189D700F894F38A86F77E40C80DEA4024AD39D337ED83BF953
+86D51456BEA836BDA04F6316BFE091135061DDAD9E72F7241681A1B984A7CE33
+10863277DE5DCC563966111C3B8C527F2544861038A2D118F0938E681BB6BA0E
+0A17694C71574DFC67936807621ACB2B2E8CE6EA24521AC83510A909D3D419F2
+77A9A69AF7622AA6E8818CD498CCCF34A1EF5FB52FEEA55D8D012E2A49FE6BAB
+988A4C3FC111694FD5DF83793D3FA412F9C52F75DDB64F732A8781B31C152AE5
+1A38F4BE47EED3B4DBA1D62018C3DEEFF4DEB4DE75BE27F9795199811B13D3DE
+0ECC72D494035FF44AEFE8E105E9FC8C6DF16F427D9360A2A8900E9AF07A2641
+F266472BC178A22066E27B6A5007F3192148F1FEE90EB0547A3EFAA07F277976
+8DC7F61E361F6CB5F5469335D9B108C00B8A5463569DBF691B189C67C5D1C17D
+C42CF62D2A64D8604643D7F2E5A9B469B1FF5887D75E81D1EDB8474DEBF5D0D8
+9B763CF269794AE655D845493FF7A2A4FBC386E793192F171CF7E9600F11B3B2
+FEDEE33925A710B50F89720DBE8E13893E9A99F3E85D59DC507C36989350A337
+E43B795D5ED589944D393669909A960DCEB7EC9D85AE4F9B762785790F3A0BBC
+B578B720DB50A7776A5281F63CAE389505B82B2957BDAF5B8D6FEF03042FE096
+F6718635638ED179F20DE6B667C1391FA46C78BA5E94B17E8BD87D7D252A5899
+A2A7B6AD5FC24D6B1685E1D306A164DD420EE295C35F698D0E199EF8E4358FFF
+FFC3C1F7CB4DFB7492569CAB7A1454FAE193B5231BF8F3BDF91E1F65A582EE04
+098998408CA5D30E3B88BB4F38415B0B5B29D8F69D4B4D998CDCCEB26869AB1D
+652DC6E4F49BE882B49017D94FC4D5A35D405EBDB7816BDF26573ED132806B3D
+B724A5A6389CDCA9EFAB31ABF9AB9E405F77F450D1AC459FC8785CBF0B7F7E4F
+B1BE5837527623FC9565E1CAE0648E0E99D789E8ACD8A5A5228DA49C8A4380D1
+E4ED5647C52E1E54C2EC96DAE874F9EA397ECFCEC10A70B8E6A3D435F331B29E
+20989C717DB44FDFD4B9D4CD3D972534D71E5FD9060646AA9DF73B25AE8E4FC3
+47722CAFE1A64A93241E6DAD0FF3F63281F4429D6E721680F1254324F8D20658
+B48CD2D1CFE3EB6DB3578121017C2AE2761078A5CFBB17B49D9FD5B3062515EA
+DE65CDF92BF386C1CD75CB5A3C8CAA376B9BCD3FD99AC91A822183513BFB115B
+FA9EDCB022FB8489A8B0278EA4B7C064C720C5A5825851C8DB7CACAB01343093
+39EB1873FF49569BCD882AEEA513B7B72268C46EF786DD621E40971949113A1D
+4D59E3852BDE0A670A2CE5C2B40771A08C01BF7F8DEF69F848285403939E1BEC
+57377A5DF39449FE89F84BD680A27BCFC94546D7C7AD295D257DB2E5D6174ACE
+B30699DADF744079B950EC4DF875416631658D52476D3C404D2573352D366D00
+46EA3A7BDAC95E49BE2E9C08B954E983AA11E020C3F7728A4E316C091F6E4822
+33CC34CA0DEABE4EE0E8F2EE4BE2A6F8CFC36F396E45ED2B47400C4A306580FA
+134DA28C336BF213D155FA2642EB2A54572ED32EA3C3CB4803843ED04A0C94E0
+2C9E70290D2A15CDBE3B30B8B2AB03280C7D1317CD3B740E04F71456AECBC02F
+FD38B33097A70C9EA0EB292581C654D159BEDCDDAA1CF2BFBFA54E5BFD2E3069
+1E8738B93AA160D89AB6F3A76F3651016984790D22713FAA8A4BA4830DC87F99
+87F966CE5C5768B53100F85BA1D81969BB181C591EAF78C1A73E0F8D14812646
+D7655905B54AB31B39C7A202ED15449CDA8E18698A294A5B22C65E921A6E7766
+2CF104D45C53AA16E245248A0B0E71E6D6EA7EB1567D2670765B67658B56C73A
+8F2EA25DE4B4B45EB68015CC7A592AB60E1F4AF41AF1890BFF8E2F04172087F6
+496F0F73AF7EE8B5D52235C50BE7236F406558A522C5A7ACB97308FA6F278A4E
+1CD5FD1538D9BE6FF4D1FC9C92634040E50DBE5DC0738855D44CDBD64798BB45
+75876F2F49A4A95E761C6DF3C20548DE2E82C68C8135F30B986116674B03F97F
+F224233144BC977D197215AD91BAE59BBE2CAC04AE8D27304C3A685F7A3C0C0B
+3C7A23E88B38B18CAC9FFEFCA92E53DE08B8698CFAA3CDE204F8FE13828A1491
+4AE3DCD1603AA0EE098759FFD901B633D8A4B1CA441F040CC1B76292F1D96761
+65CFEE423EC390FB95C58DA7A462A11A356E147F18399F6F260D058062459585
+1AB6B9B7CAB262B5925FAA6D90143CA06DBEF1D08A263AA55206F39728387452
+BF89C0F36F472636D9D82065AF2F8C3B985A7229603623F3520E8F1442C897AC
+9378206F2E559FEA568638B69537E0E12671B6068D77AA92DFAE98A9B608807E
+A231674C664BCF7C343660ECDB66FDF3427C6CDD24CBD6998095BF7985AEF3E1
+390FC75577144A92E6C3D076B47CB3F0A1DD91979E88B7CA7855A822C1E5CD09
+5D6D11D785D62F7AAA48AFC6716279D9E31375B936D3745BE7FBC5806EE636C5
+71B735E0AB32619875120A3DDD20C71EC38F704DB9BA2FB3BF20383192AB8CA3
+E75E0D4FAB0EBAF9BA1E306DEE2C5BD8B6102EABAF7A021481E7B82BBB1D3EBD
+9E0D87574B641D63120E25B6C3A73754A405D0F199D4A2EA59149644515A5BD5
+4297196C5393B17490DD561CB28657435F6B95F6103F5E1CF10E9DBABCEC8AF5
+AC00513EE4324BD8E526CDF20E402DA6A61655B129DD0E1AFF23AEE0ABF16026
+B178AB96555AD6E931E431B1536162A5DC4CCB31B3105D01BD2AA4CC54625902
+32C490614717804D940E0DD0E128F887D70FE37F37421075AA37464CD00D7B5A
+3469704FE431EA37257868C3FE7A735FB44322FC3A2DE39970AE5F1DD3DF9AB1
+29CC85C6D8EFC7E9107DB3D68C52610F8118EC75211CDEA9EC2705607147307B
+AFDEDE11F9453AFAE86159C378AA4E117D93A3CDF5CAC53B800F67CB8C9EC38E
+DA3CBB1F1C8ADAD753874ABBC307EE524FFBC0F0A7A3E7F59F160B1319F102CE
+660DA14FC169E07A3969712C96A4354F5194E5D63466CFA0254E4FA870DE3CE2
+33EE6D374F2DA785038E16DAC620C4B992D0FEB5CF66436A1B65183B21B9C421
+2481BC04E02D1E6C1A5761533FC38873B741D8FA5E23CE58C2F4E92169772A25
+A73CBF17D27D7A95020D6CB6F294234EEB478D94826CBC824E843AE827B9BE91
+24D64E11E31581172F185FC8F55DFFC708DFB147E93939476E0701713CB3E2AC
+3A6B71459A232E517ED0853F497E39678EB3C087814AAD58DFAEDCD1AAB6E0FC
+EAE1098D8E7F2F96A7DABBB7E12BFFAD77F2230306EB0B4453479653E7250698
+81EB641D055E333A223093F27C0785651E43DF22C4CF44824B03B13A2F3EEE69
+F14CF6FC6349B025747DAFCFC739E095F53C71583C0D6DA1A79507473E456C2D
+3C00A6F0586D7DDC4DF128B59E9AAAB958C93048A1E755569BE2F51C638CB9E7
+056F184B97F716A4EEC912CA14DCAA6B7A776C062ECC9909F2EF4F4C8B48B402
+3772D1BA6E546C5196FA74E8EC7E692CA0CA4AE5910921A88DA4D98D0D4B4E9C
+9A5999A6273DCE4AED0AA896281588B761733CE277052885A86786340B31CB86
+E96B3F4870FCA0D674E49857956F6052DA4A0CE89D2612D60E562DFA355513E0
+032490D9EC78675F514018ACE1F7479DECCA81B8DFC6218131CC41CFEF74A6DB
+EBD6DE60856DD891130D3B11C471B475C0B2B163252BCB65664B9425CCF71CE8
+E16D93213AA1DAC9B74344821B6E948407EBF6F8BD4BD5BFA5409CEA2E6B90B5
+7838DA4F838A14BAA878F525481EA5483990720D32D702E0CB933B094E89C873
+424B3C5BEA1A390FE1A26ECB741461680BBAA039244F7A2B98AE6C9B73F696D1
+A23D38C6C268AE06E6F085254464A8F30ED1EE0838EF5375ADA3973FC4CE06D6
+07C8459233163BFA392620210D91742EBF278E1739CC3EC39785D8D53729BC49
+AF58E01DD386851AC2E54FC0E731DE642F54E0C311EF99258A181CDBE5D384F3
+E96456AF9799A7E9009F8501F139B2A1C9FE96A414D8D1C5BB0457401D72C0CE
+49383D2D3285D05470B6FA8177FE5C4A489CD50D16C6F32696297BF362959852
+599B68B77481437A298AF29F0B17790BDE80EB61D049D62A8E2FC357A7A4E95B
+0D3DD7F1D0B21ADF3B088880FA414FEF6FEBA20A16ACBCDFA41057944F20E6BB
+F92D44D45D4486D3E25BE387C0CD6F75F5FB26A3514B6238DB3E80A248D0B956
+15376DAB67B5CC99F07F3315EE344A325F77F05C4CAC926BCA7B13E4F11F19CC
+B3A426933F62ACA29B8CC541CD5C9C30E7303BD5082CA212AD23D9A569AA1D1E
+FED97E242D827C16D44DFC78BCB69CED25C510B234A07C85BCA12FC8D7CBFC34
+F68C86B79681D5753BBF9A6BAEF0C9F3DDD94DE13219D9D2E96C7CEE2DAA4FDC
+DD5751FA1B28918269C5951D25BBC6317D1B5751ED20C2A0A55FE3726E8E2FFE
+F008B1D6FBF8A35DC7852428C229336749BC28EEFA87862BBB296B0D8BC8E473
+9238C838DAFA3FDE1372E2F294C5D177A4A38B63F5EB760E528AE502E5B0F30B
+40F486A4A2A615AD6C37249C9D84CA9B1E1FD5F2B97AA72D3B192DBC284E905D
+B3CC01FF9F04D14357EA7C44ECC3E8F393B723FBF18E234623E07A6FC6455A4A
+4CF37A0D0BE21FD25EA0CF46352D54219E609683CEEC045EB750804F3ECF6044
+C0BCC41AF57B2C759E43692465A609E2B0CC09435CD55A7A1D5C89C5422284AE
+0DEDE774DB44D5D93C4B6628AF926E0160131F9F8B298675EE342B5B85FFDD01
+4B0040E4C71BA24B95196BD588DA5C87922E7E55641396A104B1346F9624D5A3
+F83094EFA3F2B8927B691CEC49BFF322103E303301A524D25345E295DF94798C
+B8CEB368E81D3810D9591A7FC6E3C6441F24D195339654072FBED29572ECDC37
+FE18D406AA8E2503F8F1F6638EBDBB26E8C8499CF07D60E09DF5817A9E3F264D
+B53DB0676FE1744F1C34F1B3F8AA361E04218CB9956ACE619F4CA50333C99348
+6EEA62F9AC3D165036AC64AD32E02F7215882A5FED94F16D0526EBDDF93CEF2D
+74AD72FCE5E53E639B4BB3D14B1EE5A9AD76151F12745118D25829D62A7882D2
+19ADDA574F660C21F6413C5961712D935CC3CB607252D1CE8643336DCFEF883E
+981CFF580BE047C1D7157ED559C42A8B050E3A093B0432623D97679BA358DC40
+BB9C40741DDE89CDB409D93973EB27CCF1D37D0DCB42E8A00D0C6E047F044FFD
+8D91FA441DB33396EE0BDC890C864574EB4A73A5E93E25E14961B9E8C54C7786
+6657A8A4640F60CFECD64055E7E6251FDDE543E2B4666926C81D4DE143A1335D
+BECAB91E4B8BD4EBAE76AE74212FA558F1F2D8B51F5AF309F3621FD6D3A148D6
+B0BC6CFA72BE195DCCE41D6238B32FA5DF55E37B3788315493C5670B7CBF9C7C
+5AF15B3D8AE0F8E2A6050E680468F7FD4106C333E43F6F5CA792CC5BD3BDC7B4
+57C4F198B3A41946B3AB0EE4A46D552D107BAEA2E58DA400BAFE89BBC1A221FD
+3DA506E592A5F118E90B386B189C631D01F56C62265B9675FE041A69824DC161
+E9695C4C8417C1A3AA4F00F000F5C80B0E94FFDC23845A86F9060B296F936058
+C84E15B74A02C2A90DCD49C64C74D550CA2EBB206B230C5FD837A89EEF3DDC18
+8411B0D2DC5EC948CC2684844D91089457842BCA85E8E74D309212E722E8E20C
+27D798ED278182C16882B886CC6A2EA05147B04FDEE692959910453D05484C91
+51C878597621FA94C8ED55B20766E39CA42B02E2E25177BCE9321D4ED175722F
+0B524C4FC526D744592F7E3EC252CAF94F8A526F2BB2E52815758175F991DFEC
+061AF32011AA8080CEB4FA984E5753EFA4E13B038B99E41913DD1B4C0EECA452
+F812C0F7F84413F721A0C6EB4C5110F688AE65C9FF42B80B291D68180A67796F
+96318933250D5956D59D11C9BF45017EB60DD7EB21CBDDC5DF1467CB0127A80B
+B031AFCE0C3EF3B67E2F0A5CA03AB2F4F627970697C1B6D681A98B01E7A8DAAE
+DE0384DBBD8AAD6DA4784ABFA1557C08366F27D453B9534CD5A6524988121686
+7807E9C77A93F33EAC102F615A726563AEBD51AFB2BEEDA3693ECC02BC9D1236
+7A2B4FB44001A73244E63FF65F4B0BCCA07E9087F106146038EB465A875D0B31
+828722572C2410FD55ED1FB775DE68F5465D0938D4825F02AAA8F5655AC90CAC
+D7768A8B6CE5DB56CF5022C9BC128723F51668085E0D760EEBBB09C79D328FCF
+96250A4D5B7270713FFAD86C0292362A118BEB1E9DEA0B553823A2147CFB5E9F
+ECF1D8E7F7147C4A1338E68699CA04CB4EAC5C84C4956414FA8D233B060A91E0
+E390AFD1955651F963985ACA2E4F93EDD6915ECD87236C039F8F065ACF0E88A2
+1E0FE91A1418ED9759C8728B81ECB91FCDD13BC61E80DDAE1403E4F33D2C71F1
+6CE7212B1F3E27B10ADA9C0FE45139B7E9C41CB62CCB048EF8597D761FD062A5
+85CD567A75787855CE2B8FA58806D7457934EEC97EF60E2897F3D77B4ED74046
+A0D0F8A8C76042E5322FECF2FF8564BB70B40609F6664DAB643F8DE79BF02271
+3F682286B50335A9F69F4B2630D205A1C4E5C64682AEAE8B0BBD9F9C0021B70D
+590E98F114A145C4B860442360BE1219B185021BE588C1D97EEE5DF474C180A7
+DC0AC5CE618E8D5EE22C736CA80B8CFB0C87384C1B4996E9334C297157A76BBB
+B82ACF39E5EFE051B7395B609C9A42B4D0A81AD20455A8AD159314115AF19E6A
+BE82C6E938B0C1B702AFCAE1E3580CFADDF9C3B1033A0878A4949D416FC602F5
+B0E748FA84ED9EF80559467D407C99C3477F00AE161BDA42A6517640A700532C
+50187D25AB213AF0ED8D6E47BEE87EAF5C51619297255ABB0AB009785E1EC731
+5D9AAA6856D858D841DB8CD65F4E77649F336729A12FA73BC9DAB4A16A2B75AF
+E418CAA7B764B45B3F60218405AB80A159D69FDA668060901C8D93B000318A50
+8ADDD8188E5E9484BC7EB9A957A155A82DA16B6BFA94F865F8CAE76EE863B10A
+C88AFF9D6F2BD2D30CA267D261B9D50839E31FA74E43A3C56B38008FE8F376AF
+C3E335FE5AE858E818ACC98EE00E7A660839BEF8DBF8D512650F0FBEEB206DFF
+E5C0B9BA3B8EE3B8C6755FC284A1FE181C138C4C00E782708E13322E3C251EC4
+2ADD94AF4218E20F31D8C906A98F6EA8EE8B6D30DD67E8DA9CEC8F199E1B7612
+275F8A15A4CD8C9F668948D530337F402202A3256D02B3186533C4CEC422C689
+CCAA09BDF541BC8F170B5280E21C51F5D24C888BA8370DD1C2EBDFA9429953FA
+B54086534A05AA9B67BF7137DA55C5EE7B8F0ADE4C0F4BF58EBD7A12EDD426D8
+3D73DD9054E324F35946B3990B358B85EB2E91D3A312B85340B13BEA04F7243B
+B54AA2DA581DDC77691C6C7AF78F9131B977B8C5243A248018C0AADB1D7CCB9D
+0D08CB39AE46482EBA33A6DD88E25FC5E4789E327B5C4EB31F38FE113361778F
+AB83FAF25846C120B9F736E7B20787433943C59479C25E9AA10D214B21787124
+957ABD244B6552774120AB36713C8C6AF10E28814D2D7A51E7398B3938C24C56
+C71744F3B12971254BE77D5A745EF3669334165B03D76C36F0FF812EF26C8151
+BF1704CC7371B93F33AAC76A711B8310D1127821A1FFFDDD8FAE90BD21146CFD
+F9EFD6DEDE72B92081EC21EDA75F72A5189FE5D4E5C9B2EBB285C68CBA981A7B
+A5017ABA6CD72A09F8A4785D818804C705474AA093070A8097C23B268539821E
+394D03A0274CAABDB979CCA2CD6CEFE3D57E5A84A272E10623E46D074B712E66
+C68DAAAD526182FEEC8EDEC6DC53C137BF546FB656ADD87D6A3547C0C5E76ED5
+A3A36ACDEA11EF8C967057FDA95C75A307F0987872D32DF8AE7F898415C445F5
+DEBCC0840F950DEF271C2AE5C64D0D95A03CF9F3ADCDD7AD85EE972793A10AB5
+C7CF78AEFF83789809E4BA7CB4A6E8CB9FD662902DC3A9E07B269BDFD50DFC12
+4F7B39A7859811014CFAD4E338903A24BFE4A6B7A7D1C0129CE3677A4FCD7A97
+DE68E10087244C054B4515EDEA112C0B1960DC04D744B982344A8827D3C54E08
+70C61E912DE19181F291E8C43BB5EFD06473B1E329D7E6CC10EF66348419FCF1
+68D610AD54EDF93A63198A7F59ACE64057822D32FE2AC3332B378558B84362E4
+EEE47CE17142159ACCA45DB205C97B584688AED31E155BCEE23A844830E15028
+01710DBBA9D314FA757A0EB9B7E6D8256EAE8072CE393FABAB0794023D94BDA9
+CF08701880B9776EF841AAD7FD79F1B195DF1F1B94E189EF72E2DD020038E5E5
+DFA34033FD9285F16657CD0E934B462D048CDECDE07C64522AEE7F9F1A87D3B5
+FC1B6B51E00A1C424EA66E54409A235BA9E7046597AC6BAACECDC5C5893A6C67
+231E5DCB3A36E16FB647259D7B5954DCBDFB32E2345E5CD9E59D7A5EF480CECD
+BB45B042634BE679DA5B931670D9F0ABCAA6B1040A790C65785FB8435322CA7B
+8B7C1EA60E870A0D987142E459392766EC3B4A0FD4F8946CD700424EA9C76F4F
+6F17D65EA4FF7C3B9EB69A8B64F7A39EE398F2CB54A47B6FC5AD0D1F2490EAC5
+CA5E3443B8B3BB30D7C825C2B504D97F169E8A99DEA1303DEBB37BB292C56311
+95BE320318774FE7E06EBB40A5951BDDAB1B3544586E41B66C2A8EAD37F31BAC
+17C53FCAD939BB9DFB1AD9A58B7C02371AE9E7B328135BA51E2D86A87B11B648
+8CC270B15F14BEB26CE9B1682B7EB9F419EFD6787AB337F112F11B32D9B13192
+BC175B9274AE658ED5D3170912046BD19075A3F1BCA5B8282F69A76EA1BEA2F4
+191DA56EDBA5A9104B40FF56963D9CCB55408351665A33818D33C2D913F53F23
+73614B216F12DC1DFD2C99612A9AC94C084AD72EEFDE3173351C6584F8B059C7
+2671C242ED819DC9FD51305E675EFDE73DB4756AF169D424C12B506BFD6B8281
+FF6D31745B48E37938FB618995DF9B41D1D2542B317156247A61FFA508091C35
+DFCCE1215BD4BF484D8A8288F06FACF18051AABE54298398423062A66D6D9B97
+D45331C7397CE1447B260D12C83CA6B0E3ED4FF17403AF5E1BC90970FDD784FC
+29AEC3218A28BB65FC821BE55DFF46BD09B67F76D5BB62701CDD64E40A960B08
+07358C1AADF3040DC9C587609ED4E5CE12D90AD9DFD2A6E40BEF3EA5E5A16F2C
+FD5987D50A6895A59247A64D98AECD74FD2AD0D323A170A121E9E526BD5ED268
+0D29EFEA3483FAC56CBE5FD141899DAB435535FE7283A22C38C706B3D06044E3
+8F07EFC2A46CE195AE8B2E7A2CB3C95FF4EC6B9EB25FCA21BECE8BFF4EDE7109
+B28666199AA8AF3F410DD220F76EE3F0DCD55494E266F446B0314F7CB61CBDE2
+07609F1A733A5CC50CA1C820AAB29438A8DB3738251E7EC6C5BB28707CAC829C
+01BDD7BBA231D9403BDBBD3753A5493D4A3E3E4366346524C14C7CAAD7CC50B7
+FC1D159AB6A7CBA56ECF43ABD6B1669178E47A3930A63C319D28EC4E01EA8908
+E29D318FA3E89678A93DA812AD8A730C0E93425DC30B3B86E4C4DB982301D182
+9EA2E39893760AEBBC4EBCD89F37DE58DD0EEB41CA47280700EFA1200BD8A7E0
+EFFE38D0F3AE5022EB7518954537E71B1A021E347F8F72A40CBD31268288BCEE
+E80A666F922367F08E7BE7B0FB12F21FFF81A244D705D6A30461E0452F8DE567
+AC0AE270856D978E05ECC5A53BF95C4A6AD0A28E459170E9E0AAC375B5E912CE
+CABCAA41AA8C6714B4B437313C5A3332C3C10F80D364F23DCEE77834834A42EB
+8370E291A0D504BA74BEA3439D52A68628B4028789DF0E21CC9B7CA31A0BD294
+02C94628275F20986DFA1E8DB210538497CD93A216E07E811B04E9B6872A626B
+38C60F77B3227E62530FFBE8146BEF9FD7B2F29E2376DE40D5CBF4FD994BB491
+6667180182F74F851C253D1DFAB3240BD14D08D1C6E6FC62B115A571BA0234EA
+8AE388A8F248426DD92DD65C3A5CE468074E797BE6C6C85A788FD30001FFE54C
+B9E80128DACAB4B6C9F66396BF2E95C7927A461049B1470F85E3AE08DA937950
+14356351E1AB5456E8633C323E2E53F8A2167CD6C98AF58A86E68B11E2E9DCA1
+279FE358870DE824CB4ACEE44AFBF25C6061EF34D1859F283AC3B77FB9C85362
+627A97A3831DF574A0134BD4311E91B6B9C40CD4BB98F8AC4FA5A9156E4637A4
+E89761B080BADB4085656BB9FDEA74F58D82CD923C821374C456F084BE920469
+340C12B6E481F2D9461D79AF2554326D728109D91A0EA5054AA1FEA517A1F3F5
+28AE922E8EEA363EAC6E9976BB66608BF85D0CF4E089C9A071189F2E7BB46D58
+EFF863EB545A0149628B25214B0ADEEF2D61DC4B4481856C59E737D6660128EE
+9BA29B01D9F68B11E11DF621D0C5B4AE395B462BE75FD8D7365A2DC356BF9EE8
+3D71AC91DE6D737801385ECDE8B1FE46CAB2F8AFFC3B6B6DFFB0584339327304
+1095E0AE3C89755456E6E537EB368BBBC6FB9FCD709D7C25362CEE8CE6A0B022
+09E5B415647C7229EFCD15219C73DF7D85A556E2EA856570351FF37AD26FEB08
+975F745D06EE742616B002F3CB0DD107FF14A25D35113769E89136781B178A28
+4459C2BCB2AFB44D03B6F413EFB635BA86D1E12A50EC9149D3E9A14AA106A38C
+5FD43E928055DA5440CD263E3E5A75F4A897F3E8F40F02D9094E857247B84DE5
+CAB332EEA74CDB04E2BB30C2B63E2F69CBBF1D86D06E26BB11BD49A5BC88FE6B
+5077FEE37FF51B05ADAE17B7AD93B5A992BD1EF3B472303F4C69A9435723C073
+9A4487C78FBA21E66C1674D93343D824D6CB1A4B0CF1820F43E1E5E088DFFF6A
+2AFBB1CF5628C70D89FEB157DF2FF7C0D585A82AA6040535D0815F9D0AC702CA
+E74678F67ED15870C75C6AEB923670E968507555C917AA84CF1A83E5E400B375
+A6C71200898980F41B5C7AE192BAB5695234DB76C17511B810E2C5C2226E6E21
+9AEA5A4BE20D847AC1767D6824F7CF2A98F8FEF9D4C58B53C15C80BC076F81FE
+572D2E069036EBB45806D1961B5C493C5F6F83F261F42BB949CA2A1E1CF7E96F
+5E9554C782F446356B44055A48F11418F0000D0E754ED230F914354C07CFDDB7
+FF17EEBB24037CA79CCF613C3205636FC4DB3A8D3D61A728D4CC9C66C8D7D1FC
+9177F8FDB3D8DF0B0CC830C67BAA5D443DCD152D350D9360A3DFB871CCA97342
+D842DE1A3975FD7DF4C9873594B32C70A9DD7C2AF0112B38EE0EAB76DD96DCC7
+8E9CBE8F1CEA9387C3108EF6FD19628647F9CE7956D4641265BCA47705E827BD
+3274CA5017175D8C3C6493DD14D524B175B33551EDCF8FCD5FBE4DC2D5B30373
+BDD4ECBC4259ECC434418DB7C0987DD5076617982191766E2ECC66AC4A31810D
+A3E653F0CAEADF251BEE226E5E362A7CDD5866A35B405AACB9F9BF68228A6F1E
+BE05095643EF
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMMI6
+%!PS-AdobeFont-1.1: CMMI6 1.100
+%%CreationDate: 1996 Jul 23 07:53:52
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.100) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMMI6) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMMI6 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 106 /j put
+readonly def
+/FontBBox{11 -250 1241 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
+5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
+4391C9DF440285B8FC159D0E98D4258FC57892DDF0342CA1080743A076089583
+6AD6FB2DC4C13F077F17789476E48402796E685107AF60A63FB0DE0266D55CF1
+8D0AD65B9342CB686E564758C96164FFA711B11C1CE8C726F3C7BB1044BBD283
+9AA4675747DF61E130A55E297CA5F0182A3F12F9085AF2F503481071724077A9
+387E27879A9649AD5F186F33500FAC8F7FA26634BDCE1221EC0ED0E359E5EA5E
+6166526FEB90C30D30099FBDC1BC2F9B62EFEEC48345160804AA98F8D0AA54B7
+A480E715426651865C8E444EDB798C7E11040AF6E5A7ED1888653C6DBF5E6169
+70BCD9C063B63B561EF165BF3AF11F8E519F37C6FDA2827685739DE2C48B5ADE
+EE84F067D704D4511DBFA49E166D543CFD9ECD7417055D8A827F51E087CD2927
+BAFC7E6CFBD70B0FE969F890A11149D3D44D422C3370495DA9951AEE7253A49F
+3A9444C8CD9158D84117299F7F2332FEB0F94E6ED8BC7AA789A3219BC2F227D3
+3B5BC75FB53B55D72AF4A6A7BB613FA235B11BB37D059FD87127CEF73D5B3FBF
+9F91ABAD78BD9240BD9525EBA78095EA0BDB25D1A19E876F292882EAD5619D46
+D20317A345D931F4FF4EAE6216C27044CBA525E3B917CEA25A04C120466C4B93
+FC720E6BA832A06CCA0A3916CEF0968D49085AEBD243C41A448289A6F05CE3F5
+79148DC112A3CC7E8FF810B8C1A09E05F496C0F1EBA334E42E05C376C98F5F69
+C06C71BFC0A2F3AC9951CFBB143C66FB84F9C4ED27DF70869352D61BD5E11508
+0797B87C71AC58D7C35AB3247575482E538773F05A10428E53AFD148B1ABE851
+1893F2447ED2625629F49CB4AA83193C0154458634536CF78B599CA0977C41E0
+EEE3699386653D9C498F5DA82363911FDEDAC483FC0469BD264C4EABCC577D09
+D4AE6C4E53A68D4C2237A906784137945C9ECC75D959EA04A1A64D29FF2B928D
+BA1AF9F608F0C6164C42FB991A60789D53D7E59F0BE84BD3A25A2CB22AA6052D
+A817A6E4A5389DC1FADAC7133FCFC9A595C8D4EDAA97CA50026958D6634EBA7E
+EBF427970E3D57A955CF40EB8DFAA93E7EF7FD958715D933C6EA7A60CBC15B6A
+E06937FA13DCC5BBC02C73C59F1ED7F62844EAC788F0942AF52D88222B3062F2
+73865D2DC742DDF478B8A2B7B2A578E583CF1ED1E1C56C0F3C4F3C2A363BD631
+A4C9B15BB936D475E8CFD1B650C90323C8A29FD6F2A76DAF972EABE391258917
+53876AEAEED2CAAE226DB0F3B3A768C33034
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMTI10
+%!PS-AdobeFont-1.1: CMTI10 1.00B
+%%CreationDate: 1992 Feb 19 19:56:16
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMTI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 58 /colon put
+dup 65 /A put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
+readonly def
+/FontBBox{-163 -250 1146 969}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
+21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
+06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
+55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
+B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
+0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
+1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
+7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
+7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
+356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
+19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
+C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
+244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
+AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
+5C4DD885310A706B320AB25C8D742C6F29953254FA54DAAEE60ED477877D19BC
+D28E9AB576B0EA088171FD000B60D73B3C57F754BC07EBC9BF751B7D2B32459D
+993861B7C4B0D98C422A11BECEF76F4EFC0ECAEE89723E6CED53E3678D733363
+2DF068AEF0FE7DFB57393BDAA439A6A4C396F86032A98009EAE1247B7DE83B3B
+E46DF2898598FF5E6CA6953127432A967E4FD41CDD60D6E413059A58FA556EF3
+309178B57C16A763CFC9BEEC276944BDEA255789EF4E1ECDE1EA43EEDB955513
+F42EDDCF39AE522A1DC2DC523F046EEC4CCAE25792B702C288732F5B13B5CCE7
+E8B6A1A1DB86B1EA38883E481BEAB54023EDD9BB94E7780DEEA577ADAA169E66
+AB7D8607B409619E79F242CF52E618AC0DAE43317C507CDB27EA8A1472D4E8D9
+17E62C98DFB049C78AD15560CE44A39581BD6B555165091C5D41071212A9D2E3
+05965AA02B8A67AEB04D915DADC1B84A531A1D672AAA06E9F720BA88419A3183
+63D1F9A3BEF8CB2E23CD1F9C003BD7849F093D3B4C83C153A5A790C1F9E37948
+5799C02F004C61A6FFDEAA1F9AE884DDD40DEB1539CFE3C3BE03C7C33CB54D56
+2C2A0F467049797B56D407AA43EE6B8C3F978A7D945A80BF711C12D6BFFA3DED
+35FA8B22E68BBE4FEC59E4C56D3C57E14995A8ADFA51CC6C3A84D3D775CAFA87
+A1A0F45C0283139FB485B8FB0BEF5232494C0CB564F966DFE0D0566031392619
+3FE8F0BB6747BDA591DFB26132947872D3B209FFD838A17EB1D5047E37452EF4
+62066FE4498BD6565F613B96FDD9C4CD9BE88BDDDD65AC86036CDD3150B6F854
+CD3FAB9D4038CB8F86A25BE30C3DB367A71D7335835AF044E6E94B04FA88F882
+867C87A37C3E27507E945BD7367DE5CFBB8701B338957FF6843504897CC94E80
+84DDA15EC37428ACF8361EFD7A0D3679A9F5CE4FEBC059A8EEC324449D204982
+54AC21E91899AB042DAD59CEE900157581BE0F18E43E442DB653870C95BCA23E
+D56C0D00E832803197EA3063805A081FA04245C4ADED3EFA7646471F5EC9C9B4
+AA53B07B8C7F81E7F27151033209D5064FA1000334F446EF32C5D83F20DA62D9
+5B18A06F323EB3851DE949A372D67038620DA720FBBD3B8EFB90C1B72E4D2798
+527DFCE298B81DFBBAB8316AD7F1AC5D8C04BBFC05962DD3945A70B6FF5E5694
+26794668CC452A1D0B7D54077EAF2265F391B6229F32D061504BC37391B6066F
+B01C6DCBFD9C62194754ACBDB4C9D54C12AD7568C8B7DA216656E8B0993BE1C4
+3E215CF1440A7A1DC8745AA31CC2ABB6199BE8B84BA94196B1F1B3E87569032C
+69AABABD80BAE3C30F303FF8EAECE8B229464AE6563D85EE507AB94E4C7DA23F
+1CD976560359A583A1F8CCD8C87CFEBDAB256DBCBD6906F00A3BDC24842EADEF
+7B2D2F3A6DD4C8FE1CF4F21FE7245CE14C58E2CED3693DBE1ACF3858BD2F031E
+FCC7427732351E1407C6E973638E3C920254AA3C3E92AB610130FA2F1E52E393
+40A1C42D09BA1C7657E803029D2190CA072721F89203A03DA97AD6CC122D1D8A
+77018A76E0E1614DC44145273DFEF17ABD115E72697D64A5C4D8FF59BFDF698D
+834329335E9AAC90184308B21E785FC8E27D5E08FA10108346B3F8718B169A0D
+4E87EE842B74251371B1FF2B507DAABD5EB55DFF6DC5850E3CD18BFD08268997
+FA5950DDDA53EE9CEFB9B0034E4910EC70E66C7960E9FC81E5BFE1DCD5D9768D
+263333DE74829E8A4D5EEBCD192FC5991671E0A418C02B331ECBE6636BC6EBFA
+A396D1B9797F20F8C673B4E255F47399C67D9BA45C58B734933263FD1153B8BC
+F08CC711384F573FC38C1327EF14571D44922909D02D9322FB81EB16B5687AD9
+67A6B2A37AC6DDD10E5126F17D914492F66B172C7DC137252689FCE042EE575F
+0835278A6E934E1227D82FDD3CC675D40BD5CEF0EDA8CCF46FB0C8DBE6851EA6
+0DFF2E968E224B47B3DAAEC04FFB1CDDED57631EB0DC5E613F93E54D2F4FE643
+63D8E24E285C3DF7AF2470A947F4D5E94501530DC7AEC916C1BACA9F686F168B
+B5B88583600F9169BEE9F647EB4A5363EED65FC05A9BC035EF91FED5D5AE08E9
+635C6C1CB0B9ACA90959681F5B5D8C97BA3F77DECB31248B27FCF74D80D5B811
+B01A03867F8927537FDCEB531F6F5C3A8939774EDD50A79F0B4F3BE677C48811
+438A9187969BB16E4EDB7FDA075DF8857FB1FBDB6C391DD054A159CA1313F3D3
+8AC555E2895D0D86C1A2571E8612567A75F16CD644F23D092C991C182B40A33B
+D79772D8AE710EF3489E3C791AB1F6655B2FDC7FAA78873D010979AE5FE1FDF9
+EDA3BD240AEF41E1D7481275B3B52D3E02F6747DFBF6789010A8E9CC033086D7
+CE0A00717B83D94A6383605D25DC0FAA4349F057AEFA10B4463E836BA1B02297
+565E2B44AD1061B6A1883ABFEC3164C4032AAFB3B291D8253633C7DCF8A52FC7
+EA0AB308EC50B3E211A540B6FCADC02E1B1F4CD2AF495E7AF1AD9F7F1C408E2B
+137CD55175D4D9C714B947F12545EC7714006BBA19CFBB0965C2AC03221B4F56
+DB8F4113B1A8C637767AB4BAC85ECD4435840BC65368D2EEE6B02CB2CB5D32EC
+943B8187639F952784D92E074CD06E0C6BC22A94D57612C31AF4A39419DDF985
+0203B59C1A2642E58646F8C988C7D050AB01CB2000746EB663310E397FD89E81
+F05E4E4CCC119BD9CE6034A4D30E135E61F61608DE180160D974D663B12CA884
+00ACF6D276D8171F1063795EE3E9FBB0B921C4B99A282C3DAF30E8D2132F4A08
+C1B46AA5CA03B2287B6CCCAFE58F0135BB8CB24CD0BCD89A1AE797D5EC660AF1
+1C7A40E14C8EE8AB884968693D2AE8533E485E548B8EBC7ADCF3019ECC535B66
+AB7C2F562C18D6B40232A832F0A586743725AD66986C2AACBCDCADB875256924
+9DD999725CA9EB302B770331C71E9A8B42970A5A1B72D257A813060BCF283C32
+28D4DC30542BA2E056E4C31C7F36004B57A00066321B51C4B93E2388B55571F1
+5FA87811AC61A858DB3B4494FB6C49EB1CA29CADA1EE0F53DEB167141E48B65C
+AFEF71717F5A39F104FFCFD0EE5AF38C9F4C9E7098B0265D12A9805411776703
+B57DB832A6C8B6DB995F489C651DB43837C6C5C11D8C4127D28F77E7DA7CC379
+46CA767EF3D0921858CF0FF68CF1CB5E6536EADDBF36A3F774046B06C4E9ED0B
+AB63008ED0EAA50FBC1A639B633270A79D8930042A8964CDFE1F0B4F056756AB
+D76411B04203F5B9653AF059D03CACFAE9565ACC6F3259ADE8EDE8E323F8A77F
+863FAD935A7A2CF48A397262B1B6B5DCBE342F18C2DD26607088260621371640
+4703AFA3CBB2912A7B63E839E5584890DDE7CD39B144A3696899BCD2DB3C34A8
+9DA07A863EF8C0031167CC963F542F6D45F38D72F6C29BE350B840EA4FAE7C20
+B240DB6E01B5D44B285D91BF6A57068FC7D81459C9FAA11F37A27CE29BF21C27
+35533A119F19A96ACACEE6CF45A84C9CF713441D13BAF507A41FB6D93C167737
+0AB3895AAD8B20A04CB4B3655EFE8CE75AA243DFF70FB8F67F38967CA7AF7044
+08A64DA67CAEE4DF9FB92B42D805A5702EF5223DC8AEA2F2A2DB2ACD252AF708
+423A30C7BA2934DEFA5BD82FA888D9A34B1ADDC656AC867DE53085BDEBBF365E
+4E199BB1C5D2DFF90D877D8D12C5A92F7F5F6C7009FA1F6A85591EA41CF41B92
+D49DD757E0A0EA3E7972FD7F4282910033C28C5B7445DD0DC6AC8F05CC3404AA
+EE48C7F5A8BFB2825322CDFDA49587C7D0EAFED0F399BCB63AA33804E10CFEF3
+6859478D5F69211CA62009CBC6E3BFD8ADE4D085C07020FB4C0B2F8A4AEE521E
+96F2AA05FDAC9032575B69D4CF9EC3B061FB5F55C99888E29F273FC05D4EF17A
+207D9AC0AC5392E5308A2ADE82849399D12929D63F76113EA72DF13943904A12
+5A9B8B151E608354293046D9868C00AE64384BD99D7C5B35D4E51990720C0BF7
+086783E07810E888D28B58F64ABA384FF3D01795F0E4DD45C9B3792EF573F2DD
+260762EDDC32BC0EDF95CBC4331AF7EE9FAC8CBEBF2E4F40417E54790007C5C8
+C9E66C6F8D5CDA58A90544EFC1D0622F6DC85FB3CCB14DD32A3EC560EEE653EB
+5296518C007DDD9D9A3D523897BE8859E996A7C20BC3141323B0D1905D7AB4CD
+ECC86BE22D0A3BED97C354C35D9A83665221D0F798FC0899429352339F9CBB3C
+705DAE7E651F7155F84705021E7CE87BB29ED521AFB60E59C2CE0D23BBEAEEF2
+3E0DB9C64A6EFE9396A57F84297884095AB3224F717050199AA012CD27D62A41
+49F1E5685C53EC2B0BCCEAC2F425428FAECAC4A23FD39CC0B12F78E6A8DAE91A
+65209CA95A88145DE080325A403B4A701D7F7430A23906F61CEE30BEA11E23D7
+2852296D0390543C47164271EB3ADDE524642F065A76515C87F3C1F241DDCAAF
+095DC497AD3AB5C1C25E668B73BC8C48F3CAB1A2F0745AABE122B4E8EF9A0743
+EEBDBF09D07710C2AC0DCF136EA939E807ADBE041C2D548D0F762F3091659E6B
+604FDE8DE96764DD9F07E84E890801D0FE3A86EC34FDBA3D624A813B699B44EC
+D05E9133A4B6E9AD68DB8D69229A6856015915FE1AE7590E4D62B2B50C9B3F28
+B31A7F07488816994AC20BCAA3A4FC15663262D0865E78311D8C051324091935
+BFCA9AAD3478DAF42DEB1159A9FE6CAD727629C84610118BF7C1ACBF1A64B401
+1C68BA55A957646850EC6E212212BEB362EDB4D44AFDE94F479C298429F9537D
+87484F5D94A8D6B0646AECBDB9BE2A95FA3FB823D04336046988081017A350FC
+9B986154E708947766724A7136ACEDF30100348B5E6F2A239BE0F773C033E66C
+91E9C346C414250749F743D440F62CB0B87EBE2D809A8FE18540B216C4456962
+87C038C7AE48C5FB47F38ADEFE86103DED1225534EDCEFB9A76A126039C6730E
+DF84B0732F695D900C86762F485DB3A6C15EDED9A28AA6F810D602AA2FB30182
+79825D7A4B930D637E47595C7E77D6A7FC0A351860A47263CB826C5E1108D0C7
+87EC925D218C23110F1FCB4A4F96C384EAC8AD7AA5EC7BBE54409CE607ECCB0E
+961BA2EEE565F8E2657DB38D5CEA8910D52E5EE0E181F4E6C946C6C06CE06F30
+91DE68D403CF4E1E4EE0F659DD50FEBEF27DA2B50799A6EF1E9C20D88691FBA4
+0B808C8B6B2145C2C4E57CD5F28DEFAB3E84657FE89BE3E0065E69D7953D08C6
+9A78DCBD10FDB428CFC4A6DBD39159BFEC336BE49B97B56972AB87920C63C9B8
+B0A1D98FB97AF64FB5886CA921105452B92D66446007FEBF2FEDAE3010DC639C
+0784728529EAEB1104A0E067C9D827302C8E5B118AC1C81FE72DA2FF3F11DDCA
+400A137706CAE72E8B34DBD6350E1B62AC5808E09A3350382834F9AC2FF23968
+C4FB14EE1CDD7BB0BF8BC91EC707FD3113AAB94069F067407E84C89503CDDD4D
+39C32F0A513A41D1D7A4BBBE031C8301BAC59EA2CC62FD35606F8502233816BB
+32CBF2018F3712E44F6A3FEBCF8D475E5132428A7CAC06B95F665FB454313E2C
+AC971D6DC7575E019B04139E441836C7769C69F1AE3132AA76CAF79152A53460
+17C72A28F1C8AA94A02EF8F566E7426BBBD8F9077D1BA58A8B41F751EFCCA8C8
+0B2A1CFAA84F4996DF5725063B3076D116284E5D4504FB5B3E42D4383803D0E0
+0012FCCB7EF74FFE5A4AA916C7A6866F6618C4B1981AF383890F0AE68570549F
+1974FE114B0006DCE0BED483E6E07232B3313F4B91BD85C81828845207DFE5EA
+1804CBEEAE55A770F56E0C02B5CF22B8C6059DA580B74AEC3B315B4BCFA82317
+C85C113BA20337991D223215AB7D60D7948FF1AD56A6E02CA63F738207294ABA
+6BDE99FC2D77A01B8AF3B7CC621F61AB5136F2AC6C88AF8F258304CC5841A8AA
+C717C83CF72098161B60BEADA770F54E9440ADD234FEAE73FF2A253A09F2AEF0
+A34C24CBCC0A403D5A847BB8FEFB95D2BF17FD7927163086E41E8A6320BB828D
+0CCB3BE5B59DE4DD47CCAE96CADC2E1E1A6E6807E597001ED69A72772175752B
+1D77B1E13FC8FF65B2C1EB4DD27E7A59F70661502128B88F99E483E120FCD00D
+14393CA398D90C71ABB4BB59DD1DC3AE6F3AEA4E73D4639D46FE73F88B960FDE
+FC6928033E87767E985987A24423A54F6A852B01A799C26DBED7B6181AEFB33A
+BCC8F3E36481775A321104E857345D794C31A14F70A0E0C40E3AFE3AF4AAC7EC
+B3791A82069D1628A783CE67E42D4A069CFED04E921B1EA3D96D92BBDB7D92AC
+19D09FF3374D529AA92B3528F5CA3AD36A11B09B347437D0001CBAA805FE09AF
+5DDA2D9E3519DBF262F6A2725D91670C1B6DABA1B0341B994E18BB98F6F2FD0E
+5723C2B13F7FE42A6F649AA7EA882DAFD15C35B2CD4819FB69B4F48AA04DFCC4
+D98E07DC72CF95A833DB02ED1ADC208ADE7DE863AA76B53ACC6E1B9A8646AFB6
+81598D03B8E68B5EAE2CB0FFDF73BA6AB6523E5ACED5C387EF965F2D8C10DAAA
+B0BBF8767EC929E7F0A845817DE2B2729918A3BFD36DB2A896F4E661D12637D9
+A36F6F4437E7AFA9EFE4C41EF76581D1A3CE06FFD18C83D871CAE6EEB35527EA
+7B10A89046EAA4361F1455B78171DCC7021C79E3B978111140A63B6D0F1C9F40
+81CEAEA03AAA12D252E024E904E8221F922CB61F42567774B3796BBB91F0FE5D
+644740774226D16C490D798517C742A40AA7FAB0F7B105870015F8EF3B9E871B
+62C667FB1E2C4901F95DCFB400C86ACC0E3C7C0CC5D3C1380C02856627274612
+DB696634B5133A6928BA001A22A7AD25E739D30073011703572B78E1C4998D73
+46805C3CB436189D0BFFC946813D51605C948EA5CFD4382B9423D3FFC69A535B
+299128176FC917A333722F79721CB55434198A3947C4789FD0BFDA54BF346276
+D411F3CE7296AD56C67ED67C3C9726CBDB4C125190D97B56E4CBB0E818E8F311
+3E473921B12818E57DD3E0FB29E07FF089555FC809CC016D728E70516ADF7F4A
+4E51193A8EBC5A8E8B1A6ABB1512DC02322D8D637856234962387FE23EEA8EB7
+4060231CD31D5766919C655D94B9C996B583102041A50F6090FA371C8B082ED8
+EB09472C769848582B0122BAD0EA145439A5B2D2961FB4310392AEC5A747552A
+AC25A3036ACB13DCDB126B34E31E3C3F46F70FE5DA2E68D2F5C14C9A1B5BD46B
+4D0428C04B510D84FC1495E7F48762A73C9C52B78EF268FB40E50D50FA1C161F
+20FD9A833038A6B17DC75E247861C649D0F1C2DBEDF2B03EE2C004D65464B5EF
+32A7DFC6AB9105DA6E8ABD2A304DD4E052CD01734D316728D08214457428AE45
+CE4C4D3FB2B7336426F9E058C746531BA83AB991690A2EB3AA05277DDB7A98F4
+1C26FC0BADEC401E8F56BCEA7D7FACBDA5CCCC81B22D4A52352CD81DC3F61854
+FB911054CA763B9FD29D43B577F7DC8E7FB9EF814E4FCFD76686F110ED1B33AC
+36B12E84D5486777C737CF841E1C57F33224C488EFCADFA1405CD355C0C2C4E4
+664A5F3BFE0D8157983EDEA791C94A30221863AE138104255FF2579120B12018
+591D2CC780C5302769E7951E1DE9755727283521F88AA524D19F94E750B56861
+B2CF10FBDCA025B4A452959D67F4FF2FD7B76523C9722BA73186F54E3A82C773
+534E6DC0AC1204B54396DC69E5DBEE2125AF8803886CDFED87BBF86E73A57D21
+0B6770272B6B21DCDDDC53B8EB240716EEF77F64269D9672D44C91426C762479
+20F7259493F6F092D5A5C04777E9D33D20AE450918DCA3F3ADD1470AC9D5929E
+312393C732D1A07E6A49E0157C7996DD8F3E1A1AB258D7909362103E3657F942
+452232E6FFF2AA237958EE472A9D8230158C5037D1978DF1DEF89676C2668198
+EC5625B0E2513DDC0E16E5119B976A440E8FD5389C85D3FD22B1C26E34446EE5
+C64788D5131FA10C718E385EA778F93D91B353F3861B0E3D27C7F34A773BDDDD
+480C2308052AF856F3FE7D3787B6D279568136C7E9B29ABA35E2D4C0FF5B619F
+A0C69EEB510BEEDE2780DB65C9E1A3CA18B8854C949486A70F425019961D6C02
+CDC18DD73D1862728EA4F85B8BAC8B74C4707F056D59D7EED80228BEAD8FB75E
+2BD436373CBCC3DFDD6CBDC863428C3D862EA0244928C48A558221BD5C339C71
+2FF11AD059F98560EABFBAB21938956D4BD7BFAB2F5292E4FA85EBA183499225
+D30AF98514893F91B977924547C827D53FF112DD75EDED3D5C23573EBF5804C2
+BE9FED8C8460F2CEB8C42F53C8ECB2CF59287E6F2241B56C6AFA5B8ECCB93594
+50BEDD3D664724269A9995DE1D31DC772F46C23AE2EC4BB84F9E49284642A354
+6DEDE4073B1FAEA92DA6B8AF1212C3151342A2AE671C00EEE59D4A7D48846E02
+149B2806061CDDE386C128660C326633040AD63E2CCB1A1C5BC5553C3EDEA0AA
+4436EEB2B46FF8C5F7CE1ABDD8DAC839642B754983D8827EA795B99AD0B11007
+0BCB7619CCD012BDE9F81E0A07AD0976B2FB484458EC7A67EB0B0C6F6060DE2B
+680E52FA70BE3B2732AE52E093A089C223883EABCE4E478F1D159196E3981449
+665A3D4113DCAC4241C355915AF4C205A7CAEDAA83B433A8959AF6520238EF56
+0076B097FFD9819B97427BBFD051B86CDDCEE81669AB4D4CEF7E96D20200B3A0
+168D0682BF4FC28399E9CA54034DE3C3B70AEEAE2397BCC96031338D09F153E4
+1C80B6F6B7557EFE9AEA2FCB86C302EDA6AD1363F82688BA7A34ADB0685F0F2F
+FD197E32A98E430E84708C776A2A58402DC1A3FAFB77FEF65A44BF456CB9BEB0
+CF69347E6719B8EBF1D40084E1AF263CFC00FD517513F410CA5B89E85407E005
+1528141547C4ED333F84FF7B1DAEB3E19DBC3E077BEB047CF47C05EDE399FCEA
+811EC663ECE3B4645C7559F7690ECA12606468706C7C1C6235FBBB56EF715803
+A22A65D22F3A26466D93A09B763BF8CE9A3A2B1FC87323348B7892DE9B6BD7A1
+1C0C31511A1687E10917B4B626FF4A04310434117A134D80E918C1C40D68042E
+03C7B1F832A92084D2182FE4A17623554376BB1906501518B7F4A6D8F73F930F
+89571727C5995DE03370EC562E3F671F4F9B8D6C5B05097D682B0DB55C39CF2D
+FF915DE6AE5E38E0401C7B9E99D848CFF5CF610A6E4282DD046489880E39FFCC
+B09ADA0B98E2B92CB78C49D45582B1DD4522C033DC813BE09732D61E087E823D
+D926CF0FBD9EA90A5320BF0245D6376B30BBD4E65329008FAE98F7C9C464C9D6
+D099A90016BF118141EEC468EE07866A700CEC2EFD57305D73C8B7C24B6BB373
+7A296646C5033354556152C7BCEBC6316B2566880877C26827E92BA1BC533351
+84F577E1388BCED6B5981F5DE4157386058299199A04F43AD4726BE62341C888
+96F22920718FF6D690ABBC63DAA90607B9A0D485A562A6561E63E5FAA20A18B8
+7A7E06BDFA70D6EF8DC85A9350FD7B009A0881BC3D27214FB05268AB06D721A8
+553FE1486DC2388F20D63FE969F344FF3EDA3772C77CE555EE446364E890A01D
+B2BC3763A9463518524666C76B0B89D3906AA198953E8B29B6D9E15B975D2A86
+E62AE9B8E1DF07B31B76F45533E916A21C2C192E528DF38E7FA81088DB5A328B
+3B174E6B20A176DA12D14CBDDE396E1327D85DC89623E424AC4FE9F7520F4420
+94DEC6FE263C11A7FA39F5D9C9BC28B9FFC72194DE2CED2070B0A071EE3F5DED
+0678BC5F7873713A24AFE365D08DBEAA4044A7ABD55B60A1ED2AC04AC8887104
+97C6F3050C9F537BA248A63F56612C4C35920EDB51A39F0DC70AC20355090BB1
+861F737ED456DCE0AAB8449EF74E8DD9BCC9A2141EBCB4CC1BB4CC5E2BB9098C
+8B4A71F17108E730009A77047C9009C75E6EA47758C443693121ADF5CFCC4766
+C14890D2524F7BDE488B3A5B49D1ECB4B53E7363179D842B248F65D7A19F34E7
+AB59FCB3B90A1D93C713E795CA5B4138B850DB3E78919E713E499AF4488348E0
+ECFC4935EC87E1FA948BD5CE3E3DB38898F258D8B8C46E990E166CFC3BCC1245
+378D1973D3C54098A240AA4C357028B250A0AD1604E9F45B9AA7BFF18882F4FE
+657AAB956446B9D1D059B07F7260A68E77FF172B4D1110BA4A1C52BA23D01CBA
+53394420F05379FC05E02400BFDA69316F61BFCF7C3E489B9256942EAAA7F7B1
+7C1D3341EE7925AE22F9AB79F9A97BB1485D128F5C06A68A5ECC9944A09442A9
+14C738C5714D816875D7105EDEC263D10143900DDE911D3FA338F1C575929BC3
+BDF12E0430B7F128083546AA6354FBC80C44F8C59B19FFEBA67EEF8FEA271E77
+FF3A27D067F4C11457BE070C1B7C7BA4F9DFB7DB4FFD01205745A42F2341EBFF
+3A8C24BF2C8D6F2AE5D29E011C597390DE97F955A8B24F3A6C4AF4BF68ADE5F4
+2656E94D5649CC19F0DEFE2F1610D1506CE2FF4E15EB9FCBCE674D3EF7404D8C
+401B49EC13575DEA4DC63B3FEBCB0DDB7260DCA5841F135C54C74ED6A4683BD4
+B105412BE24599A83B8177B58E011966B6AB48FBABAF15DA7EF9A6FC15D7D33C
+8491A3C05CA1F0176F710523337AE4AD4BF0CB4C1C75B8DB98EE10A3A628D308
+5263444BA7F10D3164E83E0DBE762FFEE338FEFC30A8B18F5241A2A8C967143B
+C0588DCB812CAB109F466CB5ED9B64CCB6DF8B469D55101762A7AA58749BE985
+A08312D00E3AD29AA546590E0118B10BEF2B15FD3C8176529E4F531C2FE92C8A
+B2B804F6AB935DCC5B18823B647173E833F6D811D0FA7FE05EE68B5E2A5DDC05
+5A040D9F485A860EDCE7131542E922E8DA5AA205A7085CFD6B11A9AC40F9041A
+31A62CC60C25C3E132BD8039FC3C603E21961878908A4E84961D461EDC0BA92D
+8E2242C85ADDE4A199B5FE2300068EB7286A3DE0F40F2E7A02B99E8508C98DF2
+7C6CCCD4A18CC53F346D683AF420EBD7E350AB1F9E9836EC2015DE659AB13814
+CC6F271AF1E96176AA81C1DA52FB4314B5604010F01D78875591622939053E51
+62E36F23863339AC6E1D92F7B6CCBEEC7B730162F69E54BF73CA37499C8C3AC8
+FD23F93379E5FC695633C3539DA4F8398E1EE4D8375E594B361A6FFAE655DB3F
+4D9F3B53552BCF4FBC15F29EB3A08B118B3E6C6F3A1CC946505599CE69F5F434
+5F62793D5BB8BA9C00F1CE273162961B48D117153DFEF3E51CF6BE3D6B3CEC76
+C20F829D5AD3C1CB64033F9A8F6B24EC45F8F27FCD55B47A1D1799CCB2BC42BF
+7122C8F5C1E481E0EF313937D8C999BC568BEA0BA2A0C4781C1E4685DBF7F41C
+E75F5930525FE38993452972EF12033A847EEEBD69471BA73FB91D265C1AA04F
+C0794A888404F60687AAA2ADCEC206119DB64924F8CC67362F1CEAEE8652E2D1
+0BA779CE68D5CE71BE03123D961F9D163727C5CC7ADC00E93D222E128726048F
+5F6142BC5166A34B56000C905466AA057E17CD906FA9E7D51F53A4935BF65459
+F5604E7A35CEBA7CCF31F49899857B2A2C779CBA10A879E8BFF06EAEAA087687
+9FADFA796CA26E1CC062EB2FFFD24FC7AA54B44C2102A133AFF56CA60B0C3B45
+5D17294E5F1354CAAA4E1C6F71A4B1721FF70E77AD2AEBDDDC6641D7958E9FAD
+A51D442ACB63784F7993F119CE2AE0D09016DCE8C342A8620BC9388ACE956AF9
+BAF0AA920184F6B67ADF418535903FABF54D11E06C027071D99F20C8CF2C6991
+26600524873477D372A3C5C8B306487E687A7384A4640E6A25840B9FB3CCE51A
+113E9703E9ACE573C1252DDB5F757FD782E19D3634E60453B518750787AA848B
+08B704F48E7945A1C3932E9C1032454477946FD56DF637D3438F510E209F0368
+2014B28E2F8BB9C230F728EAFEE5C679CFF64BFA29548D5CE844EDBE9E180C4E
+F77763AD85968843CB4D999F8708E5298D9C6EB969D26092B47D4D9DAC4A44D3
+E79C8351D1D155C0A1290299AAE5BB02E9787F1F48720177CB94D898CB0ACFC0
+CEAFC6A0F8D61301F396349CD1ADF8BB825EA70CA6296289A59B182D318A4997
+EA2712AA7BA1D15854272869E1C24FCF158453D5EC17D3D93B3D6766CA76D6DC
+472E54EB9D402C7FDAE2B9B641C9688DC3321E028AA136E170944612AA30F27F
+6B90A3BEB73C4F63DEC6D0756954F36C864DB86EFE59AD1BDDBB3097D3E45AD6
+0C87A5AC26454F780B8BC6BD472E4C18C071B40B2E61854E5C16971B54A00355
+B51E187AD293395FC88D7F86D1A2EEE0747336A16C728CF24215BC01B74A5D23
+AF24F8B63D9231E68F00F3743F30AFA9A09FF49D5A7E2310B9A7877CFA95CA44
+3DA5DF4094A57F884825BD524AA2A1394FC8702F3B73EDEB5DC699B9730B0257
+966ACE31DBA07AE58ED7090F3A7C3D69C6C70EA465BAD6FC788649BF73CC8FE7
+DE56B0CAC8B2EF2988B771DFBB54332DA49662B6CA8ABA825EF10C3E9EDF0229
+20694556DE1067D5FA69B6A0052B35486DF6AF7A5128995A6C62402AA4895F7B
+B3BCAB863FC3F8DD5392FE954120249394075904C0245020B9F877278D09BDB4
+C0BDEF97B1D8752AE828C7E889538920675CCA5FD0D3FC2B9C8FE8F38A917E64
+71726ACA14DB4FC12F178E9634EC47955180A1F2D7DE2774F2C618D9333A1BEA
+4235FDCF7D0DF2CF57F34C68489585DA58A644184C982EFD22133F8CC3456103
+D74325D40AE90A50CEEA0DFEE1BC380E66A6ABD13B4D140D5D3A3B020286E2FA
+BE9884A0815A5F17FF9CC8C3B2F5F134F3748A23C467F8A824DD199D8A04AF95
+414CC366829CC1A0E5817EAF8EB97293DE39C408CDA4EFCB5C34ADF6420AC0B3
+87C9549EC81892CE73565A40FB99585B58EE7F3F5A840772337DA4E831090496
+A4CD4FC7FB04216978F43BBB73136164EF5E228AE6FDF0FC8893C07A0E483C8F
+AE4165F8017118B9E756A8FA3CCC3BA81193B65B1A0160B759D8B53774C1657C
+D2846E5AD959C5146A0141BF258692DC62CBFF4C521E44033D71F8CA6CB85E39
+235CB57F3F6E733FD0956C0146D8FA6D61B20B6FE08CDB48EC3C8897AC502BAF
+5B170195A74EB681E14BF53C50FF7D569B6C9F731D83A8AD8B2C2A137AF43E58
+71ACB5AD1D4BCF6A5C2549E3DB9396339E1A156C544B6E881AA4BD42490913BD
+8DBD493DE2E20E52EEDD935556FE9FCD488D51370BC072D5F48739A257C05D06
+929FD375269BA4069D57CD08577546E989032EFE7A190FFDDDA95BB793618015
+008DEC967F059EDF9F2BE49B421842D5CDD6E334E1CBC5E59CB419008A36F9AF
+9F876235FF226CE2538611B20F07EA41B08CD04629173A72A79122AE8774A1DA
+EE2B9F895915CE07C20F10C07E41023065E0CB9F0F3D8EE28888F1BCD4558E0F
+4ADA2FBB9606ADF8146EC3713FF80CEE8C1414575370B2D5ACEBC0B1A3D301F1
+01FFADE47B221E972811E5207305417029BFB23EEDC81405954D0C743061CFBC
+7F6E57B755CAB5AFF32C27B68D7D526311018CA244EDA085898C60074E11C39D
+714F6345359DCCAC4F53BAADEA305C9DB15FEFBB075A2BE78E2C5EFE54A8BB4A
+07697EED8978F1CB89C51AACEF83E1A667668019D5A44941510FB445BE7D4C69
+4A5DF3970D0C65422F4E8B909AAB5DFFEF461C1F6F201E121F677C9BA48F1D5C
+931535D87EE4105F079E8DF91AE24FF1C4B70E9E7D3EB6E79020033ACEBE41FB
+EC55594C83C9DBFE8152C6A7E114FB0114778C3D45C97FADC79975497E7C3700
+EB6F9058E78E545A6DE6800CD69E277842292099D4B043B4523F826D5B25CDD8
+0528B33CDA5153CFC47C037A7935BB11CADF8019DBAE4FFB53484F61D2C4D89F
+96BD55A1208A5977E81C5271FEE00B8A18276F96E49F9BC3269AB0551E2A3F6C
+934A72674BA63CE844EAFD1F80C2CAA9F012F414433DC9D009BC7B40E4BF5DC9
+149981E0B5513CDEFEEFAC9760EAB7CD86B531B2ACB73E9D440D85312352FE47
+3975C78D81434C1AC0E2669973E9833A83F2382557E9ECF6BC37E3787EBDE5F7
+B992EAFEF7A37CF3925475A584292D25ED6D08E4C4CCDF12B055CB8553BC2C54
+B437124B366536136265F50AA07A894E23B4A700F8A4B1C0C497055B94EF9D87
+BB3201F6427A0F6867278473482258167B48D7F140B0B94661BA8D8D054D81C7
+9FB167E5542860D43ED7E9A0319545B2154A8FDC5ED9D2BF26B6CC41C2C59F1A
+6E697B4140E555676D4C124D4DD1D80C858DF56D225B5178BBB11D4446D707E9
+8F4C3FD61D1B226C05D82A866FA4E66B2DD34890C81086B9712C78614EBB23F2
+C2F80158A15EB130B08D3739C235B9EEABD6455DA67246ABFD7A3089AA4C8218
+D42C1FDC1216D19890886097A933FEC71DDF2C22E7B46C7A415B2455E660A596
+7C5F2C51253809A1E083C3D7CE00C992B96DDCEF64887D51AF17D07A5EB62B7D
+E17ED3AA48F075CF0B6909628DEA9C141AEE4EEA564B7D52B30672DD13F531CD
+0FD334DBB1117946FC7FD127F98E33CA9CB7B4A9CDBDAA734358F76353E8FB93
+4A1D5E343A40EE70D1C5931A31B51F9FED55DD2D7D149C7FB0BBAC553F78C0A3
+78C0EE7719CD26595681B043EDCB1398F3417302971D7BB0CEA5E26C456502CB
+DB2F0365267F3531150777906D8E2FC7FC2813F7942D3ABE5411B06BEC27CB0C
+D67EE46CDBC693ABD7DA4903A086923DE991A3E4D37FC3DAE2692F1054437149
+D803A75E07466F7487513E6880D0C9FA00BDECD2C1B59C309C5D6FCD61BA7CFF
+E8E60EFF9971CCB2DDA77733800335C0BE493BE94950887D3DA58789C6A3B9BF
+968A6DE73B9439A84CCE41448F69F47C8B841682D3A2A3839EC8B56EF981778B
+343CCE18E3886951B83882038F0A5BD8DE6BB6A0EED6064008D5F29392573173
+62BC23254C65C49404F8F1C58E8CFC0AFF6B09E9567D050415F6C5B7073F06FF
+61C4FB63CA877EEF8EF97292CF20D3EAE1A5CEB3E5B9185EA13FCD175F64B87B
+37616CB5CF6996B72E7A0FD0B7FC11D75DDE00FB53FCDB852FF78EBCFE27AA0F
+F146E3CAE775F2636C4BBB2AECB109CFEAA15B41F7ABB89E3B78C88E51D72B05
+783D5D433F26B895620C2D0A20FA1DAF31C1BD7A125F76356146EDB82E5BAD99
+E65AA21937A0B8506C93ADD1393A6560FD997DAE2162CD9C28D56D67EAC8C584
+A2A9E328AD237ACA417612D7BAA5A65F290CC93C5362B734BCA4CDE5A290DF75
+5600268525CDE3DA93F5E491C316208F288D14375EF0F3BE155C31DC154BB3F6
+04D24D50858B07406307EDD86FD62790C76A0FD1CC1F8C4AB44B095BED717D40
+2E468F73698A5B8915D4C7B540FC49B5111CFC36EA69D852DD992AF9B4D858A2
+944A15E8D89649A0E3E2BECEE59D15C689CF052F137FC28D030A1B4C85E82183
+8D1A174E0809DA0DB4921F0F4C9240F496529FCDDC16F355667C2977EDD4C492
+5B3A55D62C864834A5D4C6A7F51FE2C46CE3A6A21B3240555BA13509C16FA3DC
+2CA276014E1D9DF75908A803FE6B2413945F5EF522FB4547F86E1C11E042559D
+6E98714C619A9FEB7248577D122C388D3C8890E14FD16812FCB16D0EA30255A3
+95E40AB702971889B4D17DAE69F56FD5E39ED15571C883EF517DEB4A16160B7F
+07872022412BA5FC07C4BE37FB276A4B86BE06377D960D2D01813882947ACE62
+2101F38E9166FC7E3A629C3B1C6E95FDE05771313F469C1B6E40F8A2BD42ACB0
+51DCDE9F73F74FF5CE2056D32EF1FCDD8CD3A4EBEDCBB8D2B9C7C4967EBC1889
+CC89C7BB39B15177CA47B048250ACF0CEC47D4090A2EA3BE1C321B071394A8BA
+6FB07B2915813ECD28776735827D3BDDD34D69C00D87AE9D88A32C0C1C217461
+E98C9D7FEF42D19DA4039DB56C4616CACFB519CF7B970F35D4CBAED7003FC0EA
+703B527A2F6A8F7E0F7A7E647E3757BF08A31523D3E95FDE71F064A4648B1D59
+6DCC4CBDE6981C199B35AEF86F2A2EC44F3D6AD7DDC2E80A43EF586481530D2D
+D4923D542A738AA3EB370BB6BD076223D126AC66524389E772AF831B607A71DE
+CCA8B822D3EEDEA16A462D07ED61C27874FFE3D9770354D660ECDF58126636BB
+EA3D68FCA7842E4A6219F8ED487767B276F1C3D8F61316D7ADE6EC4217072A4B
+28152B404B7DBC9C22A07D6509D562C1503FD15E176EEDB7B9C973E96049DBFC
+348DC2AC2F99DDD4FD42353E7261A5D876FD3B91EBC607F843DCC1D5EA7F7C2E
+04BF867A9B928BEA994B85EEDE98C16A06669AE114E2E7651A90E436C1265E2F
+7D9C121D22B5AE7E147A28D928D5C721C170390E
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMMI8
+%!PS-AdobeFont-1.1: CMMI8 1.100
+%%CreationDate: 1996 Jul 23 07:53:54
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.100) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMMI8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMMI8 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 84 /T put
+dup 100 /d put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 110 /n put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+readonly def
+/FontBBox{-24 -250 1110 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
+5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
+4391C9DF440285B8FC159D0E98D4258FC57892DDF753642CD526A96ACEDA4120
+788F22B1D09F149794E66DD1AC2C2B3BC6FEC59D626F427CD5AE9C54C7F78F62
+C36F49B3C2E5E62AFB56DCEE87445A12A942C14AE618D1FE1B11A9CF9FAA1F32
+617B598CE5058715EF3051E228F72F651040AD99A741F247C68007E68C84E9D1
+D0BF99AA5D777D88A7D3CED2EA67F4AE61E8BC0495E7DA382E82DDB2B009DD63
+532C74E3BE5EC555A014BCBB6AB31B8286D7712E0E926F8696830672B8214E9B
+5D0740C16ADF0AFD47C4938F373575C6CA91E46D88DE24E682DEC44B57EA8AF8
+4E57D45646073250D82C4B50CBBB0B369932618301F3D4186277103B53B3C9E6
+DB42D6B30115F67B9D078220D5752644930643BDF9FACF684EBE13E39B65055E
+B1BD054C324962025EC79E1D155936FE32D9F2224353F2A46C3558EF216F6BB2
+A304BAF752BEEC36C4440B556AEFECF454BA7CBBA7537BCB10EBC21047333A89
+8936419D857CD9F59EBA20B0A3D9BA4A0D3395336B4CDA4BA6451B6E4D1370FA
+D9BDABB7F271BC1C6C48D9DF1E5A6FAE788F5609DE3C48D47A67097C547D9817
+AD3A7CCE2B771843D69F860DA4059A71494281C0AD8D4BAB3F67BB6739723C04
+AE05F9E35B2B2CB9C7874C114F57A185C8563C0DCCA93F8096384D71A2994748
+A3C7C8B8AF54961A8838AD279441D9A5EB6C1FE26C98BD025F353124DA68A827
+AE2AF8D25CA48031C242AA433EEEBB8ABA4B96821786C38BACB5F58C3D5DA011
+85B385124F47443FC116DD7EA23AF95CAFE257D2D685037EBE3F423D7BC0C630
+B8B1210BCED93CC1C8C6D694F4DC523323FCD3C6015B1EBB5306760C6BC63822
+272D60A1368B72B356043E29574434B0238E581D1C5BE338E4CFCF3F2FFFAC29
+BB70C40CA278611595869383B55FD12D75AA8708DB1DFA1D3F16DE89BF706476
+70AEB3AD4E871A1C3201ABA5FB85FDDD62B2D2C3BF3E57FF873523B087AA87D1
+FA4927C2402003302C349F75A9F7C2D0AE27DA37A0C382D945DD6DBF39EB42BA
+6343B9CA57FC8E9F6D90255F47B71FAA258C99D6E5E062DCE30DFCDDF2DAF194
+3C39A4BFFDC4DEB2125BCC857B90E404225B0AEEF3B85D6051238C777979F884
+9CA686FB051C4403AC260118327025D7BCF59690630847E970AC9BC4462E9FAD
+C502D6BCCF7814443D20CCDA9636D8FBEE9C0BB699A606C217FEA184A8035545
+D05B7F02409291457CC05291241E4EF85E1A72514C84D350E24223E067FB4FCF
+B27EA2B9195014D2B0C3E92C325AA7D880EB59FB2C50E7A5ED176B3F323B0531
+1946A616772981A1C30C9A70ED9ADF8706D62B5A02E8AB3600454DFE01869486
+7426902000DA318E26E4DC5D89A42FB8FEB76B90817EAD7CE4223AACF65C09CC
+7D83023EC4A56EDB0EB2C51E599AC171C1216EDE3F0EC62574D652C1B0F80E30
+1EFF1FB577093A5B754DA03F30FA2DE01DF51F2AFFD53BB643CE1BA4A3888168
+A5E62D3906560CF360ECF3ECF76976B288483DEFCDC2A605F9840811BEF57327
+098537BE5F949C6C7D233A97068F75A4C2E603D91F6CA27E53D68DB04D7FC3F5
+8193A59AE6C551863385FF187A6A44D78E8479CC92BB98696805FA307E30F1CB
+3B27AA554DACAD36052DDB7DC50A63F9C545CD190CD5F2FECFD44DF704702C39
+78840078650AEC83207ECFE0FE2DFAB0CE55A4BFB091CDAE615EAC92EEF89E8F
+0B37511C9BE09A9E2467620AFBFC1E51F853B2E07DBD9B5D39E6AEEF5A4ACCAB
+B56B495CD093A208064B9032A18A24712797EF3A404BAF9F7D93317FD5681594
+6D2A5554D72CB76FB8CD6B35FC4BFA17AFA8CDCC6C665310D644FC675FFA2A80
+31CBB320101FF9586BD6ADFC020BC04F7CB8BD8A9A7CA240B6B97A037261EF64
+C996503F353E729418FAEB1AC6EDB28436F7DC878A274372CDCF3E1FD12D11BD
+F682A41BD83B9A8D9AA8EDC8A633592FD6F6C29BF1E9F1000447DCAD5541D722
+0F9C097A9990002C21D10D2745AEBA3A7B588245F88E1803786A17DFC7B55AFE
+FCE0A4EBDA32D76B24A168C0C9E682815172906284D02D6A51D0A64A83EB18DC
+C69837DDAE75C123BA245AC72F670CCF65F7DA55805DAB17FFA4963CD45C5F68
+D28E6B5F768E725534A51C6729408F0F1B50CF78AD095DFB191F46949CD15A0B
+BE1AE986153E69AC08656EA3BE2D4CF0A6B43AB66A71DDDEC8815D5ACBD06FE7
+3DB2A361BFEF5AC79F23F8AF888166F8277B6B694B4D1478D1F6D48D1EDF57E9
+39BCE550C9EE8584A9143C4704F91440032FE3DC3D4430815ECDB10DEF215CB3
+303D91824414067E95CEC005161F771E9A332B5C726370AABFB732A4B046F8DE
+207FF4E857F281DD79C77BBCC5CC991292C528482D59F417645218C000C6E3E5
+83374A8163E976E2A4246898D713770DF55DB98A442639B4F90506344BF1400B
+F1314312A720092C436DB6E854219168F699EF6BEDC561201AAC6286EB2E7969
+1F13D807BEFFB838A926A7973EE6DC6AFA65879BF86B4325C689E89D98F77CD1
+5FA98C930E6E5F88F839EBB598CD3E9CE185A3A93E8D265A279F533CFD79554A
+6DAABB2D698C217886FBA5F1D33DCF0531A0319793F2F08DAA16FB43C5FF40F4
+710F91201D1FEFBF55D46CA9BB3322974BD9113D229CBEA68A70A9D481D13E47
+F7B849EC2403BF7D67C504D3287B73ABAD948AFAFEB66B5466E401FC9090192F
+43C5C68FDDB1B2F25973BD5C8EA437B761B0CFCD2BF8590CF66CAEE24845D933
+3F2FC174D3C0369CEDA0F7036E728AD6D0316137C769AF611A94A89EF3224638
+8BC391B20100024E33563B5A8E139E6D9EDBAFD111029F83D7D4958DD0348DBA
+36FC54A394D375655FF1A8DD5FD407EA9AFDF58A66B13499DBA3361E8B3D2E96
+A6804461871BEDC6698EA0479FDB73DDBEE54D70F3D8D53DBAB8E86BECAFD953
+21647381DE82FB2D66686026F757A5FC6FE4F97669D8F316C6CBBA1A31C3C2E8
+5E32A4E544394520EF3E51D092CB4C2A7369748EBDEFEB99DB9F9EAE5E752FA8
+9D1AC7B023A3660F34A20EB36571839BB94642236245BF873B6896F47E746702
+E2CFAE0EAAFD0B74D41BFEC2F3CDD9BA71F937D24E0A76264F631BEA7DF5E4D1
+4F706E9158550EE0CBDA7DA04B539D2E50036D48F256BC36C4B70C19BEC110A3
+4A88530D59E17921BA7CB6D0D7ADF2F45B1AE5B56BFC790CACB0F9CD2D6141AB
+3855692E313DCC811CFB201899AEA7951F5914AA3AC666CA3AFD9020847F3E40
+D892BD0765CE2438326A22C970A29E3EC6C66AE949F020E3B15D52B257A58E13
+613B775E5B50E36BD4BE10C2C4D25A3DA527E23CFE4648952EA0754FDC2332B7
+85437AB3F1F4084CEC936CFD8997B57317E05AF13F5049F758C34FD82CA8849D
+6CBD39151E8342C52F758D85A4D5664DA4A34EBF7939442930A410831FAFADDA
+1C98A9B7A9B8D5332AD743E6A8D9D717BBEF970B244FA55C85485D472A2BB026
+319BEBCCE731AAB6D1DD5A031110FCD6BF0E9AD39F25A09B98BC3C10EC07694A
+036E62C7A497B787CA0C4E5E571924EAD5380EB34672A5020409255FCB39E69D
+CE3AFFB58CEEFD9D1107100FD51254585CFF2506CE3B08C58C31E95CA5567F7A
+762CFEF828C5B8261EABAEF839EEB3761697CA
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMR8
+%!PS-AdobeFont-1.1: CMR8 1.0
+%%CreationDate: 1991 Aug 20 16:39:40
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR8) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR8 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 43 /plus put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 55 /seven put
+readonly def
+/FontBBox{-36 -250 1070 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
+68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
+3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65
+48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3
+9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB
+0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB
+8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F
+EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466
+FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3
+9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62
+D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8
+9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5
+ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6
+10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582
+83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493
+2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA901C077A059F709F30
+4384CB5FA748F2054FAD9A7A43D4EA427918BD414F766531136B60C3477C6632
+BEFE3897B58C19276A301926C2AEF2756B367319772C9B201C49B4D935A8267B
+041D6F1783B6AEA4DAC4F5B3507D7032AA640AAB12E343A4E9BDCF419C04A721
+3888B25AF4E293AACED9A6BDC78E61DA1C424C6503CC1885F762BD779B0C3709
+4DF9CB65F0648B72373A300B521D8280D79BA483342B304C7FCD0887A49D9CE1
+192E8AE36AB004FFB7CE0A42F4EA48B04B505F2C0D88EB09CF93D6FFCDB7AD23
+D03BF93916F6D7E71637553DC8AC311C856BE481C14947F7E6353B3171FDFEB9
+652488E0592D5A181B538AF6A8C5BDFFA421891E6B7D8BFA7DAEE72A40F93D72
+3808E7BA8BF96F3E842579DE45B64E1DF88FC79ACF0DD8A1F4ADF3B4C2C3B9CD
+CE5DA82925DF5913168831DA588564E14032513910DB1EA1E7F8304FAD58E635
+4E43575BC260A964ACFEECA8AFACE164E654C9924FB6431C8C791F9C1BB2BDBF
+6516014072E620D137219D1078D928C735B1B356A4FB7C8AE44E5689AA1C8268
+0C9D72C2B7BA568A05DA601156B2A5FCE941B07F4052242244BF79AC217C84A5
+5EB1A7FB851212D37DD5E4220FAC2138D60119E9DA87F5156CD298576E5ED59F
+DB192E59D3DDD92C1A4CAD15D2A8AD4E24AA1644FA1C47F5F559DD4727E5FE02
+01F45337263E57F4F464A8E36AC54E410C3E61225C3739546D6A0475C0183144
+5CA242D40A7B48A09A36C057D819797B2A30B9FA5934F40DDAAEE9855750392E
+A41AFD637143440853BF0315CAC4AF1782248AE28B42C2D3B4FD293754E69512
+AFB3467CC9CDE4E44BBBC1FB928EA0E686DF898ABB65BEF8E60C2F08760A95FC
+3D0298321B315CE0633CF6ED222BB17976ABFF3E9CC413C0327E0498B8462D1E
+DADE882D15C4CE194D835C7E26E247D049CAF861CC5A79BFD79610F32FBA3A49
+3D3BE7FF757DC36BFD0F715121E0C0BE2E22497E9CB46284CAAA347063385A52
+775028C5C7E4F8970A1BF68A1F7CBDD546C6A396095AF5CF37EF9B7F74781986
+B4995A7554DE578ADF2F3FF5184DADE2A349A261E31A2D8E4DB02086B03C3619
+44C90FCF04C00CF4662A16134A0E713C0DC9EA5E97711708EDA217B3FBA37CE4
+014BBB0D9C4EEB4206132A744A1402D3DAEF05E029C1A21F430323643A47A764
+B52D1225ED92B2F1792E41D5E4919344596FD630BFF045A59D4318A01E081654
+DF63DD3970656D455EB4CC71433F2AD0E4800674CB858434A0187AAB2847247C
+86A67466164E8D48841DDE6574758567246EFA5902C4A2D5FDE6B4190AD0B84F
+836DB28929B2E4C595F12F6D7F6CF983F4A577336A62174990FB5FDD8E926EC0
+CD78150BFA466CB10179
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMSY10
+%!PS-AdobeFont-1.1: CMSY10 1.0
+%%CreationDate: 1991 Aug 15 07:20:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.035 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMSY10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /minus put
+dup 2 /multiply put
+dup 20 /lessequal put
+dup 21 /greaterequal put
+dup 50 /element put
+dup 56 /universal put
+dup 57 /existential put
+dup 91 /union put
+dup 102 /braceleft put
+dup 103 /braceright put
+dup 106 /bar put
+dup 110 /backslash put
+readonly def
+/FontBBox{-29 -960 1116 775}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
+7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
+A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
+E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
+221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
+27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
+5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
+0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
+DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
+71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
+4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
+515DB70A8D4F6146FE068DC1E5DE8BC57034F5E81DEF84AB9E5382F3E6B5715F
+DF7C70F5A0FBFCD627713545CD2F7BF03BE000B484FBC808AE5D71F2419857EC
+B194BF5AC776B9AE3C54BE1E828E0E65149BEFFF4D6D90076101D9F63FE3E917
+886E40F2678A1544FE310DE90354B85323413329E9C28005293E70E54EAA0755
+29028DB44DA905896AC25CEC38EC175D03321FC1B83403417BB61AAAFC8DCE3F
+A6914D079987E5B87C83D44D74F649617796F6F306D492DB24F76D28FFE9645D
+843F62529794974BE830FDC1F58F11FFB104EFEA3C40993C10F128EEF1B5FBE8
+6F442B5BD3A377AD5A457878AA37D623E9D0176109A94D4593126A7D1A5F081E
+5704353CFB81F182083A6A431DEC94B2CA4681B766D31124970919F603609655
+77CEFEBBDDEC59DD36A1040DBE5FCBA23F74239A2C226C15B9FF071DB31542EA
+2D1BCF96BF85423A29C64396AB052DCEBA874740EAF985507F580AD435EBBDA3
+BFE3F588569DE4B6D081CC210C82AE6F0BA28FF1EED9E89399FA3BD3D0750FF3
+1F5FBB680DF78510278DB853838581CA837CF64E4DD772C969A8F26489CF7988
+E6FF1B4BD122E4651B856FD5732B3049A267F0EEBFDAF16036E58A4D8F39BA36
+40658E8ED7419E8166869A7D2EEBE2A0F456AF9428B4DCF2BB36290668E06404
+4EC497CFA46C6484C7F762314A28CFE77DA97DD68F6BCAFF90D98E7650E400D3
+FD4DD94847269BC42FB9F573235646B430CD2CE1E56EEE4EA44F1B73EA2A451F
+2A285E1EAFFAFC32A5FD8426689DF320711E6059D20454FA0D7DDCCA5B64691D
+3D5E891EB06363541CE1667A02A96414F12D721C92C0A7B0A7D24FC9C83E0B45
+3F69F35DFC531AA3CA912E990C7CD8CE626406A1160A6B5B82A33F2745F39CCD
+DEF54E26B044F0DBF61785149B0536F9B77889B96BB7C7A5245667DFCA9C4D51
+5B527A848A58FC60A42D722AD913DD1DF87EC624AA643A648FBC66CA95529DF1
+D29FE249D82D5D7654D606B1D6BD9A22342D13B3F873BABAE88B8C42C074E8F4
+CF25CC7B759B8FA07367FAE74ADA0D7A596F77EF712B32FF99ECF5C33A950E7C
+4B01FC4FA16504745B768C59B4C53A9199158948A585965448C07701B7DB19F5
+0501D243E2338C15773D936345A643E8E5B59C31D228DF8C079B66F813CC1291
+EC11E8E18504AC9A455FA364E40FA9DDAECCD3376EF38EC9CD871B7A0ABEE362
+FD4EABC96B0F01C8AAA33FCFA8D055E565ECE1476B90DE4314F843CF01758DA2
+2463024D1E2FF5424B8694876E771975B30283C9F71DBB23549F07B0E5D19C22
+33066511B04A55AD044EB16E7607313B1A04B457E51DD4BF75B54C0063EA8276
+3176A25FB0FBE8472A21081843F5D191CAACB68BFF0A86A3D5708CD42A5481D0
+4B7B3A554E22438834127C22A9CFC62CC0A313E1AFE075A794299CF46ADD0D91
+11825248D40BC1C13ADB74D7A2D9DF2D3209ED5E4925CF344777CCAD44085B1B
+A2D3F3F75E2AB018429E551C4DAE8B3532D1EA018B3AE46065C107DEED0C8403
+D6E956E11A3D357E29C9069C0203F104E02E877A08F3779BC3EC42A1D9A24E2E
+67D4C6F25F0C92378598B8BD8F40AA1B2671A98DAD75E24FB4C0F10A680A3698
+08E0A46FC7E2C54DFA58CDEDEBEAF3BC88CF64090F14B1E5C9C5819012EE4F2B
+40B057BE38761FDAACF40EE1EA1ABAD242E67503C7A1ABB321E140F67654B9AF
+80A608D5E637D22072B27993013C8C67AC539229320C1EA25A6455F042CC6C58
+971DAACA05402A378B0537CD43CB909A64562CD69CF92C138C76DE19463718D0
+6FF778E7C49011A101DDFC99AD76F400A60835FDCD3E1DA360AB5B088FB1CA66
+A15FA1FBCA1D7199715ADB8079E1A904D10CA5158CDF92629AC4C2D7A1D8C288
+424491151FD408FA56054E2A9DE19CF688A08B6501E42CB50AF52574DAF19110
+0D6DC81FE5A281525A20568E80B3322F9D9ECD2F9C6A050FB9E45527C9BA9365
+75C4D006248BDE9FD0D5B7EE112AEB36E734592B33EED6CEE8D95D1B7B60279B
+68B8846FF13DCF6865954F793030CB9A3855AAC01ECD5B0861596CCD8907E867
+4313465D47A0D32733B6A8E4A6F387D6069C8CA2E300B4CF6995B6DED3A3B1AD
+389B56A89E0E900F8C38A1DD073AE23A8C957BED37241B4426451D9BB592249E
+DF7D065010F53FDDF14C9A78565481CCE8AD1F05BFCB65530B3146BF5F53245C
+FAD0F87785C491B3109B8438D779A224149C5CBD6489888EFF798C38EB7D1342
+523D2EA9D47936F2C332CE2FB25CD3B4A4AC552F1BD79DE9FCD64AA62D6A181C
+305BA813D85D2DB54BE476F990709808CA3DEB53C94918038106F6FCC62A1559
+610DA7F9EF3534D3BC2C279246DA5C3AE391CBD5A821857B4D699DD92AC4A430
+4F9248452C9C95010C3FD1909891476C5AB54C5125FAE5C89CB4B92CCA049940
+F1E7AC052A4CA7127553898BC84CE9B29287206B32D1940D8B90B263
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMMI10
+%!PS-AdobeFont-1.1: CMMI10 1.100
+%%CreationDate: 1996 Jul 23 07:53:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.100) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMMI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 58 /period put
+dup 59 /comma put
+dup 61 /slash put
+dup 62 /greater put
+dup 65 /A put
+dup 75 /K put
+dup 76 /L put
+dup 80 /P put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 103 /g put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 118 /v put
+dup 120 /x put
+dup 122 /z put
+readonly def
+/FontBBox{-32 -250 1048 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
+990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
+6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
+DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
+59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
+D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
+8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
+6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
+1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
+03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
+95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
+74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
+3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
+47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
+AFC27E4A7E07D09FB08355F6EA74E530B0743143F2A871732D62D80F35B19FD2
+C7FDF08105847F13D50934419AC647CBA71DF74F4531DC02BBDA22AEEA3FBBBB
+407E0ACC52BDC60D01A29407CC4F93EB8BF6D4813E9BA858D54F38918AC82720
+4956D50291F0546E50FCAFA6DBD0099123F5ECD4AB338DB310DB4CAE11337A89
+8ED99B6F483940C97544F888EAF0CBEB11094A13C073D0061808662A04A82BA0
+AD35E8782F854AF66C20C0FEF18D0ECDD1646321B93D327E53D88CA0E825FA95
+05AA57BD719A0FA14B38EC39164AD228A5F496C48EE1FCF6D7412E372C9B81E5
+98C9C34E00C6FF27D711277BD06F13279AEEDDD39489406FAA129D28084D1201
+0F381B7130D1278ADFF30212AF2F33E651255C8665D5076E0CBD9F5D5C5D0A81
+81C113CF16966411D8738FD33B179FCD58753583ED6B95AAB7C69ABFD9C0A57B
+8AEC7A803CBD4686C4C103E7F75883E756865F355473D6852599B498E8B4F0E7
+28776667059E17CEE485CBB169C637F8A3A2C96A9661ACC154459C622D3748C3
+2CC0B8608057500C303FC1F79F30D8CF39288FDF3819460482E8AC115833BCD5
+82434238B0215EFC24428E5D658D6D4F22189412EE4113D0B937934213A11B82
+745C1D8A62BE022F04AC17FCDA3B8CC1F513D74046A0D0FCB0B6023C2BDCDAE0
+53913C074E99C05EA8A1D416DA1EA10860FF73E77744F6FEBAF1FBF8457D484E
+B24BDD62BE4326548DA805435D8F274C309B41136B1D72349125FBBE698693DF
+BAD8BE71E9D6760426D8E6890DB479BE58E20336162388562881E331ED18BC81
+24FE927B80D4B3FB38E0625556EC8874922E2A2621512361F6E14B7D9DDF996D
+4E005F55ED3154AF197DB39C87E7D7EADED4AE98F868FB6956BA0EBD1D41F2C9
+5069192C92440760248FC35AF92AA2C7B951F598989568D60531B5786113E0DB
+9F38DEF097C7713DE9CDDE7E8341F94E4669A6623C73BD150D110A397203E0C6
+78413310AF52FD05E7BD2393EB4E908E58A08CC266FBB246200EC3F90110DF23
+483445EDDF4716E79115D4964A8698E911C1B17BE30AE97C697ED2D4A4060C1D
+B10771742273849427484F717E297425DBB9668E2DFD5420F6F2264671772F83
+F1133B4CF5A8444F18A35437A189BE4E3F6240A7200C8F911236C6E1BD984172
+048267CD9198C6392E2A54EEAD5343B019EA64098BC4AEA29FEA2473D764ADB2
+53780895DAA73C4ECB702DB163FD72DEC99A6D1A7B3DE21FF7E5D8492FFCB406
+288C950037E928DFCA484A4DF5BBD38DE00D2755D2C4DC265DD797BD803F1B32
+87CA83653AB3527E7FCFAC8973D49FBA9F8795C8E661450B4650566BACAC19B2
+4441C0A6C723FB76C7DC940019F711FA4B947F74ED7451363B1EE6366870D282
+57A12F71DA2F3934F14FC4F1F1F15DD8808FF9A584E9EB5E919CA592CC45254F
+C041B1E00377D6C8E8559452D53B6923341AA1FB436F62C9065B1996E6C3A01F
+D8D6B987FA06D54C05F7E3101DD9934A64BF962811189C0A0AA7E508787ACE0E
+11B3B52806BC6376109385F5DFBBD06A03F1040D3637031FCA76E96F54DB4FCD
+6D377063E5145FEB8D494728B7D38ADA690C0EEB384BA8C4475CBC260749699C
+04362185609C824682BDD7DA5454479865156175C65FF4ABC6A92D7A43E3B059
+BB1FAC4332C417EB10FA20824578863C02D498ED07701EEBBDD61ABED999EDA4
+0DD2346BF3AA65CFE2A6EB625DD908B12397A0551CFC44FF2C83CDF4587889DF
+9E73659DBA69115623E23C7D496971E26070193AF3B4ADEAFABDAC7A1CF3097E
+4D08DE022EF3C7A4B83741CC22DA938F91A232B1D5C600985CAFFE1586758CB5
+E4293399D3700071F6B1CB6172B8BF89D84FBFBF95AE77D79A18EFBA4E77E383
+F6CA6EAE8C15905F21E6558080B6F4A5E0FB8D4A15D46D784663A8B36E525FD1
+98C1D5B4262DF99E480F8DA64CBE984F4C6899626BFD9869D33E85E6D7854E50
+E0B82D9DCB9A98089355774AB887DD3978A545879BB8F8859EF0F90AB9C0692B
+AA28985D4484C29E7A1666090B26D65E9936CCA01847644C9B442FA9EE197F3A
+B0146539F905A7C8B338FC1F5CE083878BAF70D24296B74A3B22C58543CB058F
+D9D5C4556A6C032124DD19ADD4688864013E5CBD1433E6C8851FC4C216259CD6
+22D6C9B88296BAEB88858E80B1A999083CBE19BCDF45E9AE3D99F231AE594BD7
+C7881B69E6A1043CB4C395EF68E2C3902619D96D90B36175917552FC1AD2375B
+D56E351DED0B01AFF7152016CF48AA87D4CC60FD6323BDBCB64E72B660530FB1
+721DEA76FA6FB03535C93E4EDB19D771E4255C2D5C8AA0114F61DB431CE36785
+8095A7C1F8B6486CCFB406AA62869545DDCC9DA8A2364B0DD8ED8208E35607B0
+B04E0200CA1E8C3A0BE0837F21AA7C78F57014D3045FD24FEA13B7E801A1C434
+5F1218A278D98F8C8832D70B6B8777EC93B1574B421594C20C8B986ED8CE2634
+5F760E698F6A5D837832E4FBAB4022EA29E2B7631198DC435B08C405A0E60C2C
+C931EDEE81F72DA4F42EED90204801BB6F1E03C7EAE67B30FF9F73F88F6C01D9
+672B616CFE453877BDBF35018E47A42C2DDF778A5C3C6A34CD5F5DC81B74367A
+5935C3204B0742A24F1D47A70BD83756D0EA6414E058F1B94D6689297C3FEB4B
+D2BAF9E4D2112C2F527802E8A8B19905F03E323AE14AA26132FA92F610B975CD
+890DF514680ABF95640A7A4318EFE589B907ED4C276B954345802463EEF96982
+B04F20E100DE2A48B0B18DB1481324E21D1BDBC98CBA7A5ED5715E01677C6DAE
+9751EFFDD8B2CF44D96D9345860C3785D94477D1E34DCEE3FB4402C94EDB52E4
+055F2536DE051DFD56CFFF7FB7F79FC153A7FBC76635B0AC4A19EADE7F4F77D3
+1A2FDBD06471D302A60788E7B4280B2F162E8C287270CD13A15D0F269AB69FB6
+57F00E85A61C3A8B4352951ED2853540F437A6CB6D5691301544430880A8BD31
+16999099837EE8C4CF2C049D3857DC182E4A96397F05932431C428D0BC33A3AA
+78BEA708E51D8E03B806C2542C0BF2539646FD482BE2A88FA4C6C4D606B0BB9E
+D31614F13F94C9C26BF39A4E0AE8D8D7F820F94D3D8425A09FAACCCE0D4F09F9
+05469D16F3ADC017377219110157C07434F74A220857737426DE8275593EA384
+BCFA240CCB628FBBE9889BF0CE7D8BF27F1231A49FDF5864989F5C43C06B19A8
+415A3FE7AED61D0818881EAB2581550E8226310C67C93EA198FA55C35314502A
+2E17BA25B30278A8E30DEBBDF8CE682E0D34FBC92AEB35EC08AAA3B428358D9E
+0B24FE97AA03FABAA4277F5C81F621E1CE2ED0C0C9E3A0868B8C29323A8FC208
+C420FE622DC33567D312383BC32295241E2AC452655AF4180A947DF3B46E5F64
+6CE0A52AAE10925BE68D4CD49013D95F97558940C54F857AC4A278BA32003BE3
+D1514941220D1DEAD556CD8AC64DADEF6C5DA3AD29B85B1717F2FFBCEE59A0EF
+4ADE29A3115E3A095EBEABA041AE41DDE25D9A714C41F12A642B411652A01E5F
+73D2745A239DD864625C31D3143847145F337EFB9F9C632EFF4E3011391B0B11
+0743695E85877B958BF2A9017396C2C3D3403C274F93705C9C1E80616CD66BA3
+E4331E3CA0181052A00D9468DC0428C89989ACC2F83924C1D35CF5DAE12CAA89
+5535B70F98B9CE6B5CE82BAAAC8208291689FF7EE703AA057F8F06620635A56D
+589F14416249148DC146CA2D990C50DAB2F6F6506A6920BE9DA5A93B9F0E7BDD
+120151536678A80EE33A531D40D6345D9D9623242E30BBC18654558EF8A22AF5
+E91B77AAC994CF700F267FACC80E4EA7B17ABE1B5F57BE02BF5FEFCC3AC9EC29
+612A3299A3641F44E0A4EFD64A2FE3C012F1394E733BFB226285392F0F3850D9
+426789A509CF59CB7F2D4BC172F36C132783E5A0843AE487DE20C1A3816891A8
+A20B986BB8A9799AB773A394941CA2BF1F96054F2A61D6F8D2706112A5D01D9B
+80179050C23DD2ECC6A5E185FDB54B8D1CD1A72797ABD82293E83E5CF9296B08
+68B0BC09656314C7C1518C69B70D3A9E8D88D20AFFA9863C7FACAE1D0C56E38B
+0F90710929A12F82D60D4CD29B816A27ED36E5C41712FE50C1BA397EA58315E3
+61415BC5B04B0B10F8870FD4F5F082BA981DDDD34BA42E40E61DE6DF29CB78DF
+7243F0E4D2CE5CE7899664CA18BE8CCC0B5AC7D74F3211AD6A7E11400104255A
+7E34822D421FEDD7652ACA66256BD86E339DAF7F4C9E34547BD78DFA8DAC788F
+3C73F87D66DA7FA209BF878B68D3CA543E38BB457713612543238E2672DFAEBC
+CDDEB6437C2FB3BD4CB7D0E038D41517A391B8E8D2E998AF453B3F14E2D50449
+C4C98CE2D88844480CB8D785BDD9F95A3E217A0ACB8CE2EF587E3F976D779745
+C24009B82F4695D16DAB6DD925FFFF100C09776667069C41C6C8767AD978EB38
+C468A5B1E0680F918792ADD4A8225C15796B93D20789D714E5D9743D9B3D207E
+FEBE188B0C03C1E4CF7BACF1121B9323D71E4B0A3A5FEF3AE95364880F41AA6A
+E74D277C431A4331708578FB52D2DE26675337BF6F5A594B509DBCE9FDD40755
+9E91E480FA308B459C81B0CA6B6F60F7BDD58E6F01A11F3B0A9AADF659E94D59
+3A606BF53A37191B62B88F84267E8A1FD969538D27113E3CBF6A5FAFC639DD2C
+932D3D981045652FFA8F9D3869F8F31D324B7F579110AE5DB82AFE23A5798CAD
+30E036E6D8FCC113F1A97F67C3AE2DDB68EF5E929739DB569C09B25939912DEF
+A7798DE420F0564CD885391BCBFEBF2A00DDC3516CB821DC413372C15DD8C9DD
+8B237771B720B3027F520AB1A574E65EE19B52C27BF9055FEC8E67A71568B6E6
+F3D87683BAF9AAB79E03CEE528AA695637B08CB845F9475485B67DDF87F5D0BD
+B4780C2FA5F8FA6CEEB12AAD6B349C91FE41C2CCEF59D850A98319FDB654D2B2
+788FDD7B4BB357A6F0C0D077A1E08861320361286B6D69F3EB7BB5E0AF7665E0
+C3707A4225CEBC148978ABC33E5B344978F2D5393138EEDE0B667EDF11371F5D
+197F4B3989F292A19CA805646FA56F4973846794366CFCEF584B8EE65C1C49F4
+56C2B7045C5208CD86064346ED2AD8AD769BA57475A6066C1DF6F1EF54775C22
+FFD55302F79410108C6239CC1EAE729F2C58ABB44DA9251D90FE62BAD1A2DF3B
+15732D25C3C6B836F6C204C41D6B77536CABD0FB8097E5E242743B3FABED7A78
+3DB0C1B4ED263B7233070632378669FB5B6AA3A40E7BEF9E4622FE8046F218A3
+087E4F498FD1824D2204DA136DC6B12D22BFB47FF1B9DD6D16F20059A905F41D
+E15EC2A1F739ED737FEAC5A8CDE6C6A89174F35F3F08F7EFFB7F0421E05F43BB
+14BA580D98DA7C28CB7146EB4F6A2AEEA727080516B79F913B9C7C9B245973B0
+381B98C68BB20DAC52C86E605BD2402FB83D6C972ECF9CA7CBD3DCDF5ED1FB52
+0E07C8F4073E62831278219A7640098E7963E7CE9A1D96EADC0752BD05A65F4E
+0EA1933F8FE30BC2862F4AB4778813C1FD351287E99F4CAF8F293CBA493843FB
+B48F4845EA17EBA256A3E9EB93799A43E9190249F3E6D9C8F4B3D67136F31014
+B84E0B5AB2EB9F7281F0C2D35DF88BF5E19F87F73F6CCE47C24E65B87C9DE5A1
+276B5B704A04C910F7F6251B205263B345F021BA35463D8E7EE3B6998863B24D
+E419AB12390CF368A2EEF5D5FE9932A05E7F4794B63A86F07E9F53D8489EA756
+BC4C7010DDF2D115A626EFBF8FC3AC109D8217C14196A37BA56FAB336EA44E7A
+54B2FF7E9AC0EA8C252B4567D6C4BA71D9D6B8BA9972898C131B8D5BD485866C
+A0DBA290EDC395E77C3C54391F1F5EC759B0AF4726C12BBC29FEDE8FCC284638
+4B3DFD705A6EC7C7DD0246C1168D6AA32E4DE826AA93649ED4AA64CE9796F086
+FA718B549470A77E112DA2CDC55A25DF976A4060C755C4C72E5C5B64219A4778
+E279E82481D7CE2A7B59C85CCE0A611424281AC393C6B5FE6F0CF9F62A0AA0F6
+FA538E4190D80126373784696614E22490DF3203F0FCCDC4EFFCBF9862CBAA37
+AB2B2BB499BCB4376917BC1CF920E9EF929D7DE80ABBDF53DD18E3E6322C300A
+E745B492798CF4AB9CE7FA975D996A9B8E3597E093F3FCFFFD4F15DBF01E7108
+8588147ADD3A36CB7DC9A5692C8AB266FFA676BF6D2B849A431338A262F69B24
+2E4EA46179A98C5D3BBA87CE9199B25D0D7259E5E69E1F38ABCAF8D21EAC72A5
+4DF018A119A8090BF8906F3C134A4B25439BF172ED1AB60360F50EBD440E9135
+A335E36D10551B04E09D5B13E78783E1E1B008254E83DA41F5F4079F44881C6F
+B9B0F1D6E56A9EB8F640961A1C07D1DE1E4009CE749EE655DF33BBF0FE1AC7E2
+14DDAB0D80DE1F55C99A9C734659A30C4049F5DB89BE3DBEE630F701F59611E8
+D22009C12D5E3D23DADE2E5714EAF3B4DB253C2E038070BAA68CB67323B964E7
+B55DB75762849BBDF03E056064525C7B6293FF28C78B4112F9242E026DEDEDBF
+C323D8A4B95A77738E0136F6A089C36C09E8D7E13AF0B78FCCA2539465CB2695
+94471C662EABDDA401AA83FD38DC31AAEECDD96DE6275035701157D5BF939961
+07CC1AD866F15474687F7602208FDE9E9E7D1957484BBD021B45F63DE042E76D
+762E666893324BC65A918D44ABB7284173DE360B5EB444444CEC3478B554C342
+F70314EEB7D026AEF8C7C2E91FBBBF30E471CD576FC9FCFE03E3DFA571E81CCA
+0B32685FDFA9AB53E64E0BD02EFD2DD3BDFF6DEE3C1666C57411685CBAE93811
+EBE1C2CAA45880708D9F5436FF7C8CB00AC2DA2ED7D210B57A4E0D77A6096356
+FA7A5E3C7FA71F97B5C9519F37824DDC8A97A551D601B76F61648410FE165AF5
+95DE474CC1F6EE15125E6DA4CE18C837D858F72CFD8890FD5AE61D9914A7E005
+E22F2D29FCFA360900FF8E0792D1E2AEEA9C7FC62E4428A78A6C69C861AEBF07
+70A25BB5526A8134BA28E483E32C3BF6EA21A62077478628C588EFEC6DF199D8
+E8C2492BF795DB8397D7C9A52F2660CBC7F2F13E84C2540CF0CC4A4D31850D36
+EEF743BEBCC0175A8F4C967E767DBC926E55D0E66A130F620AC3C8E73F75BFF7
+08121DFB95FD46E18075461F5C597C431D6AFD846CDD34E0041926839D856C80
+B524AB4FFA4E31165BE1D668C6205239ADE9920E8F03214D1D8A4B1C5E13BBCB
+0F59068DCDB5EF589AFFA18E819BE959013E15F494F0529201A9A70C2B6DDE22
+A9434459555FA63501E69F94CA24A175EF6FD14FF1973C944012C7183641CA86
+7E98C6C99B0E448FC7BFC4867BFC6D42A85CEAF2178082D19E882D8890E845D2
+46109F9529A1594FC4A37E7FFE13408843D3ACB1BC58EE20EF2A7BCA9F2AECBB
+12A6E1DD58B36A1F10D5D5C135949F71C037CC45AB2097BF6D8378860601B6B4
+C168B3E4B94B7F0275C3E13A03F1F219380E7F30E969CB868F1BD3AD8CFDEEB7
+7CCEF1B3651720C1DCE26E1DCD48EB76F990709489E084EA31C37741CC2E9FD1
+5FA97E2455E9952DB54D69DF6DE9A22385C2823AC6678FA4C9BF09AD2E7C4160
+E6381C515EE4BCAD81103E37EED08EF7D847FD27225D7219704FDBA4CECAEFE2
+AF3CFCB09F0B124C9DA4177EF220DE7FDF9F20A855BB661FAA1E103BCDB9B849
+11CC1967315D149692DFC3C0EC83645374C719C862BBCBA17407DFD6009579B7
+ABE2CAD2566D628A9B0E9BB7BA9416E01DF5AA5DA40763F7AE662E6A8FF4CF40
+F95915AAA0EC2C72E73D5ECA73D184671730D9C57095A30534BD44DB57F2D58C
+8F1352E00AF5EB367E8E6ADACECF18BFD7F128BA43A8AF1551BFE2D4619FC542
+7A3546A7DE199C4BAC162D8A3A89FEA1981B693B1A64752A0C098679D33F1BE5
+A842C9430A6364CBE813029CE52EB861625A235DCC1252DD45F6CAA1BBA1A634
+7BCAE48DD3CB624A49FAE97934D001A9B14E4ECC477F8BAE6841B94A34349EA7
+3C0B67773345543BC90B8C2D3C76D8368661EE9273A1FC00FC3AEE5894E701DF
+ACE899C0E0BFDE8435AACC5D04A2FBDD1E2F6E78D15F5A0F0EDF1697BE93DC90
+12B60ACC8920FF8BB461CCBBB0F062AEDDF0E599B491468F20B6DB33EA7D479F
+DD1CF02F28A420F005388DF9A42973B42B7224FAE270A02E78BB713A825ADAD4
+1887D903E2C2220444D349CB0AD1D3CA4820AA4F13DE9D0A945FA18EB810AFDC
+AE6C8D26DA0D417B1EEC9C533BDE04BDA73B5ECE98099D6009D0FABCABBB869C
+E5FAE566ACD768DD4CD84FD085573A97794531521B1FF48D4CECAA99460934DF
+EBBD16EFE2F9097DDE55DD34475B289D7EC759A1CB3F81D3A81491688828E640
+2155B586BE482A1D7E38E9A185B854679BFABB17C33D518FEBF0AD6AE5CCA300
+C68E87D59BD2FE75E18FA9FFF2D6DC461E8759DA2A2F43C9FE1AADD2EA59687B
+E539B8A010527A47E25578E7396A79F45949B9273701DE1F47F57103B766C824
+299F4CD5DC5FA7BE3570676964A366544970F9FC40041999F79C013CCCEF705E
+38E9001558E76777325317A37AD28C40A4F0FA51BFC4C2BF11DF43E58C7834E8
+E62E3E0CEC9788989EC5CA3E7D3E3FFA032F3C78332B3524D1B611ACDF66C1BD
+DB2B7C06483C74377558FBB92F7D4E1E61F2586258B43BBEFE50E0A20088EBC6
+ED13781B0EBC07C065BA92E1A0CAD789BBF7114A1C217F3F57F8B144DD41ACAE
+1D156C6A995DB418C2906992CD777736AFB151AF96357F28193A2C87BC9366E1
+426B118EE73080645F99AC8A1328D92906DCCCAE5AC411075E97B6B2BE
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMTT10
+%!PS-AdobeFont-1.1: CMTT10 1.00B
+%%CreationDate: 1992 Apr 26 10:42:42
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+end readonly def
+/FontName /CMTT10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 35 /numbersign put
+dup 38 /ampersand put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 42 /asterisk put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 55 /seven put
+dup 59 /semicolon put
+dup 61 /equal put
+dup 62 /greater put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 93 /bracketright put
+dup 95 /underscore put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /braceleft put
+dup 125 /braceright put
+readonly def
+/FontBBox{-4 -235 731 800}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
+38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
+D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
+EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
+A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
+F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
+4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
+6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
+A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
+E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
+1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
+452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
+8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
+5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
+DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
+BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
+741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
+E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
+E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
+D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE
+C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DC
+FF798F2ABFC4F3539392985C4CB324B00072295FC160818BB0355FDC4F12E39B
+984826450553E3D271F03D8DC2D12A92A4D32034FD16DA13B876D88C8C097384
+46D8D7E41CA1A8979F9B07EC3337E70CBBE3A377235B04C79BBBDB66CE1C1A41
+89DAB0784D0778A4244CAB95EF2FFC33D38B2479461E3CC0C0042B4879347556
+1AE2718C4742058FE118C6E74557BC27F73C857AA0BC3D5527C8A3FEE8D1DE76
+42F3BD4C077811073FB73D34FE110BBDAAE3FEA85CCC34C081000267CCF2E887
+7C04B2F46ED5B3502E827D43AE420D469620461B43DAA627DC0F82C3D927F6CC
+C614B819FD1C60E6DA8CF2ECD348DDE3699FC7D4386DC1EFB658E733993E90D5
+A39787EED0C73F2DB47FF81E58BD3A3C7F9E9991A6F6C2718921C1730BCBBCF6
+D3CB8F824073943E51814481AF27BDCBDABC5750E47960C3FB45E6E420EA5004
+143BF27935D06AEB16D9939750603AEE88740E10DE65574A9B98BA01DCBA76E4
+BB0EE3AAEC687C09863290D119D13B1F46A7B3BFBF375D999AEDF806EB13CF9B
+A4D0B1D30C61C96300951ABBB8FEEE2D7B8C3B1BFE3728C855901FC19B6BEF1C
+93111F531B0D8E15A6DEBE65C0946EB782ED5D9850CD995782902E2DFA35117F
+5F85AB28E54221704EBE8C24D1A37A5F5DFBA72B58C1E729DC28D3C0D7A6A04A
+047FD2F18FEC8563568E84910013726D210DB29BEC678CE0E39E2553001E8332
+2D204A72E7D5423DCB0977DE89955A03101C5A608304DAE100FE0710387E31B3
+4BA5E4BE1BCB7042EBFF9E13E967E474FBE31DC35597A6A2B3540ECE6AF39D90
+84C37DE64112685D7D153D0960692BF6945C46B7EBAF39D58461D8E4FEF64886
+972415FDA5615CEC91651B09E238383AC59698E08594C8385D97E0C22F62036A
+634636E60A0E0CAE2210988921EC23B642CD6EBCB1ED62EB0380E9B5041790A1
+443D13EA6AE7D49989FB6B0F423B27DA1A43E1058190708FCCBB294DA4B30354
+7E553343BAB90534D6C5C6E899E80F6F813417079D9EF542FC128A163B6C6AE0
+D98A3A182DB3B5B81AFC2DCBCBD3F53513D2243E506C392E9E1351D82E7937E1
+9302078128EF58455D14E64198B833B4903020603A8E46744929E9F426FA3B0E
+279EB93447B56AE40F70B2DFB4E1004CFDD1D981524CC2D5D584B20603E52D80
+2F1FA565DC5674588FA9BDE3AA2E28B604E5743A37F44E25B862EA2B096EFFA4
+998EE550F9E23CC137E5DB6245691AFDFEDDB78445A3EE021FB468C3FCBECFE1
+17E77545F93CB1DE1302B276B498B09BABC700FD804B375A188456A26CBC20C6
+4B708C82BE60324B5B57BAB5BF86F7BCA7FF88B8D7899390306AC86E762D75D1
+4919386ADC468A116F039F79435502755695E369EB439EA3E398065F007005DE
+07E96DFAA1175C5CD4851F6F45D0E45605578D55D153245691DEB2540F4B7006
+A7BCE946DF36A8AC6A7BAFACEB92289B4C5F7F4CD52939E2C62A01169AA58151
+D2DEA54D4D5A7D9ED20577033A0CAA99807F7521BA3711965157D9B33B5658E0
+C89A0DF5C3FB10BC538D808ECD28314C800D3E61AB82E7121E1C9CB273240EB9
+23A12B561ECADC24DD059443B0829B8B630BB8484230A1985D81C46903D158A6
+CCE7F0789A88CBCD76C04F0C0CCE2CC7B14C22994A5596E841F77C08E21F7E05
+2391F90CEBBE6B9CEAFAFAFBC7EF38C2F452EE3CB3979DCE17444D863E9C9F0B
+202A385EB00B4E2B8B69DDC99CFB527B0CABEEDC73A34772D619CBFEEA1FFE46
+42F6F8C137471BFF385E51520315EDE197DEDD88D2A463C817F724B6D8269FA1
+C043772275C2DA742320A997B151CB8A0904615AD5BEE21433EE9BE3444F8245
+FF7B24F06E4A1E436117DE89E33E97F7EA7DE04360EA87AD48C8720CBBB2DE8D
+C5A1C892D02DA9514191607A53D94EB3EDF76E1778CEBDBCE37D2BFA212D41FC
+490E9C3C5FC30C40EA51377B487A00F8A579BC43E7BE4F4D484D8808D22CE429
+374E100AB3D74FDAF8EC9383B38922E2BDEAB046A00C7B24FCC9317391F79A2C
+411F01E0189CB189A6CA649386E7C40ACFB8AF5B66922DC4A00BA9E7745FFD4D
+1C04B16C0FBD18F0A4A56CD77FA2A5B8D6F744077A40E21F91C9CEA537F5E487
+DF3FC8A76D3FDD80EC8862FB8F3E5B57F5BFF6A1494C4A648B253C465E681F82
+4495F2EBB315779DD08C6E3C473D35F3AB38FC2BD690BF3067C8CCD434257B44
+2A7A4BA682083E8832BAC3FC839102E0ED90AE7BF5DAA25A4807FABD13C644BA
+C0A49F68891A94F21D2682E51057F88C95318755F702858FF7262E9BC04A2D21
+1DD734FDDFA150C72B354B3642DFBF7E778CD87D7AA8D429A98AC79715F8D78B
+7D1AC6118EE27651711EC6BE317FE88964CD3763482337E6AF87124EF61682CB
+69BD9EE301ADAB3379F3644A06C5A0ACC5020C6700873B9F39E585595C19FC46
+BF71D08E1B1DE81FA2A0ACF46F9200E54733CF70B1CD14CDC356B42AC5C2ABC1
+48C07F7FE1E71E546F3B4499E05F9F2FDBCE166B2494DE793B591181FBAF5034
+5375092E314C0254479BE4929CFFA88FC1421DD6A8D74DFBCD0FEE3DA74188AC
+62B8C62DE1A44D84FA6A66F2F344487B5DDE96884172FD0C6E88695D86A42D40
+EA6A5D38EEC29B1B8763DCD464CD6CA7802770C0BDE35BE040C9723386C0E08C
+0B202EBCBEF6E4AFC682BABAD9680A3781280139BB9271EE07A31D494BD3182F
+8003E3CDF10B423A05345E5CC81B2FCC81922B20377FFA02A2D17993534E2D82
+4208279D28DD25AAFC7D43F7470A2D56B1091B190642C6EAEE832ECFD5C2074E
+0D4FB0B9186CAF597ACC7A1B50AD91589E8C0304ED3343521A3C91CDC6768C8C
+01CA2AEF5C1E3A80621B0BE8C0E60A2136D2889088A1CE1018CB471D2E433B2B
+97460B044CCBE106AEA582C82040752B9CBEF56AAA18DA2908ED6E5B7D75A3ED
+7228362079965B847CA85ED2042A1D4B1F7B1F9927F895CB3EF3285A259E725C
+6DB10306634A33A9A2B6612A60ECDC615190C118429440B9E035A3C3F3133327
+4C303420032E4A2954A3971CEC05ABD207B3B38A208BFE085394192DB2838795
+2EA29E43C78B38AAB30FE47D423D45E93E63F229DB145C0CF0B476FDEC033684
+8B2CB35EB5A1F3523A6C81CE894A271AF25DCFA5F8F0C6561A18224335709F9F
+D5DC7CA3A01FCDF23203827B910A613CB17A01596A735FAE56A7F26259345585
+574357A30DF991FEA73FB0BF788FB240AAA3236120F24B827E48108B729761C7
+3EB08B20EDE05E44AD21FBB9E4582E705BE1964CDD42B1F4F47E7CE8BE3867DE
+BD983CF9F85C7FF6398CAD01DAD46B1CD31B7437EBDC8D6867C2957A15E989FB
+21EA8C4383063BC7ABEC89316D6FB10BBCC6E41022C373E0F557075EA119EF39
+538ABDB1256F0E77F40F80B2517EF118A7AEB696320DF8FA484577AC6B0E60C3
+073C53268D6F00A7DB496082AC0DA2C49186CAD0CD148F49ED6143C12EA7F065
+3F579F5EBE86B13F4A27976143B1C1B71C280101A115E53124D38EA079255386
+BBA6FE1742488C1C8F1304890C82F307A64C0E4DBF69C6176B1102282A35F330
+526DC2F6CBF9DD95E62B0ED1A37B1D1DD58671A7AD3AAE44CDC1D5192313F108
+C5A063043CFC32DA43B6F36AD7BE2FCD79C8DC41227690D816C9D6DC1144C65E
+3E6C92A726B5C7595B29546F5955DBCAF5DC69A06AC99F34BFF3AF6D4094E8BD
+ADE88EC16DF7C8275BAEFB1BD5BEAAE8CF00E9F92C7CBA4C1D261669EFA8B153
+158187884DF02F97212C7CDD470B9632A83449E29ADE6584FA63B1FEE7430983
+54099F415A842A9E29A0E4332388EEF1A16F2CA621093B8F489F400D7C6C2CEB
+5DD2016B86E2707B8BD6F22902B4993417F6BA2C2B0E5F87B0DCADC1EA402A3E
+10958390F5A82372304F7C13F14385523C0EB35A4980158B760C0296EAD34AAA
+A51A5A9E318B4DC0A314EF141A4DC30538EF55A504DB3F616D23BD874119F4DA
+E0526DF75F97C7ECF4B0AFF95F118570626B57F90813379652CFD8E096A34870
+C71C6D428A6CC584422C9815DF460CDF7EE61213B6A9F801E19DF744C33077C7
+645F5BB44194369FD94E5630CC0C47DE84D6929F6EE7AEE5E045CA1FC97647F7
+D727C3EA8D50364210995CBF9301E4AE3DD6C9C12CDBC509EA77BB33BE7782CB
+CF3C34C91971A608BFFD926C6B092721DFC0C9C4FB531CD752F515D9640BEAD9
+26CE99C25739157616C791B357649A74F74454826EA95CBC06995A3C00E49489
+2B19496DE0EA217E5DF4B4040DD0403EF4352A88E9F113AD41F502CD840060D3
+494D746C76AD55B69B2E53E96298471C0355884DC941CE37B6E66AF6C33AB8FF
+0AEC9507FC1095E5DECF10A1CE0EDD2D88FFC740EBE9DB253CB952628F0F715C
+77C9AD0EDB9D6B019E65886071A67598310D494026B1FF5B4063945005CBAD22
+6ED901C281AD466D023DE6CBB8894CE204C442CB4FF6BA6D3117CC022B99888E
+84390C0C4926DF051D035356B4DD8AD3AB68818994AFCC88CF3B50AADC6B0753
+D79ADA743E93A5DE8FD734356F24419B91C55065EEB764A16BB76923B45F75D5
+77605867D725C17A201E46D46D8877437C29FB483D9AD6AE512EBA98BD407D7F
+02FB776A4FAAEC5B6E47E98E728A2F9C48E825BE33157760391EC1A2B2C92EB3
+2EED206006E6141A7903E2FBCD603AF6D54C6DA4F6EBE4EF18F3AFE7568B30BF
+B720BAC3F6D4B0ACFF9110435FA51C72528FDBFFE39F6C4BF4986D0A4D807BEE
+623441CD814C5F96F915B79C26CABED60DCCAAFAD9BBAF4D1FA3703A6D64E941
+347FB448C49B2BD6634F04D83435D2E33A47E74FE880E776B9BA2130E495FA2F
+AF9B3D86C009E3774D6E20238135F6D6975F7E41D527CED116D440B805500E71
+63AC622CDAE07E27ECAB014E7442FCB8670E616719C3843A3F10D46D3666E2BC
+C20A30A38E7E4BAACB4EF2B94EEBA0195199C1DD94EABA20D2C47EF4B43FE83E
+2EB2F778D999A947B21676EE462BBD0AC05165A6D62852B0809D0B5AF3222CF8
+9090FF5DF606C901A5CACC1FD377FEF5D29F0E0D966E008DD20F1807FB5A1D60
+CC2C6D1B273826887BCF3A6B3742DD91D103A3D24BE5BB03B6EE71030B2BFB35
+400A17FDB675E057BD4A6161804A149C333866C33DB5FF6534707A1AF342CE5D
+0AC79A985443436F94A599336C7F767D809F5BB094341F1FC7B45C53563DFFC1
+54E80F2DF003C5FA0D4A7BF703E30277E2393665BED0741A3563D7964C5082E2
+B2CBC6901BE79CC4F8AB0AF58C36D8F4EFA84ACD8A630B80B5565322969B10FD
+F236816F8D6E3B55A2EC1A7FA24C1950181B007352879B682B2D5A79D0DF6236
+B4730EC61E2F011DB6C4741736046B5DFCE52CCD0EF5D780796ED988B622CFDF
+E88394CB90CDCC41189A4A1183A9789575B29ED972462CEE2EC360A6DCE44B76
+297CA86EDCE5F3ED2D76FD9A0F31452CF0D0A683917E724A4E818EF84D4CD0A2
+E8FBF30FE262DC8D7AE9B4D9CF953387FBE93192AAC95D611C70A18863FC28BE
+FDBCE04A7709485B14341205FDC074641747D6F15C866592FB9C22EB4376DDB2
+77750F111D87B2309289D77609AFD622D9735FDA1A40AD92AFF8CA8D5D6D9224
+8F0DEEFACC2DB757DB2BF7ADF4ECD0C9780F7D00875A4D3C0D03E42A85D45018
+FC4E8AB5FCFCA190C454FB1F9B591DC63A73DD9049901379E175E9365FFCF2F8
+D74DADEC15C05EF0A730C776DF62422F73A9DADEE0B5F2B74CE0D046A709E5AE
+A57524BE4307E665FC80C6887D1E968D3B311D09FA2EDC1859FD96E1121CCE7E
+C1D427E74BB8C3FA808DC97898DEF88F0A5C53F2AA55118A94C1602822264D4A
+8C1D2591E94FDEC13B1D2CFB357B4D884CDC84ADC37AFE61BD24C9B9AE7BCD84
+BFB5BF9C2821F172C1535978B73E1A6BC8C8B815D96BCB189FF1B674C63A40E7
+0000A4AFFD6501044E4E11181345B48F80E51A33FDFEBB8AD94B697EB0D3B5FF
+A031FB3EFB1E6393F428F415DAC9E4ABAC95D2695F3EC2C92FF1076954D70771
+5791F147B33E9762471F54D8F32856A364D4E1E24D9D4059F3040F2E64AFB288
+34996A1385604869B0846104CB9657E60B03DAEBE140943DD66BBC9B16E78AC9
+4E73013E70301F3AA0AEEBF5BD155A670BF04DAC0F8F4A9AC1BB84D0787EE725
+4B635EA8A53B0D6293ABA1CAC30A294340BFAB6BDB50E33A0F367E21C738D1E8
+723673C7CAE3A88E36CA95AC0BCE1F15E9E7AAF6C4B4BEEDD936ECE8644F6002
+4D986CBEAA946107895DCFEA4EB93EC5B0B904ABDE6ABCFEB7A78730460887C4
+D1A07B38CF0ADB81E2FBA8E3ACD09D0C415ADE31E7E2D2BB784076D3DE5601ED
+C2811C586FDFCA10774EE630372081CB7384692780127141DDA6A10CFD08F388
+EAFC905822F09D81D4C8B584A64B9EA7B335EE9AD6D8DC412F8766CA9B465E9B
+DF13ECEFE418E2C346D3682ECEE511FF82E87B208CBB8CC37AC03625C446E93D
+80BA7EF01CE7F5B61F27ABA14A58F9E8658D0C866AFFDE5CAF71EF5ED044B6F6
+B7C21202CAF6DE905F1FCD84B390F3EA5AB1C0758B431F905D257AE2485B150B
+92E8A0AD3C5FD7E034B3F770105BD20AFE529E1601F5049708B8F685DC5FAE76
+09FE62F107E24D1CE91BFB603810A022C4DAA060BB984C29C55B9B3AA989067E
+92F3D01804D980D83AFF4C7D1C511E690120D8668DE0FA3FBF6B6A29BD479E31
+981AB11F0F162A70E4E81F2C0A8C59B5FC0C11BD9845C4B61A7E7C833F637DEC
+E07A87E003F8308B62E40A07D4D7146E9FA54DBDB9306DED92D5D481DF5BFF24
+0E6514F6DD1AB8509473A57086EFA2EACCE5F9E58FCEE8B5BB3B6D137BEF1285
+89EA832C8C1D8115766B376145A4983F6D1ED5287BBE6CF5F67B49879FBD03C6
+8156CF6878B1744371A3103E622159E5C8CF7FCB32C3862C22B3FDF11FBF30B3
+1FDD1A164E5E285332873CD35DCB039F5B485B3D9FDBB12DC7ECB67F3505DE7E
+F11FB27A7AF6490DCDFB1566D3F147FB070B8E83F3D790AD6F236D0245F6E1B0
+14535D22BC98381263369E4774E71BAB569BD45281380A48E57C76DD8EBA3C04
+17BD36F7CD0958E576050746EB8923AFFA368717E10A16B71583B1663D1D11C8
+B5FA491CD0C24997A5F7CDC953B545DB8E08CFB3BFA704E162BEE27C16E65C40
+7328604D25A5DC57F251A4C8E502D01C30B46052B3ADE3103DDDA3EFD6272914
+199CF380EE9A8387E0EB3240450931160350C0C625D44C331DBAF18374BB4C1F
+E3777647C366E61F312578079D68406CF3B1DD74071385F94174CE5B1F9ED388
+EFB0FFDDFC09DBA85DB889328DF594FA82030EA686902633C2C3E0B0FBC7FA2B
+63C22001602F5ACB3E5F47C914E9E191183287FC85873C030610E40421621344
+E11678418E89200729936095FD61825331D559CF26BBC51FDF44D769E168BD03
+220582E6B8707BD0AECFC20C978079EB95DEE61BD6AF7F00DDB906BD6EFF2D9E
+118ADF93EDF08F32A326FC78D1A89C429E17AA399B3323FD64F67777D0113B3B
+CF0CB58059354DEAF99AA6E130CFEFB41AB367E89466B61D10F571E64343DAD4
+1B1584350EC674761333FA934E02401ED59B4AFC47EFBDB86CA3133E9D3D220F
+E4543891D139786DCF65EDB9B07BBB6DEED08FAFCA473E9F040738A2F35B9B68
+26DE84555A6696A5AF76DB38FC063DE75301A1B153FA7D4F87A79911D374137A
+476BD6DCE83F1169E79064801A9C4D6A510CD426DD08B75F68285DC5479C79C7
+7F0CF5D6026F74BEDA44320DCF5F53B493D3BAB66579F41D970F383E0E36EB2D
+F75662E1D83A807E04444B08EAB6166B78A2D93D42DBB846D1D378554865AE82
+88527E5C35F0D56A16687127710E5BC16E8CA020C2174D48F18CBAC2BD68709A
+E4DF8A0DD743BE501344B963A6495F05B09D2CED114BFDA6F06CDC7D384AA404
+444FABBC12031CBACC89238D7B3C11C74554F518341CED3C236F402225695751
+F60BFB05C2F0CBA5D98FA0A9F374614B39C0F0D85A3FEF0E317D99D991FD24BE
+7E7F56EB2C7CA2DC150BD986AC5DD101B1869811463CD88D1A5CC2BB07A8281F
+61ACB5018C6A841C45BF23ABFEB65FC35A8DD2E2EC04C68DE20075EAFDF218B4
+957D9D46581239ED61492789AF9C2B483555EF0F6BD9673F5C266E56149A52A8
+A43C2DC7228FE2E715EE2C986B971AE4A3DFC984A6665FE9F353B2A208642BE7
+892471129991017921E7837CC9D02228CF06548CABCBBB9EA7DBA451E46CCC5E
+7A5C35C04D3B70BB91117414ACA4A79BC957C4E2EF672BEE6319AD271A454875
+707CEEA6E0E3E36A5C8BEB0287E485EE4FB4CC96318AD1BBD8E9A4CF9EA58C30
+6DA2D664AA5CDC129DBB71D14E1A63B17870F8ED648DF5C84284F2E6A7EFCD1A
+1CA58599DA1CD20109F115011726E9F6D1EFDB2DF2C4880728D45287A6CAE369
+960AA12900C0B1197D113D17B6F305F2D5CF3FCF8FF477132FC546E5741632C4
+729C152C526D9E3DB5B0C42B3F059A0FF732E9A7E0773330543CF9F4A9D2FFC7
+210F6FEEACC16891F45721189F574C2B1A326754D0270AAB1FCD85A111FAB619
+AAF0BDE62F9AF46D01EC81BB4049EF54938F24DD09CBECAA43FD35528E9F49CF
+6AEC8924DC2D9DAE644CCB4C06DE0364DC8A55C57D23652B7F40BC6131053DDC
+730F1732DC5901EA45B626D44C46C466BF17AD94F5A4243691C6FCEA0B356960
+C9FBDE4D491108E93DC71C5A52B9123DA0B41F8740719A935E12F9B1DF8694B5
+AE02FC7887051715C066225D84B0D71B1C8329F43AEB367537C2073DB23253BA
+8E792BC727C234FB85677760EF7CBDCD7022F3D128CB9648A6E4AD5EEACA9059
+2745DD10DEBD754EE72B4DA6598C42E34543E87EE1C15D0D44728E8C28E2845B
+6E32CE2955D9778AFC2BB91273B6582D07D5E913FBF0BC7FD7C030AA5B89781B
+26EAC2570601A13EF779FB27DBB10F62F916515AF9D432ED408E6E14D3001AA9
+1DA0D91E12DF9CEFE53897CB27077B56E0EF1B67917E94419C7F29ADADD681D1
+9C099D96B36443FC7221677504E0FC2803221A70CAF0EBC1AE1A17F08D6C582F
+E2DD49E24BCD60DEBADB6D873616C1216EB8152CC2F6E1569560B7FCAAC154A0
+34AC3141F9BB9A7935BE122FAC406909C221EFE2CBCF8E93CC08F1B65B2E196E
+01EF12208DF6D289927EFAC5B95C2E7E9F35E01897236B7FE20836597C43DB38
+1F3B0FF3F2EBBB98294FE6FB3FFEDF4DA992DEB30E8C28B0ACE497A7027FE523
+C98234DAE8A2C72FC7C69B850D76AF02DECD2BD8E66048D71D2C23C30C06D163
+EB51AC341B2BBCC9253E07D3C3B351B31ED811588B8837DDBD1715597F8548FC
+8110AE050595E0A33DFD0FBE58D05B90FC276C0D84D865A5618CE5DFA8F2F577
+C166CD032C50F8E31CB038EA1C84CBF05095DAAE1B27F8C0FF1DB46550253FAE
+60EA95F3568E85641BE56F4B45E9483C9F03936538BD4A45DB8B801B9945311B
+A87C863CE0704FA51C93DD1D16B911D567F49061956B1D2924B017F319D394ED
+014698B588B0C6D44FB4AC5EA0CD198838FAF25A28721D54A38C237413F789FD
+5E63962BEDEF058F16D82C612A8BBE1B27A6CCFDAB65463BF7102F4D52105C1B
+924A07EF5CABF18DB1681E900F2A12425987FEEB9F53BC2F0185BED93D68E8FB
+0D9DE9DF0026A4A1A63D77E74FC12BF1C09326D4876D21CFF0477F61C85B3998
+225C53C4ECA4F375087B658A2884BDE896F152565402DE83D4AD22BBB3802761
+9D5919B4035481223C74F836DB224A87C57EFB4FCDFF6A7F639C683D20446607
+2C66A91762D85D18361446F01D5002FD4E0DD3F7C9F141D3D7F12ADC1AD62B86
+519BF3A3DDC24A714DA3909A6CBE635BE1EEA57FFDBF886353FB875DD538A4FB
+CADBF40F28832F56C3361CC02946295C96D15DC39D1D2346E9F734AEC76CA01C
+1D1C82E4263D96BF24CC9C91BC154F6657E4CDB6C9AFA0D91E6E3D3F7B85B0AE
+7924B40E7F5079080263C6FEA4566D6EA054191867D704E381B40F1FA35F26FB
+590E8D4BE1A42325AB1FA7A97D6FBC0F2FDFAA663697D275BF3950809587A32C
+58B2E7812DAC1A741E09B57F753F16A021276E33C8E88A4862102C8E94F33208
+A5697FEE41E0B07870AADD737EF08B85DC6BE6106C5BE8304AD2F06570A9D659
+5FD541C7C9FEF2B40277820280AB6B12342E3F6E0A68CD00D837639A86D343BE
+D00DE72E0E7CF20DBFF8211FE171CF60F470EE199D995E1E591353BEB6303D01
+F69C1687328C6D4B150C0F3925EEC6B09B7B1F7BC5171E09926D487C01A72727
+F5832CA67C718D902ED6A8582DD31C1E05B98BF735DDB34942EF9DBCE6593D1D
+008875C82950531D335A835582332A9FF3E818F252C366CE47203C06AAA63EC9
+6D12BA546BF70C1C55A19383108B4D5E5DAACD3459AB58AC250C6ED8BB4F7A81
+26BF4438E2A7E09DAF1EAC409EF4BAB652704DDFA4BD7922CA7D84335D2AD692
+0B5768D7B86958562A6AAE043227D91ECED5604EF88B631FA5214A220A24A434
+382F28625802E5A7B771A240BF3CFE3E5C26EF07D25579E9B0DF051CC455ED0C
+5BFAF7DACA76961F6E845BFEA89C6237CC4D2167B23DBFA12841A05D3845ADB1
+F22DB6FBEC1957F4A6B2764058D01875770FBA21C399A4B7124F8D3CD93B85D8
+EC4BF36591B064FCDAF5704729F48C454B185D5F63D08EBA439189730D501F4C
+2558CFE90AFFCEBB9CA6906644D91B89DBFB2B126DEC3D11C69C43701A695232
+889E0F5B6CFD28563500E58D36A9639758063321FF48CE828031DA7786B5FCF4
+11A438CD23F6DE1896996646BF5C297113812DA173AFF1CB9A35A270836F1D28
+E4814DB3E06149A27FDB80B420376429E0CF1E4FD3DC4DDFF18D640E08C7F356
+2B24BEA6C1D100A37DDBAFE1ADB9D95EA40B1A61FB4B22EFE5041654CCC4F10A
+CB1BF0591DDB18D2D8DD0799E3CC6D87FCCB79B98D0A0F43F683180D374F165E
+600B93451E870C4A778C695FE20235EB3E5D66CCC68B191558C047B78863D34F
+891C5BFD08DD9BDDC4438315D16D64FB74568DFD98984702BF41E3AA2DF51B33
+266F6AC71143050432767B6ABF14CD9A91EB26EEBF9922A87086EA7ECB89DE2B
+6742A8B41236F71DA971607A12FE7CD8366342A0BE30B442775103B7790A7D7F
+9EE53E50FFAAF7BD8557C83B3A8B0D6B5874255FA0976237641DEFF9FB78B434
+DB904AE6853C5040AECFBFE470A0442E087CB66C561218AC2468B8D7CECA960D
+76E869F22780CE8D82C83EE0DB6AA2E40B146375A23466864F97C93417B4D790
+6F2AA9E51E0D912A99AFDF9166A24FBB4E931D89A2A1B6AAF169B9987214417A
+D2618D33D3B5EC742E9F98DB9CCE354506F5D67FBA3B582629CE9FEEE5788F68
+C5D221AE2D2DBA4F2E1C572842E7E61D8CB5F4DF9D110BE0F27830248476AB67
+C6D43F452F24D161B5E1C6589A1A10E6FE0B74ED8050A26ED31E7A4756448817
+37AE9D1DBFE7B7B6BF6EFE016C2055BD06352DD102EE3EB6F83626961C0E4D4F
+F671C73D12C6ECFCB12F4DE604304411F026591C153095A7CFBE947292D6AFD8
+1EC4010EF23BCDA9906F0895D0E0B156C26D955C2CF384A4D1A6CD5D194EAA50
+824BE4E6C8140F17D6C43FF141DB67531A155B8DA764B449029C69CA76566B61
+A9D2CED8301CA6EEC5925819A75F123655105BDE0C84385AC42B7DBCF71929FB
+CF6B189C30356B1BAABD615B4874629B1DA03D01E156707B591F775249C3321B
+500420EB3002F174FCD2F245D620F81FE4D06D8D0FF3BF8BB16B17B4EE23FFAC
+A00895FFA7356EA414011F70474244A72CF960F3BF3EFC15639C72A69ECAAFD0
+D0801C2C11DD0D1491FDEAE7F8699A8A931EC2E0CAD8AEF58FAB5513B79DA3F2
+7DE456612129EE02041679FBE73F1BB623EFA954E322C5092CF233D166F1FDC9
+F4A6D9E622FCB26CBABE23C6E77E20E9FAE362D0526369C7C22825108BD10FDD
+7D0B86D77DA54FC097A9997D576F1C6578B29A6FBBE5479DBBAA636DF1A85152
+738B07D0EE0827529AAFDD981269225A5F92AD7D43ACCFDA3884554269EADB23
+E26B7E0B06E01630472C08E1769F7B83A173B9270B4F29EF8B0F9E2CFD5D181A
+9E05F0CC0DF783AAA44C8384A70631CD0542127A722FEE62A2DF692066CE5BA0
+E3EE4472B48A20CC51905296E24E0B33EB3BBD384F366140D8346694CDD1FA73
+3EC45394C65F591C8DBD89699AA6297444D5B9DA1F59E4DA9E7A77491043A746
+3C90D2A496AD5C3D508FF8448A78D1CF1306B2D7D1A6E415571ACBCCBB00C0EE
+FF862616694320F60A214EC3AB2A8E24A2A19F376196E474F8354CA01AE039BD
+1629F22A61E8D61A08BC67A0900825C0AE7FE8E9F3B691479A57BBB971BE02E2
+4A3353ECBA1BD35ABDC693D8D3C6DECE7FEECA3F0526A49864469554F47E545A
+EF130AF7804D7D0A2D45CAD160492CF20929C408B220E5CDF32F36AF3188F0BD
+0439D6EABDBF7DE3837B71144A029E8F209BA72B24212CAD346E65859D7BB5F3
+A27387E6CC999F8BA5DAC763C0450B3042CD7D384E1DC2710669D8248BCADE73
+B3DEFC26A2CCE29E49EAA07A61CAEBFCE551E22B41C71CA47BEF80D7A47B032E
+8B009D3B3926ED68251544C69DF21DC18EB82E2F3EE3A28736C2406946F0E334
+A5324DE56DF80826780E224EDBB52031972BFA0D12B491CFDC74DC1E461FE64F
+4D1FC231F194C5242B4F1B4E63E286E78073AEB8731620CCC8AEA7942B783F7E
+F862CEADDA2D9B54330EB98084D7811A703DD6E26B259BAAB441A606C9112283
+D65A7D26C0CC4CC4061309A0CAE0D98CFF0D50C03C2ADC8815B985C4A8F7D62F
+431510BE5E8C1D8FBB9852C5DA967015E343DEE1CB50CAE135EDD6CD05429832
+C2A65140FA1E08B302501D5290E4A7C46A7F9E8655FD6CD673F1B8AB0B4523D1
+C759FF6CF964A5E56C01DDE17355ABA94B372DDF2F51E748C8773E588E885544
+03CCEFD8A53306D7CCD20CD8345327FAD8E6830FC677B0A372F989DDE179E36F
+64CD65B149A06E66B08D320EEC7E138C316C632C07C6520B777DDB7965600624
+2B3DC6831CA3A2A7B0AE0DF56C3267469DFA8A998884FF9F3C599BE38FA40150
+76C9F914BF4782C41CB71D2B61B3E6447DB892EFDE33D9C86542E47366F3CB32
+B033AE669E2FDC389494B39AA289547BD5FAAF0E7F86F7286D7B1D0D1379239D
+3BF2272AED9EFA086DBF8113F86EB274E8AC7BE019E0736B3F675D42419FFAA3
+6969FBD65FDC7F90009B403F3CE8E8A0672B84BAD8BD574EC2FB837C59F7C8D1
+CA702CBD85997B3692E4D5B7B9A92554C841E4CFFB89511786E3D82957F38A6B
+F18757A9159BB6C7B820D5D7FBDBB684F24060ECEC9642B1F58B6DB47C7BDF0C
+316B4E6E03A15C5AC34BBE39A0409D54FFBCFDDE38E658B684C483ED25B3A1B1
+C36CF39FBC3F2C16C60B4191EEB2DF9BD37018669B9023B3417E10079636EFCF
+3DBC58AFDA938ACB2DACB2F4F4FB0174CDE21E7C18F3249B7F9552BFA433DCE0
+099756877B31DD88639652536F26D7D94099FA9B4FCB0560046A9262931C65E5
+92053C4E35FD87DABA9D7005879C22B5101AEA62014F3A057721FBB8E7467BDB
+69AD88238DDA8F2E859111B2B418D3AAA022339D086D59DE48CD08454C912467
+9DEF6E0ED9F76F05D81B95FF5829A89B24E9E43B0A8496E0B13B22A4FD7814D3
+116A6E96E374AEA23B2922D9F6443E3ED1793D1BFBDF3BB02B7D9E6AE5591177
+B30ED8E13DF465EDF59A9CF626D0B9CD5903A479ADB4CC991DFC4A8738F0E254
+3C1AC97C1B55E09BE394DA49C18C6208984CB3180E7E646785B8FBBFA0E66DF4
+90A46D55E23ED4A4B69AD7426E372A827A93C15210CEBC9F14FA9E85CB755497
+7C6352FE2C7F2091317C2DC7858459D71E6077E904140D173334EC54BD371E8C
+D22F826F6A47B6D415539A584A5E51A8A2703917536CC78714FF645C2BA45E71
+8E8A115480553288CE75D20B8983CD80C1A379D84B287DF717091C6238AFB40E
+5CC1E47D415F93D06C815547E9768364793C2A56DD7CF5D15B43D7E45D5BC173
+BDE51EC81AC562ACD34DA9E289CA5ED20B98239493621E9502725DB3CF7BCFEF
+7ACDB71CD733D372F72CE5D6E4011ACAD693A5FA3781E703F8C2AA765624DF58
+CF80D893BD60E9122EF34807C043AACA79992D65AF26E4C77BE0E7FA8A5EE5B2
+3E358D2436383E8AE643AFA6300015E5024900AA4F9F01F361CDA348E46118A2
+65B8D83CA0C2247890776B3EE558FB274B977B7E5B90C51253E6A7F21E4B50BE
+A642F7770F1EADC62A30AFBBA6E382368441E82FDDC68027158160A8118CD293
+61BD76CE8D901585C813C5945F516D7C149AEC0B227194677B9188476FD2FC56
+93941BE31CB4C8027EE899BCF6849C3A1F6B3AC0437B2D364E8B9A16DDDDF9F9
+5C71755A54ABCEA61B29590CB360C0D80354347970AA2BB275DB7EC90EDA4AEE
+5F8B2B8AD1D227B68F6D054F026C0F89EB87592B4B49C929F99048925504E8C7
+D4C8DD54555985980D889845772A7FE996D13745A4D103B7AED6CFFD27DA2177
+B4BB2D7472B9B53594FBA590BF3720F8A0EDA58B204299C3BCAD66FBEFB8A6EF
+196549B99E47E871B01F2D8D33B0CD37BE8B1F106A30A6526BE345DF1E974E11
+16B0D1DCFC04E0BA9C31E90BC421CAA86873D8DF11DD8DAA1B6FC3634AA50496
+96527307B8CE9BD87F6F42918EB681DFA7C65DF440C8B8543B944CABC451C2B5
+D7BB3ED820D17B10751386221C95ADE22FF19670560C96D9928E424F8E420342
+69CED15DD15ABC2F910042D24519A633A13955A321BB3ADF099E278C39DF4BFB
+BFD73DEBCA840F4D28E6A615083977339C65CC95F898E8A9A5376BB5B2F5305A
+7C39ED1622B99FEAF09929FFADEB422671FC5766A9767A009C16446F0D054434
+FC7E7EC0986CAC11D10BACDE55D9D18894EE8C556F84FA22E8F8C3E8DF43C34A
+DC8D832AF681834BBD85F7A60C06BDE31F0A3F8576545193021AA6C7D896E918
+8FB9D9F505DA027E56317099B472456D4C2981F516207F05A6BFEA874F6DCE5F
+9AD138099D4E9CB5C105906BF85C5285D3BF00F25D867A55A66980FEA1F7FFF7
+A17D60380FA0841BCB941CD8FCE1BE83712126CCF82494650EE43C39C186A837
+BE218B46D14F23E515A211844CAB9C922CD59A41C78C8FEEE4D050FA2F7F0AB7
+C0A4890E5704291696D287A1FA5F7EA5ED68D01131D4F0C08FF139DEA5123D12
+D41A071C53A360F23C4B1E1652D8CD35941CAE2FEAD5CE627223606359D267DC
+6B10B546F72DD6E079B1477B93F035D1679D1EDD8AFC9F1D9046EBF493292875
+8493E2E218192EDC2A13E4C2F5D13D555517D1F81D9F7AEF32B35DFF0D5A319A
+60703183672A4729B02632BB2B90E379B8F0D9D2080A41ADFB1BAE8CBFF76715
+4176A1127AD13E2C23B003D712ABD931849741FAB088116C21845840A06B0A41
+78CFC45EEBA410C02B6E351D21A47912B4C7A4DD8BA40CED8F87696F9842F65A
+A18D643BFFE161C6703768A43012D79FFD25C53534F6BC872B2F2C95E34A21F9
+6D11067A71741870DBDB38B9F28AB43280DC533C98861A2E76DABD59717C7323
+56B1DB3B7EEB8C5C7B7D26BE8459DF534BD9ABC739FB107E673F5F7620DC557A
+55F8F7FE488F509D27888105E7B2472F2C6B05826A8514D71D049F4C022D7280
+9147
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.1: CMR10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:52
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 14 /ffi put
+dup 34 /quotedblright put
+dup 37 /percent put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 42 /asterisk put
+dup 43 /plus put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 61 /equal put
+dup 63 /question put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 89 /Y put
+dup 90 /Z put
+dup 91 /bracketleft put
+dup 92 /quotedblleft put
+dup 93 /bracketright put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
+dup 126 /tilde put
+dup 127 /dieresis put
+readonly def
+/FontBBox{-251 -250 1009 969}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
+87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
+D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
+92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
+295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
+409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
+4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
+2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
+0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
+B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
+24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
+43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
+D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
+5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
+96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
+7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
+0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
+B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
+AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
+97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
+FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
+20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
+0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
+F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
+3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
+A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
+5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA1566B96E221864A
+45A24ADAEC63F61C9FD18376D39E0FDDE3FB4FBCDD6A7B66068A99D31CF54CD7
+DF2262DA91CCC72889CAA62B1D6F2155CC8E940A2C35D8CD3EC75326188E2D30
+1090F31AB50F30AC77D2C445BAF7323389406C44641B3A72C26BCDA442504D03
+6C22A3BA1A69E5F87EA400501A3B3231E46F96AC3A6C0E4A4F6F21E0B2BEEF53
+E016F34D7003351FD12436520926C632218410359AF9FF167750D3CE0DAC3B91
+B310C457402E05C316F400246C8C38B98CC8030F71104BC4FA0505B5EFA4F5C5
+9E4FA27C3E790D698690336254D7E34451E692AE23BF5FFBACBDF33E25359BD2
+B0E7A0686602568BC87422F32486CB50776C7EAAE7F1BF78B228CA3254510653
+3D6368A4985C5FF5A48AEF16E1AB71D7CE2C6649F2CF4B2879D4FA042239B504
+F988D2FBE87C3BC784E55B8EE36F1BB5EF14FD5836CA448E139EF8FE221E827D
+0608A6B90E08CBF44A30669AF4E20CD5C0C8051E5F86062204AF362DA690B74C
+B952C9F4799FB2535E47AC019175950A1F3A0D0937016148222B545B1E00A91B
+39D2121462F51F736802C523BCFBA894EC11C3353F9BCDF0892C00EB583A4D62
+247118996064991B816F9F490FA73861FA614FEC7FC23A5D45310527B6559781
+F1C805F0EC931D0C60E70FD5AC55F22E6379D369303F63A0E7069237118DA0A6
+5BB55FC6EA1797BC51C1D053401ACD4E9B5E724F4AEB149C38DB0E2BFEE811A9
+A94A7405422CDC911CDD97EC4976E27F766A9E3F84387C04C6367509157E4D91
+09A1F6DDB59AB9096FC43A6F9773ED9CE3DA6B56D10AEF99FD277F8666E72028
+807AEC6C26E5A142496CD41A80EC051E875DF9F547BEF060B969B197AF97608B
+F7A3740B3153621A680DAEAB0454706C65581255CA9B40078FA6D352737F0165
+D834359ABCFDF5C212F8AE9FD50BEE9683E7D5969D183C058E8BDA78F61B61AC
+98746B3A1750093A40C17EBD4AEF36BB2DFA1C9AC2A12834DE4623CCC76BF5A7
+92B2B2E368D1DF3471D83495B19154836569D2A30F9CB05C0EC499EA5D3184CD
+BAE8D2A2CF80C6359275B3894B4DAD7F92501BA9A6BD215256CF9F35C2BDD40A
+D1D949000633FF0B5FC7674BBED71294AD28FF25710E968E85C3FE71046BF0C1
+71EF48F8024C28959FBE6E896BD1AFE579764616672C724959FD66C8398ABB5D
+6C02C5619866453708E3FDCAC2754E9C333C1123A5F746DC5B2CA9D430263645
+A88C743EBEF8C82DA0236FB73D3DCDFF874A1A5928406838A81E40F34816EBEA
+0D7A89406A6F492E5E5E6C8C4D85A2B9A83B6A4304B05AB541041AE014C845B4
+283CE3F75DA22CB7CD78C67A1F067C79B209BDBA6705D80FBF08CD0FEB9D3293
+D9955BF6730BD59495A1F81B708292B509537089D8AC34A06DAE5E8BBB9B0A0D
+F09BA6723DEA964F06C0E1A6541656470E251F5AFC6677043DE7C6D85B60D3EB
+B8A4415DBFDE3F29D5FAA0B5CE4BE9559595265FA8BC24A172FBAF9B1AD0A4E1
+1CADABC2B71A43098146DBFDF7E126069259EB490CAAB07D5C9CE4E328BBC737
+C2C08C8A4F2BF52D59F21AFD0B4FA9A792A7D76220184978816E62521A73F74D
+6DEB6CCD2CDC4B80521A44C4DB90D920F62DAC930649478C801062F0CC80F00A
+FCA5C4E5E1C39C1C51FF9EEB5D10147C74F375BE92F631A568B165A6C5603AF7
+33D576FA288FFDB1073EDFB3E27AE7D309F1B1EF88E964886ED0F143599C8B3D
+E5500448B5BB38B8A254BA78CF3D77ECE033C1FFD0C337C87685957912009099
+D38700245D96031A32ADE28F1A53280FD5DE710AB9043C1F763D8116460773CC
+06FCA725965B8474AF513DF5923EDBB9486DCB064BF850BA236D85CD8290520D
+6FF7FAA8CE8706F0B91FED1B1C9EC8582DE0B21E2A6CE906DE939A79366A2C41
+9159F93BF964E2512EC9BA14CF3F57FB680C0B422E46D5B7C4378F1FBBF02A98
+D2DAA8300B125426331D2E189FD24470EB73C3A07ACE87A656D7C18B2E8B85C1
+D82969432DF447EFB88EEAEBF52B60A279BCDB475B5B440A2A52AA65AA7BE7A6
+94E1305EEEC50268FE110F279B047A1BEC84036C49CF6900C0092D953338B798
+617F951CF53A99FC410EDA3AF64D65051E416413CA95682171AA43E2A8F8E7D6
+4CB5FF04BB133F84A046392A3015EAB735988A97DDBF77556989FD5674D6CC44
+3121BCA7E198CAD5892EB5CBCD8FA6BF1586159FF395C682E8494113276B9648
+C20D806C0296517112BA493BC8F32B1CA7CB4B1A46150DECD06A55119F8BACE3
+8525CB3100123716000A7AA97F79C36350E0FF1BCF2376C86E2167C05424FE8A
+41AF4F14899004ED5DBF76D34DE0E4D53C78E95CCF9C66CC3D46DD2CD5EFE763
+6C18D2AFA1ADC3646289B014603046597231202DCF1BD531B0DC20CAEF872D68
+D2AB4D619652966BD32FC7ED588144BABC4054475BE8186BD53EFAC7EB48D9FB
+E54CE39E436D444D11FA1C06A4F78DD68E05A5BE7630928305341A7D802FB62A
+6F882CE91BDC9DDA06E4CA964C15A7453904C7F46C4F9AE5CE46077CF70CBC16
+DB70EAE7364CBC2BE2A8F20F9168E9ED6BC375EAFE57D4B2EAE0258F900B64A4
+AC7AE008F3BE9B0AF586D67E031F4EBAA507E398D15009D9BD475EE08B9B6B3C
+3C716FFE2C10D6B6438062211D63690F98DC5E697D94C4A427398D6B189F355C
+E76D5FD762FB4DD809D7167EA5CCCB4A962F5D728C81F4FB0363CCE38AEEC896
+9B47508130431B97C2F7ADE5E8D30E89DFF6F1F597BB527FF79D8C6E04A1E3B2
+34D7F1888369A219A6C37E0441267004968A469BAF6285C32932147F9A092F7B
+24DCFB461A6212F339B7E4C3742743DAF408C2619D81B2837E2894EA75B063A8
+D42AFDB5201B0315951568651B48E274A55F8B83CBAC42AB30F4D8CD63ADA0EA
+0FF418822BD1AB5647DA0B359EBF4707DCC1ACDB8F689784E31841A1806B824D
+175DE46F8685AE05BA51C465538DC097CE7DCE0E1DA7A7302E53F882D7A42C9C
+1904CE1EF11682FDA0561E012E764B87604D0A9D5A21CE98EFC3C1CEF1A6D20E
+2D6E1780EBFA02C46E35A54FEF495476D0BB05F71C238A303131867A65BF97F3
+A9039D8B87AC7AEE2401CBF576C2C14801B837B9D4731A35B44D0C2C1C51BAA8
+7C9001EB1F35DAEBD3623907C4B2688EEA1A57B78B6A969C83DE3E19B474AE78
+5F160966D9E2F97C1E5368D74AE45D7733BAB3148709102256322B9909C6DE93
+56AAC542D7CEF2A187D6AD3D10A9E46941E1B519E70F27D1F4B01CE09FBB229B
+142A0EC3DB9776FFEDD0E62DEDA5F49C6B3CB5FF7D53BCA15D25E8553244E7D4
+7EF935C937743EA8E4FE43F03DFE121529E15DAB3F3A391E91F4248DEB6BADB8
+34EE88E09554B708C3A01272D93A1AAFD7EF6C0BE93EAF7306D9ECF0E821390D
+F6780DA87777769959019950251532FFC28C31DB5030DAC662105812EA265DAF
+07CB1EE69949364FFEA0A2B587322DC484EDB8DA73B15AC421CD7F095C211AC2
+CF5E52BC708772C86E78A386FC8537CA7ED4CB200EE713CC875C71A3D66152FE
+63941705455D4D62A5693C95F3D657FD712CAF2D6F26190F9B4D38A7B69F9F98
+7EFE70BCC1353416025116BC14BD5C899484AAA1F8D5E7EDF83C5329DAD4EC0E
+40A50FD17BD4A2B45FE3F1EB572FB922F593F3B94DCDA66FD4E6325D60953672
+645CEB064147543EC1E99E579F2CC80518152860A91DBC45099545795A4EEB69
+3C7E11019FA069BE07E588CE02A31BF9A4DD79A6573669D0B29CA37B017DA0F5
+4487C47EB601063A0164F4ED229CE54F6FBB7FBD773D77CAA22EB1A748972FC2
+F1D01E91EECA8F43C4250225FE6824D04B5AC7AB5AF31BF1F849105CA6A317C4
+7E0D40C499A2021241BECF5846B4EE3CDE0970976512B86F841E60FF3F399400
+C65455EF897869D9248EDDEFF108DB330A60FD95F7CFE12CDBFBCA84DA78082C
+937600D422A79EB6228A35FC67A988FFE4C595335ECC658B522BE37407ADFB9E
+9D6265CADE77C0D382E68E5BD82EA7EBC0FA6AFEF301FEA3824638CC81C6419B
+C525F1C8EBE280E9961BA938CD131D6F06C98C4216F615A0A20A4390977FB46D
+16A447376D2E02D67D56C5681B3A2B9D82AC00DCF18DA4E944A2EFAABC523047
+107634DB0A3FC81AD03135711607936A11A1F49CC6625E8A65CD3E5BE0672179
+C6A09D97018BF1BB19C3CC168FF6DDFE59D76BBFA7430C39AB04172BB6E7A978
+54999DA0521ADD5360EF7D61B4ABD725AF7C23977CB443D4BDE4707576D2D99D
+A8B548B083958C6E864102B04121BA37DCEAEF1CEB96E8B26103725669EFC077
+92758777884F3B31BF01E7436530A16E3AB5B278DF1896AD3BD1EDCDA6093F63
+DE633CFABAB1F8EDCE3642BED79866E4BE77111B5D46A6012751A3C2D1CE3CF1
+B4EBCC3B4E0FE417503BB5B96792DBAD130C0884F0B2AA8438517BAF0D776AB6
+AB3C3AC95D5D2293CAA599628FDB7B2778F5653F1F42C1FC6AA05F4745DACCE3
+B5010F652B666349F101F2533B2D007B75C036D82BD0DDDFD2CF0E17E15EBEC2
+8A4F752CBA147888A0644744BC3FC63F77613E2959280AC554682A089504E74F
+EF0F7CAFB68269516AAF56A8D67862312C865BBBEC1DD370AA5860CE7BB3CF00
+1C87D2920D9B3DE665CA2ED3AA8E6F71B41D6242038B00F90367E1EFAD0C6542
+E1E2FFDA15DD74A070C4707A52DD1010BAFE639A105B3BE8FAA713360C40553A
+F18C88C21256847FDABE40A55B3DC9BD3D4571C5BB374D7A66D628B29F4C8A20
+72ACEF75755696676631C84BB83E131B944ADEA3E8174B6C7AB562662B2AFF5C
+39B40B83C22FE7268AC886D61F928FED67BA9D3FB580A297DF6A79F98B44C932
+A482491F7B087DAD03DE016181012B2F2D283D6DA1305DC9CC74A2D8908742FE
+58D138C5DEFB2563C387AC2DBBC9A3936E39A82960CA990E20ADA2FE66F61013
+F8419506BAD0EEC6B3EC2A5C758F6C3A8321C89DB6F088CE538A78C0A6BAF7CF
+CA85B5B33844F8497B7C797BCCE8AB240C3757C38020D0C2DE6DFB276DBA1575
+C3A689485AD882CEDF9547E03EAED7C64852BAFE5F27B092E0328CBE555F281D
+9FFBF69511D11B0C5CEAC3CF5008301DA12F3043BC743A6C3451F9AC07B2E4AC
+DBAEA8DE80DA2638FD5AD24191500EC34EAD8E7ED22EEDBCFD3F8A2462169BA1
+832FE9FA739A4B2DC29EAB11AC273BEC356370E8C21855BC7A29E2EA3F3E4C34
+1E19190C7746D2AA0C867F465A448D9E6B7CD1556BC303F9694DFA8C27FAD567
+68DAE905EFFF437935C09F4458EBB012E1F8A27769A5E6E7E9FB19B8E3BB51B7
+FC52A92DD505D9EB807D5E58F3D0F330B26A37F6661A641C1210BE89946630C4
+8DD6DD4664F506D282395CCC8985795A80C90A634BEEF91328662A66F01B2574
+2C63DF79B32A2D2DEE61207B6AD34693D88516A4CA3D6410781E4277B2DD6A7D
+F91D34BED5DEC0EF40CAA20EADA814E6849F253C573C1978B206D74E5487C481
+A62ED50BC745DAFA7FED99B1B504DA6F887E4D273A8AF123B34FFEE139B7EF9D
+3F487591B392C296B582AC191BA1AD825934D1744A34AE7CD1315952C496A7BD
+D51396ADB04C7200FA731FC0AD96D6F7C57ED30D3AE1138174A2C84A7E532BB6
+41B4A867F929E5438D27912E659E5F86F90D7147E79BDDBF30C97793530CC4FF
+54D7E97FFEE71DD342EB55642359D7276E308266CCC69DEB00D0D51B70EF3616
+C9D6F8DC3101691791344906CF05A89C03C182CB5C5CE7D32DB795D91411CFA8
+22A37C55A9945C6407087E88EFC67781643253F19E3997933462ED38E83ECA3C
+E64A3E9A652D38307E302AC61CDEC7E32D31591EB58E1745F2331363B0EF35A6
+4EAB8D009CD2F5D9AD20D296755CB877E88C7B4A657EC5B367EEBD075F6DBA8C
+EEE0669A2C4EA1B6460A7A81C7D6E64F686418E9E0861E05B756602C2391A86E
+C4F86B189FE52E15E288F88003387A6360EDF559236959303477D60C1D9717DE
+A765382BF2FD88EE4198B7F7E8EDFAC5BAC981CAE9B66C08B3C9C7DFF18B2993
+714AAFD1A26FB3225FDC024124105CADDF9F8B9049780BEFE190C5A62CF777C7
+C623D75A51750C7A8474A0775D1076F822104B7AA0F63210406931D8D220D607
+E90C5EC1E4F14B6916DB05225D510D31F2EC92552113AABADC29E47FBAD79155
+39D0C8215B6D949C7D1192F0F111286687BA15307F78B72F932541B1A3B3EAE1
+2683F549B99C2D3DFC5894C3DC9A7DFDAD253ABD0F970B595AD8F2F8EF1F9EB9
+7F3A6C5DDBC94E05C03DF9051282C6C2717070FD8B0B801D30B146BDCFB73F31
+A4DEEB2F83F19228F1BB91CD2233F17EB20D6758203FF50083FE88AD8F8DC580
+2B3C25A4A12B1D2BF50E0863D13214165C8A1B2C1F30A0CD94786F4F05C2BF79
+12A4219938CAE556E2895324DF76321316F00303D8A99C06269ACA4B020D75EE
+F12EC96AE7A1E6AA61E41E8290FC3B64150F5D3FD35B345882C08A3FEAEAE558
+5F1BD120C7F591C19EE2ED934B1F960B5BCBC9B2D8BF7477D37BB2AA948FF42D
+6E50BC5D2DD02956D34CDC099DCEA71230016A21850225D331F0B199FD747FE0
+D482EDF732E997C968AC2261827DBB620A856A3B5DDB4F4B324828281DE2636D
+E5796BAE0E33CAA5598E4DF2D044FB6D373B640EB6FBBF78D8DFD7BA5F690792
+D5DFD43D1E6F99E6BDF0BBB217D6AC239E6BCDB0CB03A3E0801FC822B3A79194
+E92227AC1C9730090EF8ECBD839A3CA20C5120CE2783D4C8314008E959ABCAA2
+E10D9D736D51AC80D5CB2AAE30F4692AC0E033219FC9293B21BC7496BEBA5E84
+2877AF1604F59666669A080C555F2E1F131BA17F7AE6F53F0B1FB5B4E145DC39
+941FB434461CD855391862C358E53A29C6F8086E7702BE1245AD83739536D68F
+3778164C3CFC670226C8F7FA8A0C1578D924B2FE54548C462C94B97B7CDA0529
+103EEBBD42F2A8E379E20123321AE14ADD391DE78E428A1CA0EDC2FFF6833E22
+64839511DD6554AAC6C28C16927A25ADA147ECBB3DBEBD7E319EB86C4B65E665
+B59E209C5A2DA3F6326A6CE616D9002B968A3FC2508FD738B05D9EFD7BA239A2
+F0933ED758DF4CA5D69FC074CB96F224C8439F44CC56769F56C0A7641E81AA48
+D79DA23F07E032218D8D2BDBDCBA55266A96FC0725233E3FB54EC8956504EC63
+982DB4168531C126E9763B3399E4F100B75CF5B82E46BA306849409B1AFDEE47
+D2E7F932B36507ADF224AF815FB98E7BE6B6045836FDA21EF4A565715F59246A
+384694C47FDA87A2F77EF04D364BFE41DC57CF091DEC37FD11418379E8245322
+30B4B9B6AEF0A68773AC5A7B3029CB7C60987B463B98897B02CFD790EF701C33
+3EAA26A7EB15E49B07D6DEB8882779554410382879F7E0CEF990547C8476AA8C
+7A300C966E7195B5A19F68CFFF7D0AB7E576513746E42484A1169781DE99379F
+7C522EB4BC3D7B71428D8E6B20224A559A4DB40C4023840836F78FFDAFEAA69E
+D984D5DCDC72C87A365DAB2AD414EC12E28FA7982F9E0A810FC40BE23BFAD820
+3EF4DA158525E1D5036CE782BA6CCEACD6A370DB95C613B0EEE244B497159983
+3CA3F6D777F1350347418469E42B8D6FD9ADE42FB67ADB75A5C51B0AA818FB61
+08B24262DAB4A4C6165879B4F9EFB94A8741ABB1F5530FD1B7564713ED413293
+D5AEFE41012E03E0B742ACF70049DE8E1C5C90C9661A8CE53B13BF904E9B4EE0
+B5270249A2DAA0C2A4EDDD68BBA38B83DE1515DA353CB2BC4509DA70E6B3B0C1
+21C3AF9AB1CC0DBB6EBE3760003BB8166B24BCC2A2F177888EB8B9D24D35BF93
+C924A81B4E08314C3108E3AB24A1D0FF6855510A5622DD113763E94B38438494
+92E53CED17FB43AE56B68FF67320B41F49A76233247982952C9002E0D56C979D
+3F69D91227723536868F5F7958580630EB4AD336E76517C67F7EA6A8B8306AF8
+55648AAA6CF06D66912EA791D3A655AE501C3B035056CDD606039CB98D266EA0
+5962F551624F3C846F2BE53B5543EDCF1E87AE8A02D145D15C815A04436A039E
+6EC2CB7F78E9C249BE6E18B9A7174D55BDD22D4FBFF18F4CBB8971D95B87A942
+214F70E71D69FEFBB61F36FBCDADACE5B1F8DC8DEB553E92FCA6012383F407CB
+3E2C0FE1D5ED65A36C667B01ED9060E4A8E0952D188DC14C6BB366E0D2508660
+D0550C391418B0D9F7509FB9106355984CEA4AC69270424966DA6D6DB3781E5B
+C0B8E55D5A79E8FAE3F2718043335699B46432C9D9E20B65117DF4F110FA2AF0
+B657478145E4DE7848A720012F85AB074184AF9DFCA61DBA50F3E264A972C9C0
+0771DB207642E5427C1CDC82369FB12FA3415ED67AACA997CE21BD4CE16E8248
+DCFA92869DD2000D74598E2E7FE31059816FC98E7544089B5173DC42E3AA257F
+38CA34F53DA87DB0E6CFEBE4AE376DABF7021F3E0F9C8D9922A219C45A4383F3
+C22BCA5A390D81DAC65BBB69DDEC39A03C801D49BFD6803BF9CDEA60EB45148D
+A7BBAFB6099E99FA795D52C7763D982DF0101C393E3EFF2D4DCC16D1C13A31E6
+FDEC9EB43033E23C8ED7A474F68FB0722C0EAC4522E86A5FA4F6131BB71F4D3F
+47263406BA019F2A0FE1FF440DDFD00BED55AE78EB754ADDDC3061118F0CEE9F
+8F4A8B7AAFC2DD9AEECC639A2DA845E383497646945D6DC2C0BAA12CB8496DCE
+088169062E60EDA94F8C4136943A966F9E494DB3D5BB96DA991F7D1066A4B042
+52B067DD4ECA918206091C457D6E9B0AF85B9E5C94009611E28A6F375DE02553
+B9EB612340475B9B3ACD1B7BC1F82DF39C97F807008D29498AEF6A4D3F4F77B5
+1E48DBB05BBE04A3E2525DCB29B62F070C3ECD1642558873932EC3ED03D0D8A4
+F5559692971EC736C84F9F919ECC510BD23C088A98CAB9C37676192E22D88012
+35367327D4D203EDE75BA7190DCCC39FDCE95700991D7D98244E6C12BCB686EA
+70A933800C3695CCB29FF8177A07257F9D245AFA9B3715ECD453825D3BDCE474
+5B8385AEB7C761DC1944511B7E6ED8B652B947D42AA7622991D3DB1952490500
+5DAA7261A6C87866B78237ECB54C9A5240F42BD6A1F768679733B851DE6A3A3D
+5EF0401C8CFE58CC90BDAB879B9AAA6F7A159C9CE6D4203B963B92B94A4A26B5
+A482F495D643413FFFF13EAC8B6ACACD1FD0AC7BB903FFCD944E6C1C1817D1F9
+DF1A40FD6DB5A0DE3BD499E7D8DAB4464FCC73374523272FB2042BFAB551C99A
+B3E07A2B9B07B3DF9BE669C09F20E98A7FA874BBE288806949B972427C756F0C
+9E41C0EBC6A8FE7BFCD0A9B214C02A3F11C8C0A581033160835617C03AE8AEF7
+EEA941E076308C87C1065700C2E96C90D259EA1B5EB5A8C5AC57F31004E52872
+BAC516B6B3CD9C6352D3ECC838DF6699B2F5D70953C0A49B60EAE2C9AF6F4B2F
+7855231DA516E9169E2D6E43D408D717A43A79CCC3E676AFFD7FA868E78EAA03
+CA5B9BBCD6EED4E19BD749D9387F3827D7E1268D63159769D86EA48D62B93986
+AAAB836DC53DC6235437A7D6F310F6855C59DFB6D88E406314DAFEE30DD454B8
+1DD403E919030C0EC2927F468179190D077D6E7AEEE23073E6B0FA5C6A089F78
+34E9C58292CC2CCF3A8D657830B6865E234FA6248C7681135B8B98EABCFF6779
+E904101F64AC04C1FC9E8C65597A147A8F027E5AF01E1CC077429813B63F4EE8
+97785A311258B8C70201004F33D912FFF35AD1F98A94E9AFC6DE1966145692C8
+82BC03780A1655AA83A221E2A58F60A9F5F676BD0020179F433455BD678F8125
+002BC3EC53D9400E609D1BB3B5904AB25E9F454E9E855A0D9DC540B460A1A7EF
+87280370DC188483347A91A67BB787C400F4CC5E640F2BC3E774BFE90FDB6845
+4AD47262C3B4D80EC3836137A74292B3F63D864845072C349069571D8F9A7137
+80C485BB0848C47F24D23DF2C564A46AD03CC8526C6A9F80810E2B1CE7360894
+C5545E434F3FFEDED91840B41744A2CF89669A957F7752430E502617FB09AFA7
+6AEEAADB16731E45D169D9D6F93023CB28CD77230A7B0855112ACB6ACC077C74
+3D20D339C61DDE7D61C26105AF9541C1C1CF793E86B36813978DC220100855FC
+9A1584579E6F7AD6E1CADD801491D633AB96C05ED572B14133EFC19217AEF3A8
+F52A5A67C3877BA8BDE5B477FCB5E8BB069089B436BC919B91AE39A6CFE3FD00
+8F714CF2633CFB5DF407AD50508C4E69B15C9A477F46A6A02A3A8FED333DFA46
+9B72BA7B33935770494BD4EC308D0F4C536CB34D5AD6CD293918D20A82178A50
+47065DF743DD3066ADCF39E53E0B5C78D7501D7EC80899E1D08C34A53025E257
+0D3A5C70B416258EB97DC38064793E963F65C1825BF16D3B495186091028F710
+D21747A40146A8B93B2832DBF37768244E0DE5056B12387F6D040FB232AD6311
+BB71D3C86A0ECAA7B058D076D8C853FD58F6F47F38AC8684CB3628F726EC163A
+C474A77D42ED727A450F383AC45F9924C7BE5AAAB47F8084BF7B558F68846E58
+72B7F1654DBC394FAA39F86E2191EBE660B5B7EC968FF5F824CD64FA481AF8E8
+B6DE4DB6A3ACD31584A73728D80178D4B9911E091372C323E6ACA127EEEB2FA2
+200B1AA0D6B2C20DAD692B2B52C5968ECA37C03FAE3F33DD31D66FC6EB145A03
+6C71C45E7E100C9618E234956A90D11820D35B816528874695CB0BC50BDB4B28
+FBBE2D9FF9DD877AEDB8D692BD9B39173C5AC2CF86A679E7D0AEB6B5783F56CD
+C850EEC9A1B6DE9654649D5A22D922B65C03E2568AD42E9248CFD7B46F9EEEE0
+5D48B95D51460A49226B70F6F05A8F9C371499732DD0E692F45E325DDCC1278E
+96A0994214869D90DE28319455148F1938FA0A3631C9AA66A09B79C676E9E2D1
+9D735188041154EF2460DA3AC7A8CE67853CB529495371E4B2CF3EB1551C95A4
+4F0C1FA4EF0F5F31AEBCB1CEC2FD65186D73ABB56D06233857B36CAF042E7EAE
+E7F166DF234A5BF497E1904F2EB3A55E783A87B668A24B3482E8DB64E75415E8
+B3A3AC2400D4D14B10D4771E06427D40755315AC7DE7711F2BE6B319532B47E1
+4FE038350E977ABACC53E3872DB28C0C210585882AA640C905CBE060DD70073A
+4C18C231B50CB10702543F014731AF52049A8A2D3C98CD7C79C71506E9981064
+E91C4FAC52CF80FC97CC61E1851AA59120547AD258C5EEE215AB30F290ABBBE0
+661E0662C18F5AC2921E544EBD113F62A46F95554F393BF4F5A49045C8169DD2
+251CD2A4138B61FC404D29125645B99B0BC9F59E6CBBC7617212496012CCD4E6
+74AC9E5D3509EAFEDC149A54A90B470445753321DD9E71F56B21E6B88261ADD7
+90FC0864B6737EAF63FF7D422CE274A3FEF7CC60140D442EFA56D5849796F915
+AD96A77A7FA0B5F91159EB3CBC52E58A3CB7F9400FD6766E2029AA361E1D1283
+AF8FAE4EFC099618DDB8F1D9D530FBF3CD8F138CD94B8E09D057C9B83FAE50D9
+8854BC235E2B2CB25C6B60CFECF0511A6548A3AA6F606C1AB3D22D086176315F
+361D81D56C8C117625A24F31B25E3F26730B0277568B778EF549F4FF7711FD12
+179323CD05753C5FE9A0C0073CE13CB9F60FE97954DD44E870DEDFD1FF236873
+8EC83E909ACAD6BDAF9A1D9C8B17B5621758106050389356E55501A41A28C4F8
+2BE8CF1CB12C116B41E6D86E66B20783BA2395DB4A99BA1C5A25E2024E2384C1
+19A3CE8027B21B1D2698490F6A35E9C851032A1F939405E268ED63447274E337
+72A9A44FA55EE5442AF12BE8E3C7697D7566186AC05AA0EAA2EF3636DD203C44
+271B62E2057D707B084488D857CFABF2CEE3C84F940A406A06FAEBF1B027E361
+1E1DF658BAAA4F573ED8991BDC24F04FFA5493441E80083AE1E20A9F47DB92CF
+C0686FA3664374857D33A458792F031E9887BC49C0B3A23B37872A8FD7C15A00
+B1645F94EDB37627E719D241B9BA6CDDA2B7554992FD0FE5907A1191BE64B35E
+DE8866A7F6C358E1BADBB106C2051EF0ACB7FE68AFF747108376CC168315715D
+F68B7439CACA72196BA226DE308FE01C0E863C4FE51171CF845A62AB71ECE9AE
+EB8A7E31460C9C34720CBA0060F634781E945BB112C2EA5A083048DDB397DE7C
+5056373EFDACE0A20E945478DEF0CA34D01A2EC0DD8C45DBBEB61815C76A6D76
+E1F15371051253E1E1EC9923F0AD8EEE713827B354920C87BFD7C686DBC4EA57
+D0B5639A4C5708A1C6CB8C9A4161297B397FCB8EB907B28AB7511EEAFA4B45ED
+75E800AF72DEDD932781B76F1098BD2CF940EFB341684267B9AB326DF32F7FB1
+AA64899DFB97A61E8E7E60D22C6EA56DF5CE9723BB4905F7B95AF66F8C95E36B
+7EA215A520442CFA1E65D292ECA9DFD2E448430ABDD276816EC3A440C0005DB1
+82544CB35B863B51D6A5D72F749E65E1A774BFE88B683EC67C390B30277CD79E
+A00E0EE6E7F8F5CD4ED4A44D67A9C6C80900D5685931BEE1A601FCDEA3814C2B
+6AB562E60A54A6040ECDE43E19E629D92B540A91447588ECBD449ABFF01FB5C2
+32AC5A93436EAF978229FCDD77B1645F43692EAE727AF2ACD4CBF6A6768E564E
+56FF9A6A29D03EFF3CFEFF0FE678A2D231E18A6EC515F51E2250F2CA423ABDA2
+8EAF94C054C21BA60161F905BAF248F97CD4DB56D03A9E096992404DC82F0837
+C8F978A209AAA4EA384EDC2C27DEF5F53CF0B689FDCB9FDC1901558E356AA7ED
+8A3B704A502FBF89C961C78A51D4DF7A6202593A79CC5F4C786FE328B59BB122
+76BAF46F0539F7DD029FFC86CB933DEFAA0EA5BAA0ADC7275D624E432FE5BAA1
+55D819D723FA83933F5196586E5FD8CD3BE1FFE2B9388291E7816AECB17AF508
+5A024D543D29E0CDEE34F9146120636AEC5AE205ED137882EE6890C347A9CA94
+6B640F8776BAE59027BC6F664E304125290DA3F85A96E85D899236A1C3DDA0E1
+CF275D78E95732C0C10E41E94B0A2E7562306DF482E2AD18810370D8C1204EBB
+6CBE5A1EFD3348127DDA60CDBDAE5A15C656F1CC10F5A588FBB1B2597FF5EB67
+F9C79F83FD2696230023F4BFC66913A98B10425265359908A1CFD2A5D8A1BF89
+34AC0C0AD30442484BA1968FC36C6DB4C8FE4DD6C514451881073F8CEFED97B0
+8990F6116F0AA360FEA5FB6357E598D90997DB4946EFD1C07931B0DC109B2259
+04D2E4669E1317504D6B3575357DC15EC62F36C5C975E464D55C0BBD611636E2
+9AB92555B2F7A9183E2DD6DCECAAF20EBE605BE48258D657567CD9B8FD95F31A
+DF490846ABB256AE12D612C5D816E125064CCA647DEAF4628262F52E16EEE572
+301969231082B8294545571C1AEB5BC710C5512EDC330129DFF0B2A2EF6458DF
+1A30BAF5F13DA91866E4BE2213A9C7A93AB18065F88043FB582FB7DC2BB1B939
+1266074AD6BBCF360E2A7E5DE26E00F04CB8FAE140C6C858D27DF82721A88D1F
+25D0799A68500B88AFC2DDE19247FBA4646C10AADD961E66BADF10420F989110
+D332B4498D045DEBC28FE2C550C9AD2E18D4D524F9ED52B13E2D38021572DE06
+A964A88FBDDF996EAF6079F2D4C1A30C19CCF659B14B980BA679831DD739B672
+91509C996FCED79866C5DE7B62146B9ABAF17A9C75311D2F49223D52E916DCB1
+B1FCE758D361B660A9ACA7B50DB83EC207D0CE4B401C1AA56D5283D605C4B3AC
+0B591B1DE2A55D744E18EDECD3C3A4D162B9E79416DE7B86DA58232AAC0C2E0E
+BA30130EB14A9BC8F4DFFF1DA44649F5B45F8E8108953DE375F0815D1857536C
+6781B3576FF92893D79187B72162E14253D16A2FFDAFCED9E0EBD7E2C9EA4A74
+A5B11812D68A80CD4C268A78A361C6549017A54A1E96A983A4EA3A6B64127FD0
+53E0E4FE67C88AA63605C618CBCAB93224933D6D31D731BDAF32B98828B311D9
+912CA96A86F481B149DB7033346BAD1490C62C5338FD7DD1DD11E56D05E4BEED
+00DB89E652B1C9E834429C5FA3CD37B11232F9C03629601FFC00C580BA83D32E
+C3A043D44ADED0B0118BFDD6D6F6B53340EAA1BA4264A1EF13EF24D321FBA706
+5FAD69F42EF1064A8F603B55A5B2FB902709D2B3977C9CE34FD3AF666D4696D4
+62E0A9E8CA4DF23437A14A5A711EAC9D518E81F5308A8B5689474540258F539D
+F89C0F4A2787260B594FE897DEE4CF9B826CF5E463C1DD1832D3B7F0C50B3436
+B2517D1935A9E144E3EEA10D3D05222D22AF8545E2C0EB2586C4EC885C0818AC
+0662B6FA42043752FE9A324F0B190D1143BD457BF54B5A61F49F2C73011B521C
+BCBE3524580B5903E3802867028555E5637892B5306CA9D8B96B430DBD1BD3A2
+C7B5E331921BA44BEB707ED016E864F25D61669CEF014AF36DD79BA0ACA789EA
+E764DD6CE63A5B402D0FA2241B6EF7F0A3A8EFF6665D1D2F4BE6CAA5F33B71CB
+D2A9BBC48329015D2EE24EA7C5E0DD4D70DA2273C08904889CE4E8EB51F6FA0F
+1D009BC2211D80DD57DC28177A510DEA9DD79CAD8B3F9359FA23F263436C6B40
+5B076A2D475C0616C97286C0C43C4A63D07206EAE137B60B14A522004B340099
+3589D1C70BD90B3193CC7305F0DCB7A4F96A93C4DA9DAC90834E7372872EED6D
+71744EB613252F4D3C576F7E2A7FCC7A4D331761EF96D43366F09CA9090C786B
+4EED93C9837340B35C2CA3F8E168918CF7AD206CEAE31C498904F57F26B4AB4E
+C4BEEDCBC3E58EF3F93D851AF8AB085679B28EA322A11F063607004420C84C16
+75AE90BD08A0611C400CB99C46F1614FC7F7DF6F5B9D5335B2C4354889B23F31
+2BF2A3BAC45AE90A3327AADA42F0280F3430F4E45070E4CBC82504CF907E2CD1
+3BC1EA8118F59F1B06D7CE0184AE924BC55908A9102E5E454AF9F1875ED38E84
+F1C3B9BC7FDE2038E79BEBA91E6DB5F3729C24834A890F6F538F6B67947CE9E7
+B5AB6E636E5D581D4FA00FAB64D6A6CF83AA9048D8CE710D25A18EDCDE858051
+7242753C69A549B34F64C2C5753E8C9B7BFEBDD5BFEB8493AC4F818A01B230AF
+E6290ED42E87896DDDDD19F6D63E0308EF313C8609FEAFE55E559601D7CED9DB
+4BC46459B917E9F11EB9937C69923D4CE668210EBE31A0BF32B5EF2DC65B172F
+8E74C34D16AA26C66E28227CFD9214A66F7CA03ED14B2BBEFA79B3D3CA40E4D4
+13361BB07C70640A5A3E16BA02715B251A6B99D8B4527A172C60566A4D1568F5
+23664D82E32F0F1D60D35E184828ADD21AF35D6D00F66D5C8DC628FF1AC71FD0
+66E15928CFA0FB1FD7046808B74363B58833081D49E509781EC721FDF34C0EFE
+742EB769C1345F7F99FC87D23815DC58CACF3DEB824F90761D0A8834229574D8
+D6B92FE7C5FE98945A5AF2E4B077E92FD60F52D46EAC5451131DCDF240996694
+91F9BFD293077BD4FE7FF5FAF8204FE993A1B61CD39D179C3CC33BD79BFEA1EA
+26462E24B1C19D48C18A131B6F5984402B9E738F07F18B7B1EF98680A5A30115
+0A11E6EEEF438F42BA5DAA80B7291F6EB6B4F67C898CA12009C4928F80CF464A
+B0B7AB25E7B572D2C3C67E347BF258D48E4B76760462F026D227D8540BCC283D
+FAA4057C66D9975F358AB3D56F4E2C595156A652E3032C196761BB8FE47668E5
+20105DB429BA6B6222216D903196AD5EA99696EC04D43315A4833D8250E234CE
+4839485193D124651AA9B3299507A2C83080FB918F06EEF4F3AAF23F7A40B049
+BC27706E6901FA35190DDA51F7A23239A090E1804D93F3E50861A92E09CF872F
+A7780678DAA6DACE6EB06BD418496259FA92BB49EE507266D845CE9D6FA9ADE0
+E0BB91013ADDE9BC708F89E706A90432F612ECF79533F5C68AEAE1825A15ABC9
+9FEFB9D36B809AA2FFE7338FD2223D98DAA6C6A05A834F74DDF11582F20B14AC
+B45B9191B0D7144CB29569249D89BAFE4C4D1D7714744335D53999C509BB6194
+F60012F25CBBCEE7B3EA323D5A33C0CD9AEB604E61724C367021CF562DB1D0A6
+9A5DAAD0F14BD1AB9AD676277158459DCDF9BCEEB02130D72B746A03D87284F3
+94DF680883A60798C44626B06FD5E4E8408FECA865CDECFFE6119CD404B34B2C
+8647E3836771DDB355B190C6A18149E54D9A3EF26A4BA5F1D525844512569FE7
+BEBB833DCCD7EEB0709BD422002C3585E0A69FCCB25C5B1061D5D9A806385CDD
+6323528C7EAF5FAADA87154A15E4E6074ED6465D087B807FA68778A01FDC9710
+FBCDD130BFE35D957015270BF5F2E0019F09E3A6D5C871000944BDF4679DA389
+4ABE6E3709D658FBE15BFBB9A1CCF712CBE50D3911D6EAE71A3DE8790E344F4B
+45AF2CC5A0A7CC4679B0927A80CFCC96220E6C2B4EDD6D02B0E59E4BD6F68901
+B13CD929EDA6ED172D2CB3B553884278B91953786507D591BA5E7D36F44E6AF0
+7A38CA0337743FA5C24D25833C58060C8B1DAC24614B5C4725D115115CCD801E
+EE1A9E5802ACCBFCEEB670915D03552B4BD3A590226DC4F121091CB7B91E1055
+EC10E892F8DDA7C94D4B598D10695D89EDA380D4C2F64193DBBC84AA21FC9F91
+1B00906983E8230FD5221990B48CF53EE8E47552A0125B807EFDFDC0028CB247
+86A4064096BB30FEB5B53144E5A52C7F9AE9AEECE453C4CF1901438743FCE980
+AE94F6507D0020EB8B927DD101F95923183AD289FB5B293B8E030620F60A488F
+0069161C7AF5CC8F828F8687B1F21CB2124B3DB0FE409DE9453A49CDEEE5DC32
+A617BD85D2546415FF2750A9E12318B2429D8E31EC852E551A934556686964E7
+7A5E96104E12237546FD32F31024351BB2DDC96F978A7B37745B20331B89219A
+EEDF9E90C7D440933BDA155BB92675E57CEAE1DEBC5AC93A0D2E89EB61D0FCD9
+5B0F5E1256320BCE180D64C5C0463A1D7632A4687AB7BF7D04C9B20262C11A71
+54E222FC34B1927B91C7877BEDB7FA306723168F1B67FE3378933ED4C92538E9
+74C990C62FEB5BC1B15E70778E714B946B56DEE991F5F918C8C663EEA57EFD8B
+9986B348A666577FA1D223ADC996D69CC5D3D6A0AF9E41D3CA45C985F9B71C41
+5EE86A408308750995A6CDCDE51060BBBC869F857DEF6CBAD59753F568C33D29
+C47BC1741B0ED4D92822BCF364B34E2F5F61B5F692DBCED0ECCF00218F5F0B82
+2107C80A8A4B8D40ADA170AA7D53B503BB3AC456540A3FD60EB2734398FBB65B
+D92ADC99065CB71805A5A784A4E6A676A916802B3535590B1134F39906352695
+79FB17ED6E6CC5C8EAC4C47707827B2D6CB7865B959713ADFC705C4E5756447F
+1F5CDDF288ACB13708D5EB365EDBD5EBA58C23731D024A07BBDBA0A80AEB632B
+C12CDB4CF1F739D2CE6CF88896B55A4A6488C95F07C28B259C6E7EA8749B5D2E
+94B3759D2B57BB077C82829329698511AE1327A0B87DBF422EC7A96A5A7E66BF
+17C39186C3113DA22C81B7C176199012AF49D5BC22CD0C9C3502250386F3BA62
+F6563E1ADD4495D0837D08DA26B99983B3729D6EC9D004BBEAC3118CB7C277CC
+AD77377464ADFB9B365763DC7829DAFCB5A3823B791AEDCB04001224989054A1
+7A0C29D9D0CDE164F5C4A6F549BE521298DEE87803D4D276206E5D8B3A835B05
+8FA4D0D1B35F941281C5C7756D5B56ED9AD203D29D5DE59B9E398DE2D3620E9D
+E0D346DFF5F36225BC341FBC220680F46F6C2AD2300B660F81E4287964A04BE9
+4AEE616C785EDE82F26260CD49B8352D96B0B4360CA48863E7A7D6A192E97497
+FE7EF71ADB0DC27D20FF89A5E16E52AADDE2FE10E18C9F8703A4011BF02B4F1F
+D0983BC55C73EEE03C1C1C82025001106828EF551D7473D6BA0A5100B9A5437F
+0D6FA2E764F524E76306903E884EC1969167F8A6297CFE1083D8B81397C57D5B
+7DA2D398353BE1C96A190FCBC5042A954DC7B052EB6C57029681C49768525E86
+E000EAEC6AD9B575145C7B285FC225FE441B13A68C913913CB7870F4BAD5BF60
+A2E0C829BE4D8CD4A273F82288AE34123933B41578BC5389A8F8DFF018A78F43
+1057C1C85374E1BA3A0A054CAD10FD98C1C68BEBD4129E73A5121A8CD78A35C1
+E226DDED4F3351B20A31D7383348C2DBB94FC5AD9EA9F69294E643F0A0F3AB32
+A7422D4E5EB900D8A49C6506403BF2B48A289E49EFA860CB793C6AB9AC3308D1
+6991569073AFE581F28FCFF65386D1926D95895958D92A082D2470A6090BC0E3
+F735F5F62AF193BCEA0EE2C67D905313B2CF667665F289371DFA3F717A5771D9
+89FCF4640613B40E29008EB6B5997B039348FC983FA832E0D005591E59B2AF3C
+89CE7A23108BE5B419462A687920965FAE23D8AA3E84533A30D22C4BDB7E4A74
+CAEEC2840C7AE8E23F6A57B4537A6D284F05C6B2C11A3FC0C69287FBB0D49C92
+513EFE51C6030A0FAE18C0334C317EBC5E30A83FF89B8E0DC41F5000E361F287
+833F1F1494C34709E6E8AC03584E9D7282FA375CC6F4ADE1FF8818CDC62B9C15
+99F44E5A5FD6B234F3CD0881436E13D236A9B6513C08DB17254AF4E445F5FC9E
+B4FD77B8D7ABAA291D096537E8CA51A4EE122A8F184626E051434937FEEA686D
+F9ECFF9D9A3F9D2747BF166532E50099A3A8A235E795A2BDFC6B8610935CD958
+9A728C3B02B8FC52DAB63B1271715AE296B658AC5580BDB8738ACE54E50DC2DF
+4F256B2632081EED3D40F34C98EF39C50958316EEBE9B99B38108975D0ADDC9A
+60C8BD4CC67BAE9EF282F8235ABC6F67456CB0397705BEBA858E0244B05DE8B3
+D580ED2A2F1556EDC31BC65C81CB19AE4101827C86881D814ACB1E6520719106
+9064056D6BA01F3A1D1F8052A558111D0B8DE3B50ABE1BB02946E53935183DE5
+6FD2FFD763599B656AF986594420274C62403AD0934622F9AA95F9D7AA59DD72
+4D7A6DD6D5FC13D6FFE6F679324D37697F1C7691585DAFD9C06203E07F89323C
+8753E809D5547F20343E11AAD51C994CA4CBA4C75511C181B30D4B89C81CFEAA
+94850C5F4584741FCCD2F0FCB91717E23441C4B52F32FBEB8796F1C528B3D5A8
+E78236CE31707365B5AEC48BC5AC60FADF972B1DC32C1BCD725646EA5D9C6A07
+FF7951BE56826071BDC28AD57576FD802650C0E2EFF01DB1A5FCBD95A521EA0B
+BD738F9330209E84CBC4FC42FEEB3CE2F1B486851490EEA6F1285E3566B317E3
+9FA0063FBCF65B16786F804A8BB438495813BFA484497B4A0370A09093D37F97
+238CB06C9F26822441025ECB833D676A125CDCAAA72228B3E5E0EA2215FA8E83
+E634262478020580F5B0C52727C0B5D7BB227B1E554DAE9E4469914F9ED0BB00
+B66FBE55BB65A6930CAAB98CDAEF801DC046C258FEB855F50F2E431DED89D823
+1A0888F5A6E6882A59B59F7FD1BBDFD0F7109FB00C48036B48322E44C5254665
+61BD4A8D5F82E5DD17C0418A60AA6851D48F259963EE8ACE90A325965925D0C8
+38892F0A9B0F155E392C6BCD1875B97879279AF080A66B4208906FE480713F6C
+312638829D12530458DC5DC7DEBFB6A49D1B61E93C3693767222A3B716E15F23
+7E2AD7B452AD4F92A51DEB75C8ABDBC92CC4D699311E3B821F3D6F510A7C6BFB
+195E77887394501D38FF8F7539D5117D3FF4C69D5F18E970B103DE8403025C1E
+73A71A971B19C08FA987ADBC26FC306A98639EC0C88AED00615EE41D81213BB9
+028EC5CFBF8EF9376CEAF9B7EB3C54112E1052698ED6BE5783CB655E5106BF0D
+726EB154215B2C4923078CCA1BAFF2B57192E8C669D3D72B8526151CD171226A
+6136C5DAF1AED86E6AF7EB0F59816B97E4E217F2084E1581CB8032774F6AB2FD
+42BBAE485C78F16BF461FBAA007E015E199F265601039A28C4845C81B2F59B1F
+317B89D24392493BA59DB42526EC901709DFF9281AA27D3F7A60FE591BB2C845
+F12B654EC28842D046BE828BE5E90F1491CF3B857DAE826F8CDA35BE15480F5E
+609B4137F921F3FAD7F6A90B5049E615803390DD4A4D03C97B1F83D17E4027BF
+AABA7FFC3AB5EAE1C119C7DFD6D8AA5FDEF4804993C34B39DBCE9DEA2133BC50
+6790BA3B0536323393DC9B151586987BAF7097A46607335CD011E82493ECC5F3
+EDD955D78874559B1F4512E54B8EBA809C20DC7BC689A6D8131BDA04657292FE
+E1715E71594865ECE26BBD99C6FB4BA81AF772654212536F8AC78949CAD2B459
+B19ED9D2D83930CBFF4E2DCBA347ACF63E72A7804A51AE6003F94F03E368A3D2
+A7B43C153EF61F4CFC1EF078CFE1781AE44D13CEFE9965035EFDCCF6123C19DC
+3254B5AE37032004174D5BEECA236D1CE0D06E0C397B7E3DE9F84A41B7BBFF60
+58C65D8500A0B7DC680E1666624ED76BBB6D8C9BD9CFC014758D1F11E436BA51
+522E5A15723C97CB5EF512398D1F8723D15A07DE64778136C307420CD5DE3CE9
+29F4BE2825D799100D1CF79C60DAD14ECAF288EE11534FD9E60498CCE2A29AF6
+047429385E4707037340C29533731B61E25B85755E382063E214320D91F81330
+E92DB1CADE4CC86B9D329A6D01731E9E80D4197D345E640B0CFD7E1397E2172C
+2FF68084D64946549ACFD84C277739BB3220B6E1F30612C8F46FC74EB31F0DCF
+DF353E4A040D6FD165048C0ED1BBDADCEBA38C407C750E6A9A8F8CB7E7A282F7
+9C28160F3CB0BD5366A729D81B995943A14A9A51C12D79869FA202B9B6456C28
+A2EC2999CAC16774470BE2B32EC611965E5F8D905AC0411FF3B225E4834CDB47
+5FB7B1E74E5E6C3E02826AA2402E49754C31C5DAF1AED873E9F4170777B8E376
+ADB6A2D0277F26DD7047E0FB2A51316428893D1CC5C9613A1C93BA2BA3982B21
+74AC0F8F4F8F1ED8700D6132C1E67163A2321021CAA913617B0CB7D8DEEBBD25
+B6E9893C2913687B7AE23FA0A9D59322CD6F78D205DB09BBCB6A30E61494FE49
+D231BD9F9D6EE2A2A4FB8FF6967EFBD319D3CFCDD53C9DB3AD99B3B530827752
+34E4948BAD42BCCBBDFFF0326A6BC4D3473BEF8FA7F643C74F856E394F7F7810
+D6DCC2D186FD950950554B9BCF328EC997F321C834352191D210087C12C981FD
+45
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMBX10
+%!PS-AdobeFont-1.1: CMBX10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:06
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 45 /hyphen put
+dup 46 /period put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 120 /x put
+dup 121 /y put
+readonly def
+/FontBBox{-301 -250 1164 946}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
+7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
+77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
+2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
+FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
+DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
+7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
+9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
+CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
+6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
+E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
+8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
+3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
+EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
+0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
+4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
+1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
+757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
+0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
+6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
+E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B
+61A563A2673932C2045833FAA35DB22ADE12102335D5DC734AE3AC5EEE6658D7
+92EB62131E1DFBA441F53EFF9021D9D4C491F26BE8F54C61165CAD778CE8695C
+EEAF70E3B20C64D4C2B34A084B5770BAB2A974E898F62BFE90F132A37E2DCA4F
+43E13DB13C94DFA8ECE2B7374827AE168634FA007F8981ADA046CED3448BF453
+FCD9A4F194FA648F9FC0971734BB69CB73439CB0DD021D44A7C11BF295E81733
+4DFBA460FF3D654F9FB337E99E6D66FBA87A817EB9CA1536C84833870E3626DA
+55D48DE850D3E6F6B29DA0E7C9D681283586F208DB8D58042E3A7CE55BE84822
+C98237911453E479EAB65AFEBA3F61A763B40E74535BE56C9D8D06DDF9441741
+5C9D9D917439368736619717FAB4F06E2C329AE0BA411F3FD522D9C33AD8369B
+D7DCC9DF993778482F35F965973DE876FA19E109AA198A00658AB3F0D8E3DDD1
+08A573F2D525202AFC57E05D141E6C0BB811E1FE280EEA002B7A45BB363AD06C
+318D320D2C81AA5DCC842CEF66E7DF7670588CB39C9F42EE7763A3A17372432A
+173BDEF7ECCEA297CCDD76A835C36DCE9DB8F8CB66CC71B4920CF5BF055A5260
+5B41A5373BA6E4F63C85671D979EA5EC30D22163E6D206168A3827F465279870
+CA80E6632872F721BBCC622EE4214BF723551C846765495FA9921E11FE1A950A
+53150C3F5D8595958A47E0B16064CC3AFD65DA294FFD111153F4F233BC5468AE
+69585C16CFBFCA32C4B96C161F47B56661DF84FCD8ADD3EC0E12B5AF108B0A14
+AC3F8338E1910099477D1F7AABE1226065176FAC05C0C1DB0211AAE7FCAABCA0
+258EAF4CF3D865D3E6DCBA5BBF1E7E6757DA1FB964E824C6F7D06CF280690A93
+80EE0E7B3C86169FB6FEBF4B3D65501EBBAAF733DF941BF1D418FC7150B35201
+4502AB972EF1E5CC067CFB4B7E40A51E2EA2EF6FC8220F4A3B1BF89585DAB88E
+81AE9FDC0124E0CF740BE6B7714D7CAFB51B531858A991B9777A3D2F7EB3194F
+7FD8D50F0106074F69AE7C3069F61E91D8505A1121B8FB08708B0E83A1F03165
+C949FF1D3EB5908E4FCAF8B6DAD7F9BABA3201D6F243E494EFDEEFDB354F03B2
+BAF94557A7CF60605024A1CC4D9150743D2F5C7E65032A2BBF5731AC4034A3B9
+A916F2B640733BB66AB78226DEC49CDC4B42131A73834947DFC6789468C8A750
+BD510488C8D611168403F6591ADE2256D5C89E7CFD2F47D008EEC22B3ECB8089
+374768B8F97D334D168AEFBBC8914D0B4827F13B3FACBCF33F07427D7715F344
+646EF39AB455A1DD85593DAA76BAFD2FF7CFB5C357A6221F458A151C3409C9E1
+4ED5A1031F84BD428DC3C91D5F05761322D36B42609C374EDCA9EC9542F070C5
+4C4B7EED32171EDEE9FFCDA33189DB732B835F4386406B96E86705E3E88BEB8F
+48A777D89A206F2E93B97DF96D28121555723CAB91516986665A7B94C2F3CBB8
+FBFB783B7A1BBA46BA450936338D70E17E7636178E4504157DF0D91F0CBC66D7
+6144CEE28A7C8F48639FC3A0B47A49FCA43D61A73E17A520423D8D91C570833B
+CE91CCC9674EF3DB1E1928C5E56FF09DB47C9634D586533528051AD4903EE131
+62EFE619360D038C51A830C851AE7FF1BC1655587C64E89BB59C4ADF06856D59
+505BAEAD7141BF4D244EA9B73BD3C0A201CAA0F94A033F6AF89F17A00CB10996
+92744553005B6F79C00F13DA2392757E0E5A724759B69CBFDE1E5F27E3493480
+8045880EFB36842440B32DC9C015D6D700CA3DB460FB923945D087B73421E24F
+01B14020A25696B95716724226366E05B8CA415F312D655AAFAED12876A3A288
+83858CB41F4A58FFCFDA14892C0EAAFB7AE15109D7D811FFC59B811E3ED80607
+4EECFA723007BF259095902504C3492C329B6DDE51EE82AEC7AA148A8E5E1B55
+596CFF167BFB3246760273F1D77436BAF2368B23D507C3E3EFDD6ECD6ACED723
+CA21226CA02EA0034B1042F167CFF3DDD00F84B5AD0BE0FC883C7A90DAC5F0A6
+7915CB107A6961D3297891B3B681732D1BC15F22199D1166C605F90F4CA02E15
+2BA2F1B3A885FF83685C530C8E3A501678DF4B9C33CBD0B0178486927CD754CD
+DCA40BAA159E87A27C4D8315B2C867971BE18D60D2748B3EDD47E30A094CED67
+3B1BE4901F27F52BFE60F1659054733C32FC39B55069AAB2DB7A202E9F5397C1
+374F9DC3D9B58B30F6D926E5BAC0BD7B6AE035196D5CE64D78233F680FE3999F
+345F629B90B16F136B833EA874A9D7571FC1342C39270A8F6A7ABC2D1A85EE9C
+F4507471C95360CE446DDFE3E78F38645EC731F3FE4442B839D07909C00FA8F2
+2961A4383CD6F28066F2E9EDEA93017F83D159748C8FB3CB3D3C60ABBFCC5716
+F700401739811AA0AEA6E99F3B3053C7136FCA968F5826B738D047AF73B015CD
+EE5F67C91B789BB4FB41BE071E48CE7DCB8C2298F9E451EAAA724FFFE506B97F
+160878DBF1CDA2598B436C6E213A3D0D1181A9A88EDD98DBE2CAD24F78911928
+F818E793BA02266109E77117C298B578898062F8DA04E81FB46410914FA90C67
+4B8EF36B6719C92095ED4AC0C4FF9BA322E0F3292A2754C6D20DDFD3D988E1F8
+F8905C78DD88818B50BCF685F76D20BC123AE46E9A1CC63252F627CFC097FF5C
+C9FECCBE231148F2DE34C57067A43C8BC77D06583806D314BC299F1548335AAB
+019CBFBB9C90AA72EFDA852E5FF88FA756D3B110CB58C4D2B38D020150D0C9ED
+2D12BD1208FA06725FC222C74776F8DD01493FB7CD56DB5785A3BCB05FB51C6C
+DD3DF621E61A19EBABB38AA83B0EBDA7199EA34CFF3094555DED0E135A64B83A
+1697123EAD6C6F248F020FEE39D530085D6F66CA0942A1223010CB3C7A3171A1
+6FF89828FECC5E35E005C92F509EC5707B6F137403561A0A8240F551C6104B13
+5D03D96EB0E76683D3382FB5F3EC85EEEAB8977FF4FC6C3D2506525629C16B11
+CCD6810D66F1D5FC26FDED8E0C034045B9CF05DB483EAB596888BC7413AB2AD9
+5EBFB40B064C97B8CA5C00FF3600D1105C062697E9118369F633CD5477A0AA68
+C8DE35D02C7A2853891FBB7416881225C9AB5435E91105296E2443F95F65CD16
+DD258799BF23AC3646E85253B45C492C8785E3B757AC8245BAFFF35D33014A07
+F61D449386012F788FF40F9B7CCB9E248BA4169F6CA052F11A32BE21F12B0D67
+6E5C628F3275A5F5281B32B2230FB6A9F44286FAF489CD21A7AA14D4ED9699FB
+287BA25822A0F9E20B7E74B53FF6935F57808EBCCF7EF97EADD8C8BF96B62A3A
+F024BE50F94A6571318700A1F6E364C7EAA28CF574DC8AFC4DC96157245A10FF
+506D7BDC8B2F635F2C0E15E502DCC1D33C0D4918E95DDD05B7BA610D9BAE4029
+8E79C541DF2C5F793D86746A24B3783A9A82D99C5195A47D49C7DFF772E0EEC4
+6B6D4EEBB60E4482D74215B106BF76162C24449A4521B1BDFB233CD7CFE3B9DA
+BC50CF0D58E8CB387E2135DFEEFD0A5A2C1C6255BC14675957A24F965E0600EF
+98AAF15BDD37BB44BE237ABE5F33A17D808CBC285B6BA576A2DAC71F6FEC255F
+A69C0A4909447E5D1A494A6DA527E60306E9969FFBC2A8EE1E336E6497B19284
+66018BC2A53B4E6481AF12E4E137917066BD4FE45EC5AEDB37AC01ABE242B282
+EA1591D3C76804173D9C46C142080F060F93A2363D72FEDC2E6265AF9D74F5CB
+2CBDBB508BF83EBA6F629EF319E600BF6D58A95AC60904861C52BA41F45CCA98
+BFEE8FC7DBEAA899F47F49934908BF6D29F2686AB3B93031D7593727E5534867
+2D7E022EDC8ECB83593A64A6F8EE6646F8A9BAD12B35872E8B9D3B0B043700AA
+CA077D8D1985509C8328BBA940FDAEDDC2BBEF47DA62C1BFCDCBE51785C04A1F
+CABEBB87F069083C915FF65A13A83D2DEF0F093F47B4FDA6EC0DB9EE4416F148
+7BA87417355406230598B0B8FD191E22FC3B0339A7E92729521581F120EAE210
+DE13B6943E0E19D32462C7B31A579869EB25B0D887AE1A8DF3FCDC52F836FCCB
+71A82940867F3DE634240C91FB4B33331C0AAD79C5BEA947950D12DDA1466734
+0AFFBFFF2870D5A27236379DA028909500943006336813B641D300E24AC4A86C
+DB8035570E17AE4AEDCECF79E4A27A02C0706B611AF82176BB9F95EFEFB8A22F
+646FB009B89CC7748806EE1C5D107ECFB0C33076E9F49B21258FB309218D2AE9
+00E501CDE1B8B0FA61817108F4B391DEF6CF62DD838B6CC87E1363DDCC381C69
+E9C2025F6B766E0D89CE270F752FC0473A58F9699CD8BD0F980EB8BE243A2232
+90E58EDF14E1B64325663E9F7F17C7CC416C0E480471967E47743E286D3D609D
+9511017989199CF1FB2C29ACAA94598CDCC2828A3A46CD3FEEA29CA5741B2C5D
+0365E46106264DC3C9F397BFF8A57F74ACD94E26E3949B8A1306D379323AD8FB
+6BD9E97F98529269E937E201CE4974A42EBB6755B9D107306A6DB1A28466B526
+825DA3C0BBB6B7292821DC3D39CDDE071514C1086F525596A94097F42E976C54
+428C4EA75676DA38F1599060B6D544C428773D74F736BBFDF4D29DAD7A794137
+186BD660EA06FBE1A1574EB7E07ECBC1E184D93AD0F5CC36F8B2AA8084731CF7
+BA3CB7AAD5B1ACA1E291B873F50EF849A00478BC6AF966C3EE1ABA7A26FE0BE4
+D95578C65710545FA241AA4193F51B93F17DAD7BB09F2EB0C5F8F50F6243C3F8
+A61F57DCBB5EC2C080A1A2A48E7DBAF87F940B2E38958EA7BDD92BF448485AFE
+6505011BD2EE4DA2BB2A500C259D1A6EADB427FC4676DBA795FB83FE24394DB2
+143A1FC9A5901AE3EEED5E0946DC6689F5908BAAF2CD27EF6214D0B87BF3D5F4
+0FD8C19996DFDC53959CBB1C2A101652DBA289DEC349C1AB3A5AE37BDD2FE221
+384944C0901B7587CFFA14C35A95B65DF8ED4CB8843AD5587F890FC559047058
+B6B19ED9E9CAAC6C0D13EE0EAAF2E3DB4F7FE8A328D6D521405838423D2A04DA
+565497FAC8E5D8515037F992A8CB88E2A9204531151202B36B057C8B493FD5E8
+7C91705F137161632E09D38A5738C158B50387CB9B863002AB26F074607E939C
+FE900040F5D319876F16B7E13168D0D446FA48D4674E3CA52A3F1DF906925F11
+8C3FE0D9F6630025917D3BD16C03FA9160F0A87DC7488AAA9DB65B36C699DA6A
+E79180B6A0768170C1D64D3C8AC6D2DB37D33DAB7DA754EFCA2CBF21421CFDEF
+EC7DE9037036051EF6D4C3F90E9260FC31B0057F51FE9254CA6072957F4DB8B6
+2B9E483252BD189E7150D53E83B7A78809231305E64BF19CAA8EA10B50044F48
+2A4DFA8CBD680027F2D11294E8525E163A8B7AC2DDAD32A136B1486C766D7701
+8279B5F31708A55B1F14FAA558C67BE6413E709DB4EEF2C61F807AC4B1E21B7B
+032FFE684E7A72F69A69FCAAFDB36AA58B6006E7A56157AE6B789045F0F73CD4
+0F763D505718A7CC889C8AF7AE06D059D69360463501F4E5B91BB7DBBA06A3E4
+02A92522CAD9BFB1C5CA7F7FC6B3CCE2C410927D8051F12874195B1B326A99E9
+78C6D175662B31467733558D240E1743D5BA18189859873CE1B6322C41280FEE
+24429165337B54F89F1229D55D3066AE4BBBB2CAFF3ECEF35BE0E5A5BBC04933
+FC8C84AFF8D872E6C0E9B2FE796236B7FB900AA2C2B2BD5B9C266D43B95E9BBE
+E1A5D3FC1FE769DF0B9BB5A940F22175609681062B72D7FA8E56EB80FFFE0F29
+398E47272B30F760738D23CF748B81DA16FABAEE7B9E03214D996373FEE88E1F
+A9E03A507B312A3C6F9DC201765AE37435BFECEB0ADBC849129BE1C85CBF07D8
+F45F5493326DEE112E5F950826D9A7F62C42F04E64B92C274271CF8CAC8E9057
+1DDDE9E675EF9D1ADAB47F3C7B52630D791FE11FB1AD16F5DBD936EB3B1577E2
+AC4767F7CD4854ECE9DF1FC7F74D01323DD665B71A93D4418BAF3BF720F7F49F
+E20E1671556E3CA2F6E68610BF2DA1F90081CFFB246D0B6D846BF82EF0141171
+CBD403D2B90C3939A124B56DE41E4F27925B025E98507A823A7F0787C0F19193
+9EE0D12C2973450B4B8F51B90485FA0DADECFF502DE5DFB612DC376438E65BD8
+503D3BCE6552ACCF8299470F7E8B4BF6CA11733BC802C9429F14AA2ABCF1B5D4
+223330BA7A703AD46FFC91308C5F1A47E2306B69DA2F4A25DEDD3912FCE1B08E
+F5ADAFC424328BDD7A55000C790D3A20D3C5D89C0F3380B3E19E514F0117C6E6
+0A897A1149DC53810BB0848D8AA8DBEBCCC1BA5C000594F99EEFDC3888C9A152
+6F84EA41C2D2C934542AE6493913340910D4D75FB47BA510F1F1FA856CD3BECB
+37209735C0CE8664BDA1E2808D15710374A8CBB526046D49E5301F604B31D9AC
+F6B375448AE40E4B27FBD8EC75DE9F659BEA36D714FB70D120A792D73DE22D50
+95F407D042E840BC91F70D71F50E863154C85CD51AF8B489A114F7B43FF6EC40
+1CF7978A7D81E764C282D557C1130C4182C7325E86400D45AB3C94F70F1D5D98
+5D0E6A28C0F693D5684A3E3F0E4B569C475DE8361C1A4A4552D792D9AB90D7A5
+C0E20E119A19031ECFD026BA7C16E76828106D56294C273260EC275562785EA1
+ADE0A81C9BA17E93024717FC9F4827258691EB87B6FE3CD8BACB606CDC2100C9
+947D5DEE7D0805A448A66340D67867B22A0B6AAB20BEC2FCF21BFB96D7CE1BF6
+2ECC3400D1B382E3C8D1C5152155738CCED0EBE303921EBBFD8F80DBA7DAFC0B
+FFB47AEA310AA6E78F347410B890BB97128C5F59F2A171FA8A67343D15416082
+3ACDCEC3525168D2D7A7ADA9FA64D1A474FD8904BB6550DFF25205DC9F6D94E1
+8A202E239D72C00990EB46B12404F6F6271C35E2E15A70AA35C7379505F5EE89
+9E4A51F8F923E0D6A27641230AE12A36F26B8D3262CF4A9837F242268216A8D0
+D31C88BCAFF3CC9E159A4785051815299023CBA09BB547255A5D277B212B9313
+78CD0190A42E03F04A96CE282056D8034A8F219F5544A65888C99B126B85726D
+6158CCA2E8E1D1008F8276028295B2333854969BB5B1B9E72DC4EFBAE6C1EC40
+034794A3B4E2A75DCB467B47C64145166F1ADB0A5B103C590875EABE6DF2D635
+8290EC27E805031C6C44E7885573E436C5E078D1F3A8C99C1BD2E228E389C5F4
+B370C48697E13D1BD960CCAE6025A265F905EF57422B3171CDFC0BFF0B1F49A2
+2307C908D4D3005B7BB3947C27F78B66D9745B0EDFFB656C65510A1603052EDC
+37D013076B739B01574EECC37031D8FBFF3388E174935D8F15284E46D45A2144
+F3F83463A16CECE40FDFEE2ADAE95E1441095A28BA0FC858E5EA9766BB13568E
+C7D4C86F3B6309F074EC65E95DAB73F104E429BB8EF50DEF8F2F6E55ECD713AD
+2CE8107786091BE8F744F1D2879AE31D1A464E4DEF1245960D197B6822E0F4A5
+AC6864CDAABFEBD201556FD8FC5357BF6442A04C7F8BD07316058BDF1CAD7640
+9995993D59AB92B6BEDA7A00E6A47A29DDDD9B0B199402A8437EF730730B59BD
+238D242260012261EF332232B9BAA4E4C814CA3B76CE944D6182A11B2809010A
+8DC04E63E903E875E6655E6C2B7ED709549127D53EB20B3E911BDDD4B923E594
+40269E1DD018847F9C3B0D9C765A05903B57041F0AA9951DE7B482D4206ABE0B
+9DF41ABE894AF1EC611794F66E7FDE526ACE0C545DD6D866F1EBACC476C82A32
+D291C099B6E33E1FF4C071A563BAB91EC8DB5EE230F7192B78CF5337B3BEC6CF
+19D3C85444F163AD39C82415756749E663A4C448FE4ED9FA03668564FB86775B
+38C4FF3DF3CD65C9AE72C412A859C64AC2DDD283A8724A5294FAD2E41E2AE7D4
+189D292F91FF25446AAAF318F5F6BFC28845FC90C6CB7AD8537F1D353E89E245
+B3EC776EBB5EC2C3573FA30E0D31E5DB3C6761897E92F4DF1E8C075C0139BFB1
+94922D4695A46DA45B2CBD0FBACF6D20FE30F43635438FF72148280AFD41CCBD
+52224F0071E086263DACFE53427203522C5B85C40F6832822E5C879B8AD8ED3A
+81195F25CC7302EE69565C7B4035F459432EAA42F65730826C740903EE16E0DC
+0A494AEC9361FFAD97C0D765D2C1C626F3C1BC8D23D7FF0E1660152507533BA4
+15D82A6E9F2045CD6ABF4CF805960EB4F411585259B5CBAE064075AF2951675B
+069F84BB4F42A9638CF8B7433CA9337405D7AD6C32C4D1185730CA3EA95DB3F2
+3F3C371D2B1C7D121A2358BD0B03FF5E95AAE28DBAD039A4F579BC5E13B97F6A
+B6AA765F21A1C34C74685851D3680A806CCA9B7D298E732648E18193FD8F928E
+0090BA7BFDA55B3C8B05F0999CBC41F1BD17240EDA3B42D84AAED47319EAE6D1
+84E188F69727FDECCBC1D71071819FB8EB6137702FC6CD1971FF4600C70A4AEE
+3C2FA27AA13A541F80623C0C8987D9872BAEBDAABD49BA0C5961DFE40EF5C816
+7EB0833CE4A91AA5583CC1F6E660C2B98A1E87BA62052F2FAD463536330A5BC6
+1844358563D3BE6ADA24D1A9A4D5535EB759808166019C0918A3A99AD045B128
+614A8996A34E5D34C08654B21BD2B295F8E1ABDEADD6EE8E0DB7DA9F351A834D
+A321E8DAD3EDEB7D1A30FD5C0044D304553D3D0AA39C9D40E4F68D3BEE6DD217
+7D11226EB40EC79C4A292B1FEAE47F3BD571FCC13482C0289D887F8B80C791A5
+172185EB7970B5ED76685D2F19E2E7588DF093E0C34DC709F8F5E79DE5DA8903
+6B2466A5352FBEE362D3F3A53A11F2987DFA2BE77E7FD8422609DFFEC50AFE49
+068090281ECE160169FFE21C7EC82927B0C189B75E56E9F92A7FAD8585176313
+0130C310D14D560553B1688DE3EB5398F7C950432F0F88DB36FBA18C56B8AF5E
+0CECF2CB07888F32AF81B522FADF492F39A3A17DC6C8061B079B8842F237CAC5
+7088E9E790B3D9B77FD1A07506A7D0712474581159494EEC9D2E7428587E26E2
+716D22CE1AB8B884ED765D1AF7F60855115AD921D47E17AEC1EEC751EBB5FE97
+DBEBF85171960F1E488854C2085281FC5270911417CB9EF89448D5AA613ED806
+012E30B12C12BE6A5E8B1E394353EFC425822B1BDDF8B4285DBBEF37657CB56F
+41126A325BBDF38D4710EB9269DFADA7F93D3EAB10097C85403E30A3E0B0D5D7
+8631229CB438AF75939FB79C3990E11A2DE595E3BE3404C4FC6265BDCF7E6679
+E66DFC3CE8BEA80351875C129F744E4B6D581EB35E1439CD8B5F0071EFBFAE4D
+754130E68A21A48D8104724D6E107A4FCC35CA7E071B188D03FA48F14A96FACD
+F069D5BD56F1B23BAD03C8396660FB8BC2E761D717B67757B9F5C60F19E735B8
+45B6EE625DEF906347F33DAEAC8F8F9527DD99C0D0DF3797D66D77FADF970E29
+94AA7E69F5CEC2C9BC8E934B28FC41AACD03BEB6B2523A270690937F16191B87
+8C494AC81DE5043CB8107667CAF71C7521939C7F8624DEE8472BCDDCF2ADBCA2
+B83CAFEAFB0C63982F9FF4833AF0D126783C175E0E8AC3F02B80CD85F55A316C
+6FA0F5C0A5BF10752CEEA0E7B6D198CF7E9FED1A5E7F976A52A47FED9512E309
+47DB24B061068C3E8B5A56C9DFAD647BF4CCCB2A79DB42E0EBBDB110CA9E757B
+4CD2CFC8C6D4E822A0AA742071C18CC7E6170D227041126F06D3D742E77173D2
+24726BE0F07BA7C1B531D7C748E4C21F4797721CDBFED894248A962F3AF0C30A
+E4A4D27456993BEF6DEEDF47D55E4E41598E5981B46F501F6A8F6139BCC04EA3
+2163F547280E766015D12D6614FA73E65F8A558EACBE58DD06BFDEDD3DBC5BE0
+27E3FAB251206369B25458DAF3EC3F761543C684DA66DB49CF8941A6E434139A
+3C297E2C52A56FB9BA096DA086EEC2B09129E83E7872AA041A239E2E7C0DF579
+BD468930CB63B4B21255199F3B71F949F6D8509FB0F9C902E5BE0014D48DEB72
+220BA736AD3D20DDF1C0D6102F8954F06F933B008DF468F8A81ABD7095482D2B
+E7514217BF75A73287F5C83FC608D87AFE770B18F687A417BD2D3764F9FD5F95
+5E25C8C8B236CFD159E533D7F1A35D368EA3B74B2EAD5E3108504EA9353D5304
+E5CCB2CC0E38246E401F3CCFC4E8331EB3E7339EBC56E06E476677A30D4FD27C
+DFBF89BF334904D06E239314E5F89296E9EAA8F989CF1B117A94E0EF92FA4C96
+2FA75B3C20B737771AD15361CA6CB1CFAAD12021932ECE3E8606DD35C438ADB5
+65EFB9EEAB1893E8BDC3F793387C9219A654B893EADD6AC7454C42B0F9E4A0A6
+FF16B926DB665DEAFC1D88504443023503FF6175C3AE30CD7B60A3FE6CCC01AF
+0E2D383C15A38A9856FAEC7B4C5030411E0345DFE886D4E438473995E4705055
+4375BB6063C177157471F6147A2CE62DEC1D5DBA40D55CFFA4106A0B2FFA1BC7
+4F7DDAE9D9513F8CE8C0A51004B6CD2B7C681F089A105FDDA57FB46E30865D53
+4A087E8BF461F8FF9EC4DCF3B4E864EE84B1FDDB3A1CFC61C4E67038EB4D59A4
+FD9BFA4CAB26BDCCEBB7CBD937085477FFD324487DF21ABA202773F95764DA6C
+612FEE023B371A839002A79B6128B53BB4515BA6D8D9216D4D5D465E06C66B57
+B70DC7D708E5CFE49FFEE46FA3259C13652205774466700E1D2F955FF28E58EA
+B886CEBE579D923489823768C69EB6C6ECEF879B23C29DA5595D7BFB8B2A6D0C
+ADCA1093E030237A9611862798CE2AF210AA6684FCD763C794AD3DE2E3C138A5
+D7AB1B393F114B6E26C6D0B62A6C626706E8E67DCEF15CE539315A6EC5F3CCD3
+AAE8C34EA67421B6E5C511594D18F9C841F7DDBA8B7DBE166CA2450A18E35FD5
+A8950C6338E3EE87DF7DBF811DCE316ACF80598B74B44B4BF5AEA7054CF1D6B9
+0B4A24D3EAFA8013863C0345F2382F3099580B7F3A1E383F536D7056B832BE1A
+3B06A688CD5D6BC60F87EF1DC240AFDF1610419CDB30820A3E34C4DED94CFB5A
+81C58E3C57D0002E2C0DBC1B87CE51FE05191AC5FCCC8D18BC84A1D04FBA48AD
+F810EBF1AFB146731747452B78560242C0EA6620B8E2436FD8D842ABB3043726
+1ACE7FE479C0D16A2B39B99CA673FA3ED35630531F5C74CC1B4850F285338086
+6166E289565B06F92EBFF17317AFAF670866A198F33BD569216A482704AB7015
+A6A2CFF01781941F1CE4F9F41648917CBBE080FB4ECCD48C1584CE9EEB3ED819
+D49B130E3B82918CA507C5CDCC1AB23785B39D478750FAB32E5AF280C55529DA
+ABDB00056A3F2C4F5F5326AC1241698DC8A8BE3042D87D8E0ADF797B68F970FC
+02C893C89EC3A003BCC40A17A78F8B1F400DE107E366354547CB849BAB1A719C
+B3A8651BA4069FD7AF99A9E59FC15873D7CA332324D1E00E7C4438E4BA68C430
+B3E87E05E7420B19D52B7DF43424D127D7EC48131A2870505C7C66AB6C4827CA
+D061C8AD5E639885005CF6A008A416F9ED1A6E9BCD984DE395F57D0D0AABB178
+C9FC356A798839E2FAA3DAC23B84DDD310FC39FA2142FF83D634D8E9A80D2876
+B666374F3F07BD7024F976B44ED5FAB10A711BCACF47A33F60240CFBFF9ACBEF
+FB6B4AD7DEE1973BB2417FD13FB481D5AFDB7A7A82A1C77CBC52EAD9FB2A7245
+083D09AF6C1DAA9137DA36521B62ADF2130EFFE0E9C751F97C29979A3CFB6B23
+3DE0323221266D9A29B7E793848E9234B4E757A443363679A584926D87001261
+B483E7413D30592FC05BDD2FDEF01863B1E56210F33E2724B846177B3C407CD3
+5B386504CF8EB0A2D0384DBF406131FD44AA5ED94D89E4850CA90B41689F89C6
+C7C65C89AF2D7D5C2971F355AD93B72B0CB57A227E17FD87E17F19054BC77A97
+5BB2C12EE95C22C52C4018B366329B5DF4675D1C6F6CE326619DD3EC9087ECAE
+6795C843CFA7FA365C9636D7997BEBC0A9C0AD566170E35B763CF1748AABF122
+DB9ABBDF12051B739B880DD6A614D013E6F6321A078BF126313BB03982DE8396
+480E68DDC559F189C878B1F3F09CC90C94EC811EE752BC4323DD635BDD95AA2B
+F5C941BDB5ED3890F64A1108F00F065D9A87EF098449153D944C0C0B3C438435
+8152F9C704D0066B87AE99C5931949A5146E62D8AC3EDB679AE3C792CBB23A8C
+F9734F85C165762CB4ADC959A54A9858C11300B66FB04B5C91827D33F4A04A75
+E1399D2659A46E55A072B37A37133DBE04E638F6FB0D665D656863AE3B03D024
+601B30AE39315409A53CB3A5E6742B115F2602F74D8A1C151E2B2E396AC26E6B
+A517D1AF2E5F4C59A734037BE570550EFDEE4960FD87149C653394E7A4E0CE0E
+0CA948CDCA0A246F294944E21CDA40A5A6491D8B14B46924DDD41CE32489B397
+6C9B6795BD652A26EFDC34CF68C7104944F46A3AB0911596384DFEA84FA6B01E
+724252DFAC9877B60FC83597B1BC370C304A208E0CA517DAC4597561C1CEAB4F
+10E7F1289C37839A9B95C6238CA15AC4A60203FFCD5135E11E5C3AA3C7446B7D
+3D96ECDDCAB9426115780D4689E6D2E0DEE12BA8E55BA49BC7BE5039A0BCF46E
+9C55CD1431A407B5EDB127C3727B52F4C4A5C7DFB1C23DEE475CB7B5897E3AA3
+CA66ECBC59D94D303EC98A0D63C6EAF6F9B32763B0C4416196AAC3AC1AB5C99B
+5818A7AE1E7826988E0096B200D83BD9D5EE71EBDD46FE1055A2F6E8477BF398
+6850E8F46088D0BC5D58496B7A85CBBED106CED44D7DF86EE1FB36DB4D8D33B3
+2E55ADF2859BC341B47AFF9C1D042D171AA75BAF6F627A0147112A7C534DF682
+BD4760296DC3ED01F5045AA9AD673EF72B1037C314AADF73D43A4C14BCE3ABD9
+B5B41703E8A249AF5E0D1F8ABF4C3919E9850946C07A5A15D16373B18F75E1E0
+2ACD77D0E450D285182D1F91A2AE5B08EAD3CB61F567A32AA4C53DE243A6C18A
+72E97950FD02886F717331F2DE32472217EFC98B4D94C43335DA36AB5341767E
+1487115E1B0E2D4C40E48611C6B55CCC5A6D7EEDA593985821DF0A17E8AF8FFC
+EC9AB52EF12792F53E0622BFBFBA87C268A4042EE4DD07B03E1949ECB746668B
+7BE27B97957791E0B88D430F3AC8A16E2F15379D74448DB2693FFEA93E1CE3F9
+43FEE37BD138374AA2076C440F6FC53894814599A55F6A4129978676A7ECE678
+54297AA359881BE6AF25EB770317F90BD98A7A79B51BE290983C8E133E423CD1
+85797426AF3F9663BC0FB93D4F79E013D0E4A56C634199C64D5260633A256182
+15C8DCB5F0018E671EA4983EE112CA99DED779E89FA8C57389B198F2FDA854E4
+C5D40521BEC55AE6B364FF931B303D619A970191F83CB5B14C3832DC63F1BAA1
+EB8D0BF5BA270340A1196A2AB69EA5D8F14431C2636CB043B726C35B8F69B790
+027CCA573E387EAC8479728FAD61BB3C29E723DBAC5BCC243563801EEDE14410
+63DFFCE2AE20E7D86EBCFBEED6CE1EE583AC0A958AF47074CE5D43B2309CAD8E
+ADAC8653CE3720423C9C8477F7F4CA54B5B4B397020CA87493064FCB36A5ECC4
+B4875CCDBD0C7AAAD49DD9CD91BA77460485999079B01A1AF1971EA4F14F6663
+3D25AF316EF3076C8D1B2E3263DCD73C22E6F0FBDF889E2BC36A115FEA417687
+E9107A67B4341E0AE05084E8BFF21DC0A7F0906A9EC23ED2F6E3F6832D0E44BF
+6056E48D415A6FBF0A0B9565D5C4AB578C1F922D4E52B9AF7976018672C610E5
+A4C203B5D80EE1A6AFBEFEB32DED46D68E4821BFB8FBD3B5D4A461CB91BA1977
+559B6976D07C0E6BF8C97971D78172A8BDA0C703A4E2823DAE8466DF49B35FD4
+19EF7CBC2F4064903A9AF5B2CE677C9AA101E84BFF71610D4C2148BB9B2BEE9C
+16A420607223361C5D00DD67F5DFF98BFA5FAA5CAD1A3CE55A5C2B7E7B7236D3
+3143160A074BC299335BF3A612113004B384B1FB048BD5EA279A00146749062C
+02F382BB3136B86351841565CBC6010B2588187011B2E1A7955F5EF2CDF7D565
+D3D1915971D09DDFF4D634B49CF105D07629CCDFCF2C960CA3224D021325A972
+46C6BCB2392E332E2F23968B2B526912837B81FDEBDAF8D7C8C8C9269C452389
+D0795FB2DA454C0A41CA7DD3EF263E19462CAF377983213E0A3B2060E0538313
+6EFECC7DA55366C171B2E4936DA0D640E8C145FDFCA67148B0F807E95E7B891B
+89903EDF186B4ADCBD360EBA0B
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMR12
+%!PS-AdobeFont-1.1: CMR12 1.0
+%%CreationDate: 1991 Aug 20 16:38:05
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 48 /zero put
+dup 50 /two put
+dup 52 /four put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 67 /C put
+dup 69 /E put
+dup 70 /F put
+dup 72 /H put
+dup 73 /I put
+dup 75 /K put
+dup 79 /O put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 90 /Z put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 121 /y put
+dup 122 /z put
+readonly def
+/FontBBox{-34 -251 988 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
+68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
+3645B82392D5CAE11A7CB49D7E2E82DCD485CBA04C77322EB2E6A79D73DC194E
+59C120A2DABB9BF72E2CF256DD6EB54EECBA588101ABD933B57CE8A3A0D16B28
+51D7494F73096DF53BDC66BBF896B587DF9643317D5F610CD9088F9849126F23
+DDE030F7B277DD99055C8B119CAE9C99158AC4E150CDFC2C66ED92EBB4CC092A
+AA078CE16247A1335AD332DAA950D20395A7384C33FF72EAA31A5B89766E635F
+45C4C068AD7EE867398F0381B07CB94D29FF097D59FF9961D195A948E3D87C31
+821E9295A56D21875B41988F7A16A1587050C3C71B4E4355BB37F255D6B237CE
+96F25467F70FA19E0F85785FF49068949CCC79F2F8AE57D5F79BB9C5CF5EED5D
+9857B9967D9B96CDCF73D5D65FF75AFABB66734018BAE264597220C89FD17379
+26764A9302D078B4EB0E29178C878FD61007EEA2DDB119AE88C57ECFEF4B71E4
+140A34951DDC3568A84CC92371A789021A103A1A347050FDA6ECF7903F67D213
+1D0C7C474A9053866E9C88E65E6932BA87A73686EAB0019389F84D159809C498
+1E7A30ED942EB211B00DBFF5BCC720F4E276C3339B31B6EABBB078430E6A09BB
+377D3061A20B1EB98796B8607EECBC699445EAA866C38E03ED7D4F3EDBCA1926
+2AF6A41F67AFCFBF3630C943FA111E4CCD988A7363F7C2B75EAF5830B049460E
+0D2B337988F150B9182E989E7750C51BA83DF37685483F86D1F47478883F3F6A
+4B7F768DA5AA89E8F163029ADD4A9209DE8A4F285766C06EA859639B92CCCDCA
+F59B1C2BB8D588CA754D1257BFF76B53984DF4937093AAEF79009D32A29A4C16
+FB610C7D6713482C48D7F9E8410C0F00AD6E67021056B6035534E79F05D14EF2
+4E813344B92052E6E38491989F62E8E70B47BDC936D5B12147DED67421B4F1C4
+3B425AE884FBA95D4C00316800FEB4C2AECB712C0977B675BEBF659686B32A43
+79C609ECFB9770F489E78E39C6032F21A769230B7B5FEC428C4C9263D23F1844
+8391D5B270CDA540F99194CBB3F96B0C062EBD018C99F6BA8887E95093A429C2
+4017AF57A2EEED21FD3D35A0CD92239683CAC8E5E5294368494F14A32AD098C0
+9B70DD84A464DA6692559DCB3A2D3B1CF7DB5E152D192693E1D678F0D2E24D85
+9279DEE7B86F11243C2F984389FAD3AB3B868E4CC4D1E0EFFCC2460BB14060EB
+1055D007FA13832615688CD9B4FF922B566FBD764B5A957D8DAF44620F59064B
+72073A793D0C6224FA9141EC4457CE3789EAC039016DC857D5D2C8B2D219B0FC
+E8BE07B57B80757251F63231BA4A31A3316681192D01BF9D30C3A439ED15187E
+E9E839562AF201CF41941F3758B48DAE411DC987E5B10A1516527AEB11916EE3
+CC2FC224C559DC9536C06C33513199DDD7FDF288D60434486A022C5387F04935
+36689800CCC7F9207BDC4A399341485C169164E2EBBD0C6A949F40D2F9C09CFD
+79A29B44D8BEA56636B538FB09C5129AC43BE6A1B3754B45EBD42F16DACE02E1
+8575CDD6645A9C09D80731C74B5B60CE5739784D5F9A8CBBD3614C067030E2C8
+8DB3B10427AD845A763F6619201D08C0E6AB1E3C4E02F3D2471048C7631519C7
+9892A16E8A89AB30BF46072014B064E6E091F93EE43BF58E839A0B7C748428CD
+D92C6BC78679CBEAE17C5BA35E3938DAAF04B7A304FED7F9CE091FA7EDB9BB47
+0AE9CB375FD21B844FFB938C69C0813D808F17FA28B01BAD640D032DD84BA8C4
+4E7DA8FC546F8132F9C15134FAAA2CCAEE217D4F385EC3AA24F19D39F684BED2
+D7B4D6428153A305A0B438C35FFEE92C9D6EE1856D656F69D071D15F5DB85D97
+9E4E83260C03D08EF8776C1DC11D1484D97AD96DAF515C64D231DF6DBC361395
+5F23C7518F59B0A2C9E8750CB097EC7BACC1BF30E6F36AE562E659AB06CFADD2
+463C5EC86CCE43701C0D546723F6ED22F5C5680DA372F9228BAA42D53497E15F
+1510487DABA86CBFAD2D43F0FE44C7C137202590041FECA272ED878AB6435AAC
+D286362F504DBD0175F442228D24CD4F6D615220ACEE9C686BAB23F51CDF2C54
+8A48040F69DA7DF1AD61EB79E3E0D06525DF672F7DC74B16638761B5ED4AE73B
+204EE1D1DBFF155A5FC3789A6CB80B4A0FD85A5E46C3946168E825111B9F2ADB
+8D461062147493799F9A7E967321A1E6935CAAE6215050C1625595EBAC2372E5
+45A5EF251C2CE2377EF6916A68186DB0E15078CE27E40D72B3B7BBDA85ADF9F0
+CCF941DB442B0A83C13306C5A6C6D878120D6848B61F7C84B0A5BE93CF569566
+57A4CD2F35AB56388464C0A54AC5CB73037AC993F1DDD402E3476575079D2EAE
+A6C24E9B781BC30D66853DE1E20BDD2115250227D94D3D00302390CA8161EEE4
+305F4112957D8C7373C737531796843F5021E13A03C4F8525EA3DDD12193B317
+BC4AE290826D9565B6D4AEF565386E413F73AE647053C832C230B3BBCF505DF5
+DC62B4CC887FBACAA8C5EC5CFD76E6EBBF7305B72A7E2788989139C1C031E396
+501939AE366EFA57E915F75947FF909457C6E2520DF33B7CE27BF60D1AC83DBD
+513F95E5B2BF3242B14D623BA81A5E4D9F14CACEE5608C70CADC2DF0F827090A
+ADBEEA5594DD17287DBFFC8D32E88A79E2A5DD3AEC6DF12B702326DAE1A12B2C
+5BA64A07678616926D8CD25952B8CBEB203E66293B5FBF69C3D59BCC4C7F986E
+6EF2CF7F13C9EF2F00492CC56544B351A96A3ABA2188EA90275D9A485951725D
+6B28E742111F89F26C3EE550A318A4683AF46535011AB6A94A9BE2FEADD70475
+6D1123C0F4E864FEE4AF0948257314D16C2FC011112D9F9DF01D4B2B9284AF4C
+9623B39D28048CDA4016D86264F41A1D8A1E0E8816FCA904AA4E3BC1241FCDF0
+92E8EA6B82EDC825DD2A7B0B42F19FD7CEFAC4233FD2D0F3F3C7DA56C7C84518
+22DFC70A3FACED74A30E33AEFF03F7C853C25CFBA52EF3DECC1BAA32C64EA4C3
+A9AD347D7F0ADC7D361794B74115093EA339BE43F52E419BD16DF7154B71E0E3
+847CBB8116C5C1C6666593E8B7A8EE26A9EED1D8B1A35940349F9DCE3797450D
+D166A2AE79DE85411DFD807ED887004EF828078D7B2D156ACD374FC0AF705696
+6BB23A8EFFC7AAE3EBA735AEE3BA459855243C289E34444A5DA1220EF12241CA
+1AE9DF8C15384EA74589ED6323F2C0B5AD4A1CB6E191C9819EEA1AD25A116A76
+8F46F8E1E0222443EEA5114BAE747725998E1353D3C0E11C28EBB773C6A67BDD
+6A2F03255D96ADBFFAB08F39854CF965D27B85F8CCBDC95E0E1F7B7C6F77B9E7
+70F73EE4873ACBDF620C08BDA266BE27F864EE2AD759254A9FA2BFE91D94A3EF
+436CA4EC7DAE307ABA4353996AB312943528EF198632CC018B01D209CD225E09
+CB018D081B6237F474FC1E01562F03CBF5893B3B492CA012B40BCB71AAB3E480
+7D1731BA45801CD73B14ED8C33977D937D228AF1D649ACD74940AB8781CFABA3
+6737EDD6433A9E881A190087A64A1729B4E350662F6102BEFC2E48B66DD35B3E
+984983FAB2C44DEECEA012F936B2A2025DE32729C947DC30F6656ECCAA720AF0
+ED98F3EE50299CECF4FE13B1955B91132C17344A82866E84DBDD67D379C53BF5
+5DB87C8862BE16D094CEA0B18BDBDB34653A7E54E7995A43FE8AA48C866DC5C1
+624BA8F8F4CB39CB285D47007A6053886AA91E4E2291D1736A2678F24FDAD234
+61E859710E4DC3858780003C9B125CD3F7788FE4408E1922C979F1F90711818E
+16352B067FF29A2F493A1494F9B88196B4881B49F8F64F6A497BD46331D8E8CA
+8E765AF472C489E68777C51C31E0ED5ED526561E9F3213F017D43B3E305CA4E6
+2C6AB509BF9E785418B91237B3CBC4CC8413F11BB4BD3182A0DDE55EBC9E5FC6
+3BB234C61FD98786A9568E2D4B732A66065959E6AF586DA6930DCC0624E58C10
+3A9FDEAB6153118229ED0B78C6F6025CB1D5190111D3BD800453F23F83F51611
+C590D9561717A9A25FF989952285A036BE8F26F460F1530EDDFD5842805342EC
+4EAFB7E270DD861738B3D95741C81C5DD9B2FDD4A8A7E4D62DD77BB02047BF99
+C453764E730AA8679F0AC68713E0EB3679A5633240E9457D61E87B556D09C6C1
+6F5A92BD6F23F5CAC778D81B6898BBE3E10B286ACC79550501EFBCD60471F1E4
+8ECABFD8BAF0CCB09206EE67E156CAA1289875CAE04A57B46D3B9575CDDD39B4
+72BE5FDF45CF386E20C1B91B56B7B97189F047B437AA0F91CF159E0D3E08DEC7
+5709D19E861F9B4945A064D926BD11817D79F4D5DBA773B3C9F01EF3B20D0E52
+AD16FB23BA0CB36A6A5C9F9F83A0BE531B2BBE0E8417D20743D59DB7C5D6BE61
+8787D487872D98B6137456111B898E994E9988AB376FA6F99E96F8C75918C59E
+592983EBA0D041F1F5E175E95CC3B4C14D22EDC94B08558B974CCDDD75CC4585
+2FF045D19B584943A414189AB6847F73894F3E43D66DA3FD3E03AD57D5400B12
+7FD8D6EA4BE738C7D53E26C4955F327AA53718CB7FB06AB12865DAAB94965C62
+64CD2C9615C1DF655354D3BADD2F3A5E781C68B541EBF5BF577EBF1F2D51A6A0
+E3DA80D7CBCFE0969C9E8313C5AACD8B7EC9352E4A8406DA8652C26EBA514C80
+B6ED4043270F6C48EB1ADE631856F8377371AB4B9511FCC04170BCA23FAB33EF
+9ABCEC626F6C0D9DA520F4C9C817DF41E282D6B72E54877647A844C25D37F2A0
+10F9FCA354EEE01B2F639DA7C114F78ACC769613A0EECF9CDDC45691D9E8D657
+8D22C2DF47E54C4F1B24B59A6AE15DAF5A4D159CC0BB34E080A810A3C27B3B46
+65AC10B86C92E8DBEB25E1570644F3EA62E9CABB0E8FA7222080AFF5B280EE45
+68078867B4D074154311D47B9BE71D356699D91A3EA5493FC77B96DE761BF78B
+219D11234D8DB80EF36580116BAFAD33043F26671AEE559D72BDAECFD390191D
+8EFCD8D23A363B5748F3A068B83FA1F0C9CEDD9A9EC6568C7B32E0B76C2505F1
+10094191C526EC65E75E2B387B2EC54495CB9B72F471AF5DEBACBA5925DC3786
+03D0BD2D84C8ED209BA0CD4066FF6090641ED4EAB019E6EAD69F2B01D06467E1
+0A1389D19C6475B6A2781CC452A2F6F476C53BF01905665DF7A91A7FBC57564D
+0032691998703E3873DFD960E3CEBDC20D2CD067CFD70E27E1D71651AA5F12F7
+23F12734B6C9E14360DD8863B6C491A0FAAD83032E0934CA1AC81400A5690D36
+A9B21515019218A07E1C7BD6B7AB72274562BA309F3A10A1AFEEF4E440DB70AC
+6AC01D18C948A5AB66D5A7BA53DDF85E33291AD71B9881593BFA6059BF4586EC
+056F600550CAB4F79B129978892A520554C8B138993AFEE76C6581835E9B5487
+D17450211BC5F69F2E574A63AB9399D0376827C0D38A739CF22909F325305306
+606C947D76B0C9C246D92D07143EC8DF2EA62F376192F68940B8CF01496DD5A0
+FBDD0F19D2C4508D08D396D6E2D7BC7AD86F8E305AF42B1D405375CD409528D5
+5A95981B7FB5C10AED77EBA79407004354337A43F5A1DA3D32533625ED1C235D
+0A7BB5E4925C1C431132931FA276C75BC1499F347974BA1550A83E80C74CB792
+BE8A8C523239DFF62A19B0E1B0FA68B31BFA27AAEBB5D03DE5A9BEEB08E6EAB3
+4338F3EECA1CFFE0C9217428856FC51E89DF1BE9EAE94ABDD9F6CABE8384ADED
+29738867EAE40D2E9C84453EF97860A1A3C0B181FC868C3CC577C0E24507F014
+7E094E3DDAFDB85781331C937F12680F216D5956902B6D4844D0034AF9BC3561
+239BDCD3C4DDA727C61566B2303759BE4A0FAB3F51DBA231F6E9A7166916099C
+FC642208A0428660DAAC78A100248E33E32BF1FEEFB8FCD2299F1B20A328EA61
+4A2DD76BE58DECD015883921E41C3099E9F835F2B266C623D3991FCF192702B2
+0331689C02A5A3AE94864B9298626D4B2E211679774250114E3C9ABF44441206
+5425FF437C4638281F964B7A368E45973BBEF49D0B78C652944249A3F95A3261
+74E4FE359A52AC95DBAA15B6DDA67862E0C3759F9D09C716F116432EFC0B5732
+FFF93874B2177A69C9582975FF677A7D7DC13D082683F9A396D82778BE1DAE16
+8FFA6C0D2DB2C2AA560C17E73A0143D1213237728832978AEFA28086861975BF
+A5EC5AABE59CCA7EC15A2674AF4285F4172C97C8AA8A149A6EB5EA2881AE4C34
+999EA46085405A3E38F74C7E1FF3E1E327FA3DB88F1EEDF13843EA241FFB4E1A
+335C0EDAC47ED72DADC385D9D9B093894024BD27F4A23AF9B6B761135A8F4611
+CAC9EFCD98D36D81A8278022221E3402FD0AE7D90F3FCB68CE3BD0B0A96E0AE4
+0A2409EA7B4242A0896C532D2A0362C292E1A1A2BDAFBFB59A5D53BE8B243F56
+22CAB20CF79AE1C10EB88BE6EBC4006DB82E70365144E59458B604A4CAA8DA07
+37C183BC308D277CE2CF03EEB024423120DBEC9485A635AFFA6E5A6E47DAEA41
+D2A6204F6D1A45851AC4FE00B4DFF87054A1C5F14F9BF1BB0FFEFECDBB6E2E31
+C685C0DC971FB07405B15BE3ECEF2E2FD8E42B0715D82716BE7E82C2B04688AB
+D1146AAB0D2FAE29BF5F00220AD679162169DBB83A2CF6C1724B8BBAD065222F
+D24EB3A47B23C08D6636CE8A484FFA3F4807D75CD25150095F0F5E001C13D80E
+C4AB1B0C587366158E3B739712EC1CE08999A36C4A3AA1CA040F1599963ABF17
+BADAAAE4E1F3FA5C146E3B5A255867C63361E40E28B0863A0CDA0946BB7F7467
+F00DA505C783F203F8DE0C4BE0130DBA9BB645A6BC32E1EE16E19C1AF4D1917F
+D4E7F7A7E4A90BADA0FFC1CBD98901D85ADC60D76E9B06CBA3B21E77BA5F0CA4
+4A35E9D663C5F274189BE6E2B0A161F3E811BD2A5487AC5018E1CB3148D53034
+BEB0693456D2A4D592BE7E1AB4706872864FF96172645683525AA2DE240C46D5
+194EE3C0F05765291023912FAFABF0636EF5F89FE4275002D7BB349168B48086
+5806AFA82B223CF75E37DD7C8712F1E0EA899961FF1EEAEE668C2043BBCAE3DA
+CB07490FDE9629425D8CEF1DECA01856F13B1685244FCFAB653FD88CD94EBAF3
+9EFD747462A12E5D88A6B8BB3F610A19848A4E1ED512AD49099BCB6CCEBE16A0
+4131420E849564EFF92B9D9430CFF5FD5F596067AFCFC239684B23A8055CB43F
+22F5F3D5409C1DFC764E2F7C32513358FB8C9BC3DDE5E539A3246D15FC70D53A
+A4405BD858DDD072F4473971731395E1DB8DFA682AF0FC3BAB7B21093CD1CAF9
+43CC903653FDE7BEEBFAE123A3D53F112C682D86E8AB8523AC70A1AD5DD798A4
+0ED8E00F0B41740E71571DAAE53A9CE27DA5B90FB78126E7756800BB325D4B92
+B948D5609A1CF903EB1DCB970364016B35F4424DFF44DB3A18299D3A10B58C6D
+5893EDC2A9DA31326708319C8537D27C3700709AC4F6C7E73EAAF734CA40DBA2
+27E72DC7BF28BA815AFF155F470BF91B904D0CF61C67248BA36BE58ADF682E93
+AEC1D0E42CAAD345E586F5D9FBD4AE1509600EC9E7D24614B5C2E9C04BC2289B
+F46EFE6B2D81FB0554D0BE8B5820EF456B05DC16C53C0E13B43C52F4E3D80709
+844A0093D555EC1CD1202A8029915B4E0C1A890208034F96C05E486A32013936
+C27ED2BFC5C303D89EEF8B4693FDA01C6BD6E66ED529DB355C02FADC3AE6AB32
+8E86D5B3BF2A88BB039A2D3E9E8D78D4B96C268C26C55DE17EF62F5A482ADD98
+BA1B45ECF11BBF943BC8D8582711B11454C5A7C2E37DD7EEAE455AD5F5729F3E
+42DF093720894AEAFAFA47FB49B56354B2429E9D631B11BFBD98FECF975EA504
+7CF4CB2A3B0547B8133055A71C3CA2F39D7C2600170751E1715904B17017E590
+28A401AA80E150BA81B6A5C649EE21300AB003A4163D2C98ADA33820877FA650
+156F393B0FD54B627BE75849A75D0C8E0EE352941494C1EC959B83B8227CD447
+2762559912EE3F4B46B1D9C280DE220EB7E99C88558EFB21D0FF4F684118F20A
+8C37CD29CA8AC0B3AA113AA30B399A1491DF55D5E0E083DBD5E62F5F0A4D7B26
+31E52505D737933E083402C41EEB6105EBC32F6AC595A7ECAF6A614729F8EF7D
+773A12544E628FAAD1E87F78D6A86B8777E3282F8ED42569B0E85BAA3903AD1A
+7797C54AE808450FF5E1628643167D6E80672C0B41E67D279B859F31C73F9B61
+6D8D580708024FEAC208EDCAA6CC19D85CBA2C780DABDB8E738A6CA9B3ED2A3C
+1D3D5ACE823F7A03AC36E3B6946E323D64A8599F54CCC6E0828E2063BD9E5F5B
+A3124919F415C3EA54D8C92BA35EEAE0A88460CA3DCD1C84F74BC9CE074A9D7B
+D2C7D851BBD57EFEB0AC8D7CE0C5D7C7683D500A4CDF56744E0204975BB22323
+A059C2EF69C7FC65BFCF7AF377952F8466C5FB84C08F46E9D548A9433FA9FA40
+F303894403076B40CAE8F818D25EC5C69E9CB3052F48306FA95074389BAE93F1
+4F0075462E4304E598804E6C2619F8AC83FC6A7BC25BF5BE63372A28FAE5E25F
+F9117190BB58B73831EBB6053FC2775C2EE90984EEC876C0C78783EF496C29FE
+FE13082AB4E7D2F3D571A0121913F3EDDE8E2DFDA939076148E6C3ED9A7CFBAA
+5D55751C6F1219B2DEBC172CE1780FF62A2929A99405E167028D2375D4565280
+4D8DC6ACCCA0F5850EBC8F41742EC0444DEA4DECE4EA82AE125B99E35D84DF1B
+B35A97AC01963EB80E4A589F33D91D643ABBC17EB3911C3624334C484A6D4ECA
+CDDE40E1DB8C29A0488D25490E571D9753AFD77D51279B6B48017295013EFF5A
+E99E03E95B21C66283B129F2282EBE58656652AE08F8382FCF46D193EBEE2869
+1579F6DE3FFF2796C74DFEC3C659E77F044ED80952401DEA85F6733FACF11AEB
+90FBD53DB512EA6DAAA69C630A79E3BC3B86722563BC00423E98FAAE4F2CDADE
+8D9F73883039FDD31DF31259B82B3F1E88396437A738E570D01B3258E55753ED
+0DC0A494C0DF0259798E3E71348414B6B9D7701B2A0F41F0FA82C5BF094D2197
+DB6E81CD8D7456F4053BA8F9A7002AC2A1172D5FE99D32CCED020BFA87C46E05
+2FBC499702B9033DF5EBF1E3DDEB853BAA66F741BB2F194443B2250659B73CBF
+F3C8883DEDFD0ADADFA83094591B8E9EFEA597DF19005AF2F8ED8DCA7C60FD8A
+6989E7F18B9F771522B5528D227287A7C4AB5B6E22DDFC423B7E68A2CB6774F0
+581D8BA82B2BD78FC63FA98F8D49906C73F62AE5DAB8CEF6F0C66381A4BAD72E
+2797676CD7C9C9C62305D0D7CC0A408B0742E21D915374E5197C89FFFF78ACCF
+538456BCFEA68CDE41CE9628F1B81A7DBB4E3190854EEEB40510AFA39F688957
+3DECF0DB17F4C9037D109F68D67C10D36933E91BBF89A9A6521CAC80F0A6D8AB
+C1B9F0652045C4735294082D415D3B5BEDE7291BAC511E6BFA1FB05EC8EFA03F
+5A4B50D536E6E7957FD9A699AD13A6A8B5454308BE47598BF166999F938F370E
+2245029CCD87E85DA0E7C893CE285C708C42811A91A5248C24CA0CFCBB6E2CE5
+6588E8DD5702DF8B20E8BFA5BC17A11D2681CE7B59AA820155DD26442BF69221
+9A674365B68210B4B214A1B9668D25CB6B7D2F9B5465D7BC13094C938E580B5B
+E0EFAD9D143D1C9C1BA1FDCA1716EF4E5F5088DFC22D56881C397960138A2F00
+EB53261426B2AC78A903DF5B5E51E57441900C92455F397CE61BAFE24A6317BA
+F8817BC4013912422664D43A3FCC1CBE2393018E4175717E2F93717709A45D5A
+4A49937ED42D90E0AC699A3E925029A1DD1962D95BF5940872372F09CC158E69
+96B1A4FE9264FE82EE4B911D586D8CF742E13FAB2D66986BB08D26F0C6A23F80
+949F5B8127B0C8D80F287F182F4191747511A988ADD41B5FA8FCCCC7FE19615E
+DB5C4B313B4F6CFA9C440BA7EA2A2F68883CC059A8897F497556995772B81C4E
+EF69C998B3E38DCA845208EE191C4C7460DA335DC3C79FADEEA8730659185A7D
+DC1D91475CC45C34E025B2CADFBE2DD4C7ED708BD8C7CABFA1861B34350F8A33
+B8FA88250D1A601D99ADC281CC649D433DFD8B9DE54FE681580F81F3586DC9D4
+672BCFBE80493B9670EAF850FF54DEE0DEF7481053FF7FE2ECE8824AF1BE5819
+54AC05E75B2001E2EAA9F08E7ADA21B7F9B924CF30D3EC7F692E333356ED2587
+382AB244DB071EABB2A3578B98252D03D9FB32A0F23C76E14C540D98A1552C90
+442B6C396875DBF1FE432615674F3295F5D39E5B8707713A615448B87FA66DA3
+4A5FE24108B669582F5B2FA22D3A455C44D3256FCD9513C177FB1FF3831FDCC8
+9CE5B7BBE35F039877824CB0EF3B19BBEA0816C72D0957E4694294E8E4B7A1EE
+D9ACE021A7B7175AECCF434942A169A4D7986182942FE4D97A881CA26867F044
+2C88ADD735D0D0A1B0D4DA2D780C48EFBDDD0E7299870665DCCF3625A88580FF
+FD3A754F84E56BE59B29347C25BD4A68ECE88EF881D722E86143456131D7561D
+55C98F1FFDEA0048F0DA957F7DDE92F9D7D489E0CAB9002731809D9B4F389217
+E9A673107CC9353C974BBB156B3279966F2A972484C88DFD08CA205578ECFFB2
+AAD087A94BEF26B3C2CD6E09E3B4F437C0FB765C5C8EB4FB2913AF23B5E228ED
+669B214D240538F07FE5EFDBD4224CD70EF0B5E88ADC1E
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMR17
+%!PS-AdobeFont-1.1: CMR17 1.0
+%%CreationDate: 1991 Aug 20 16:38:24
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR17) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR17 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 77 /M put
+dup 82 /R put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 105 /i put
+dup 108 /l put
+dup 110 /n put
+dup 114 /r put
+dup 117 /u put
+readonly def
+/FontBBox{-33 -250 945 749}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F075EA0A10A15B0ED05D5039DA41B32B16E95
+A3CE9725A429B35BAD796912FC328E3A28F96FCADA20A598E247755E7E7FF801
+BDB00E9B9B086BDBE6EDCF841A3EAFC6F5284FED3C634085BA4EE0FC6A026E96
+96D55575481B007BF93CA452EE3F71D83FAAB3D9DEDD2A8F96C5840EAE5BE5DC
+9322E81DFF5E250DEB386E12A49FC9FBF9B4C25C3283F3CEA74B8278A1B09DA7
+E9AE4FBAAF23EDF5A3E07D39385D521547C3AAAB8EB70549756EBA8EF445AF4A
+497CA924ACCC3DD5456F8E2C7E36946A5BF14E2E959895F7C94F49137256BE46
+4A238684D52792234869EAE1A6D8ADF4E138B79472D2A90A6CA99E2394CC20CD
+3841733046175B20CEBE372327BF13428EED6A3E2FDF84C2DBA4B0AD584EE9DF
+B51828D3B8F385846158C29C9AC3496CB9692DD10219697B2ED4D425C3957FD8
+C4600D76E045C561216EF05D38177243C314877A69A1C22E3BEC611A2EE5A216
+9B7C264CF6D1839DBBD78A40610F2C0D7C2FE09FFA9822FF55035AD52546970F
+83EED2D30EABB1F303091EBC11A5379B12BB3F405E371519A53EA9D66174ED25
+A2E55463EC71A97BE4C04B39E68112956117C8252DB6FB14AB64534B4BCD568B
+246DB833982B38CDE7268BBF74B6B0C18091E1B1F87D32D66F4DD023D1F10D2A
+7736A960F72AC01F733A11023832CD68FB6288A5977743F6F3F23E0C1657CF5D
+E8374835BDBD2DED3690C84A1EBB8E2383A5E49E610B6F5F0F5F5EC43CFD16FF
+24FEEFB92425CCB577E17FDE4EA6C50E1448DC5726A21888E25B6D6B52DA3D3C
+E4C4C6A73C176DFEB60B6B6191B336AC4F5BAA123E1B3B6FAE4B3FA9DC8F7E39
+335277EF2294315BE95F64EBDB1F393B293FD0FDB9DEE6C89082232013130D28
+9234FF12DF47D454558A1EE8603B2832772E5CA07D18B34A4763D5B890F7173F
+B8FEEF9AAF331DA30950536D399E8459850D254763E98257D748C6D982DDBE1B
+E07F60A5B5BF9665CB145BEE285F6B0D134C3514BDE075557FC36FBBED63B4AA
+1A1FF5031578F763120D1E6F0347436A0E202A244ED6F6FB4BE7FEB2E13E2936
+41685903279FE5D49008260496AADFE28AE4164CCA213BEF0F0C2467E7164B49
+F73C8985A2A61252F9375D003BCF5733E97F3A5B00EE922BFFF585DD8DA93D7A
+27F2E05D38A55A4C2B82F10D767C02370BF178C84B972ECE12CB49D05D92F0B0
+BA2F4953E0A17391745A667B1F7E92B8EBEB207CAA798106B6AA83F0EC03EDE2
+CF6A4F1FC9BBD22A0652FE91F6C6BE429086D40A629BA7BD8B9B834A2F8B6BB2
+1E036777CD11300B76173695F968FF122B916177EFB9A34E8B1A7DDE43DBAE5C
+3405421245F7015CBCE71CF94D1DB8A8D6C85A20B1B978F69C56A5F1031F4770
+6D074DCAE7D52A84608698225FACC08C2A3302E2D3E0768BFC22C3A613008BA2
+DD66FE4AFA42C7B2D77638191CDAE4D58B285120657E544D5B1E8E38F20E8F01
+CA35E6761BE93F70AB36518EACD2C28C558D5EB323F4D73D525A3C3B688598F6
+C40A8856DD9781401B81CAC9520742A84CBA6CE1CCC33F69291B6E56F035DC55
+97750BC5A2314DDCDBADFC8058D105AE718EF535B759EB9B75F1CE498EA958A9
+403CC34397698A78443CFA3B1A7F2036320F44A106BC72551AB221DF3F308BEC
+328EA34B6A5EBE3C9462DD036C17E5FC967B6B3DBFB2440B7A6AAA6C2BFC6C69
+2A809A62BEB8C2D5E762D0455830C8858A229D4E6148DAEC0AC3A9940AFBE928
+933AC697F6F2B7090E7569640FEC5AB5ABC994E32DC2768B484069A107CF6DF1
+0E643DB4016D5E84F0027F8ADD99192378D81F8676C06A4FB51C0F6EE8E7B3A1
+BF88E3B5AE745196DC156746516852AADC90BD1D9171180964395D3665F1D462
+5C320738E6D8087D4C8CF778B6083D93705D80FD04C6D271589EB48A4B088C43
+00FD429FDE925279038960E39AB0B038145D977717C6D7021C43D02055BD00F7
+0663AF4EC9466141381BA2453B043FA7F736E301AF000E9318505D359A1D4435
+1FEE3FA1161B47678560D837DBE9881E2AE8844C817EBF17A46BE3BDBD1926FA
+DE67AFC7534843E251E4861FB462CE8BE5A4D570A8F7D7B6EDF36742DB10B1AA
+DCF9A6533DF28A85BB2BBD41E3F57AD1E4D77FEBACC76905843B6F2D7FBC5552
+0092371C7282225CB47816682CB39BB011E90A09E10777879476E8922BB5934F
+BFE58A1ACDA5E18A1956C076B26376514FED265A2C9AD72BE950745C5280E275
+08598C9E86104DD41D05AA5BF59812A45051C11FC7CCB72E1CF4A05718BEF514
+A2EA7196A7477D10D7F87A7FB51D568F4D0B4008D3187ED93D2F5FF5ABB1FC44
+77136A0EB613F6E983E6075B792D6E7FC882F808687F3AD875FD12DEAD2B0E1B
+2983D440E51FFEB580C6F518448A612EE1B001C00DFB70DAF0184964689BC61C
+38477F5438B33E733270914148C0B000BA08548156477400B6472693435844F8
+E97BF25A0312B008D81D6D6155407867A8BA1C59036F91C3ED25511CAAA21392
+CAEC3C9228AFF2CCF7E62D0E7E14C2569A80CE585B09B39F49AC0AAC9F02218C
+AE92273F29014713BBA20F3AC6DA614C51456E423E624F84FC88E691AB8E7732
+EC3B764D8B3A8676D189E40D0D97C9E896AE6B84CE32AEFEAF4648C7D02ABBA3
+289226665A8D1F822A4411CDA8D71073F9431339832A72360E21C5EB53F667BC
+FE1A1531314FAB6EB049873944C4F857D4A15F09DC9BC930DA44DAAC5F980A03
+6807391391FBD574DB65FC517B18F43C4B59E033B7BF3FD4AFC3324B3016CC01
+596086D15F873F3FFB477A987C5FD5B246F226DBFC8AE8AA8BDE191124608481
+3CDE339AAF72E5407B81B77E134C74C19A1B26D25D3E7279F17CACA101147E25
+3953DBD17ADB2A814723AD206E510E9C70565479D7B691B1F3838335A1A226C7
+5E008399C2172F1F81F4F135337A84E852CD1D79ECAAAA06DEA12C8D3DEB2FF1
+2484538C4905D6848B3A5DE53001618E402EC758D490CAFFD341ED89B7902AB7
+CCF32868920DA9F5A8F7FB089AA3EAEA03AE299CD0055CAF9D354519C8B33DFF
+1C096597732BC112921389463CDDFEE2BBF96A8FAC04A23C5A62A84DFCC7EA0B
+77A9FFF2F198A07CBF1BFE27355ED3461DC31300C048E60F897CF111C1FAC30D
+362993113C1763F15FB913CE1D50BD5245945FC27294779A030DDB7FB6C2585C
+BAFF9714223BCA8024DDAACF94988E5C36831617CA1A4B15A5D1A4DF222191CC
+A023E6AD9ACCBBCE640DE4443D1D4F8882CE5A8FFD14F9C4DF2B986EF39734D7
+D94A1C00EE2451922952A9577012F5C00E02F3D9EB0A0F3FEE1757A19384141B
+A943A382BB247E0F1C02027B9A64C8DCB2233187ED4B0E2F19457EACA7FCE9F9
+33B578210E9251561BD4BA8E869DB1A9DB9CAD8F0B8DD64D8E8DB3599BD280BD
+8D63AD6BDA2012B7B20FCA00402C77C332676CC66B1D863117B5014BDADECC1C
+1E615F94148267E83300F597B445C0B855E8FE9B1B869CF40DA4519C2A898631
+566946E5FFC3C1353B18280D48B77457CFA1A6EFD75766C33B87A4D7528ACD39
+A4DBEE64769D4D305828161B8BE5831BC4745F5A9BF0D94D734C4E412777CE08
+C5DBB70D2299718206EDCE622E40E2A4A35E19C7F1D7A9418ED2805B4864FEEF
+327D5BC534126537585C419258272C2543B9E27176F2DD78BEFDB7B0634911D1
+87329ECCB34357E736704F0E950C723C267492ACEC459B4256789748F811CACB
+C4277E44A1E5DAD99ED86D97E1107083125E745E64DE879A2A2545B085055ED1
+0DE63CA91A963C18A0CB3DEADF33D527EBD2728715F627F858B331CF49B32B8B
+FC1EF92ECDC60CC9C37D6308BF63F4F2F6D1AECE71377826D9C1DA4457EB9576
+7551
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+TeXDict begin 39139632 55387786 1000 600 600 (cddlibman.dvi)
+@start /Fa 173[66 82[{}1 90.9091 /MSBM10 rf /Fb 139[51
+51 51 1[51 51 9[51 101[{}6 99.6264 /CMTT12 rf /Fc 255[55{}1
+66.4176 /CMSY8 rf /Fd 133[50 59 3[62 44 44 46 1[62 56
+62 1[31 2[31 3[51 1[50 62 54 13[62 3[84 1[106 67 2[42
+2[70 1[86 81 12[56 56 56 56 56 56 1[56 31 46[{}31 99.6264
+/CMBX12 rf /Fe 149[25 106[{}1 49.8132 /CMMI6 rf /Ff 132[46
+37 44 42 60 42 49 30 37 38 42 46 46 51 74 23 42 1[28
+46 42 28 42 46 42 42 46 10[68 68 65 51 66 1[62 70 68
+82 57 1[48 35 68 70 1[62 69 65 1[68 6[28 6[46 46 46 46
+1[28 33 28 2[37 37 28 26[51 12[{}56 90.9091 /CMTI10 rf
+/Fg 139[25 33 32 3[43 2[37 29 24 4[36 15[41 84[{}9 66.4176
+/CMMI8 rf /Fh 200[35 3[35 35 35 5[55 43[{}5 66.4176 /CMR8
+rf /Fi 145[45 3[25 2[45 45 10[61 33[51 51 5[61 28[71
+71 17[71 1[71{}12 90.9091 /CMSY10 rf /Fj 133[42 1[52
+1[44 1[33 43 41 41 46 44 55 80 1[47 37 31 1[43 1[42 47
+39 39 13[53 56 69 1[58 3[62 77 9[68 2[71 45 1[25 25 58[{}30
+90.9091 /CMMI10 rf /Fk 133[44 1[44 1[44 1[44 44 44 2[44
+44 1[44 2[44 3[44 44 44 1[44 14[44 4[44 3[44 2[44 44
+1[44 67[{}20 83.022 /CMTT10 rf /Fl 134[44 44 60 44 46
+32 33 33 44 46 42 46 69 23 44 1[23 46 42 25 37 46 37
+46 42 9[85 62 1[60 46 61 1[57 2[76 2[43 1[62 65 54 57
+63 60 1[62 7[42 4[42 3[42 1[23 28 23 2[32 32 26[46 46
+12[{}49 83.022 /CMR10 rf /Fm 139[37 38 39 14[42 53 46
+31[72 65[{}7 83.022 /CMBX10 rf /Fn 130[48 1[48 48 48
+48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 48 48 48 48 48 1[48 1[48 1[48 48 2[48 48 48 48 48
+48 1[48 48 48 48 48 2[48 48 48 48 48 48 48 48 48 2[48
+48 1[48 3[48 1[48 48 48 48 48 48 48 48 48 48 1[48 48
+48 1[48 2[48 35[{}71 90.9091 /CMTT10 rf /Fo 128[45 45
+2[45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48
+28 25 51 45 28 40 51 40 51 45 3[25 45 25 56 68 1[93 68
+68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 69
+66 64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45 45
+45 45 25 30 25 71 45 35 35 25 1[76 2[45 19[76 51 51 53
+11[{}86 90.9091 /CMR10 rf /Fp 134[55 55 1[55 58 41 41
+43 55 58 52 58 87 29 1[32 29 58 52 32 48 58 46 58 51
+10[79 80 73 58 2[71 79 82 99 63 2[40 82 82 66 69 80 76
+74 79 7[52 52 52 52 52 52 52 52 52 52 1[29 35 3[41 41
+27[58 12[{}56 90.9091 /CMBX10 rf /Fq 134[71 71 97 1[75
+52 53 55 1[75 67 75 112 37 71 41 37 75 67 41 61 75 60
+75 65 10[102 103 94 75 100 1[92 101 105 128 81 2[50 105
+106 85 88 103 97 96 102 7[67 67 67 67 67 67 67 67 67
+2[37 45 3[52 52 40[{}55 119.552 /CMBX12 rf /Fr 133[43
+51 1[70 51 54 38 38 38 1[54 49 54 81 27 51 1[27 54 1[30
+43 54 43 54 49 6[60 5[70 54 72 2[76 3[76 1[35 73 1[64
+66 1[70 9[49 49 49 2[49 1[49 1[49 1[27 33 27 2[38 38
+40[{}44 99.6264 /CMR12 rf /Fs 138[73 2[51 3[73 1[36 2[36
+2[40 58 73 58 73 66 14[98 4[122 77[{}13 143.462 /CMR17
+rf end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+%%BeginPaperSize: a4
+a4
+%%EndPaperSize
+ end
+%%EndSetup
+%%Page: 1 1
+TeXDict begin 1 0 bop 1238 409 a Fs(cddlib)44 b(Reference)g(Man)l(ual)
+1635 661 y Fr(Komei)33 b(F)-8 b(ukuda)1235 777 y(Institute)34
+b(for)e(Op)s(erations)g(Researc)m(h)957 894 y(and)g(Institute)i(of)e
+(Theoretical)i(Computer)g(Science)997 1010 y(ETH)g(Zen)m(trum,)f
+(CH-8092)f(Zuric)m(h,)h(Switzerland)916 1219 y(\(cddlib)g(v)m(er.)45
+b(0.94,)32 b(man)m(ual)h(v)m(er.)45 b(F)-8 b(ebruary)32
+b(7,)h(2008\))0 1596 y Fq(Con)l(ten)l(ts)0 1800 y Fp(1)84
+b(In)m(tro)s(duction)3133 b(2)0 2004 y(2)84 b(P)m(olyhedra)36
+b(H-)f(and)g(V-F)-9 b(ormats)35 b(\(V)-9 b(ersion)35
+b(1999\))1670 b(3)0 2208 y(3)84 b(Basic)36 b(Ob)6 b(ject)34
+b(T)m(yp)s(es)h(\(Structures\))g(in)g(cddlib)1784 b(4)0
+2411 y(4)84 b(Library)35 b(F)-9 b(unctions)2892 b(7)136
+2524 y Fo(4.1)94 b(Library)30 b(Initialization)47 b(.)e(.)h(.)g(.)g(.)f
+(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
+h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)128
+b(7)136 2637 y(4.2)94 b(Core)31 b(F)-8 b(unctions)65
+b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
+g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
+(.)f(.)h(.)g(.)f(.)128 b(7)136 2750 y(4.3)94 b(Data)32
+b(Manipulations)86 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h
+(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
+h(.)g(.)f(.)h(.)g(.)f(.)83 b(11)345 2863 y(4.3.1)106
+b(Num)m(b)s(er)30 b(Assignmen)m(ts)24 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f
+(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)
+f(.)h(.)g(.)f(.)h(.)g(.)f(.)83 b(11)345 2976 y(4.3.2)106
+b(Arithmetic)32 b(Op)s(erations)e(for)g Fn(mytype)e Fo(Num)m(b)s(ers)47
+b(.)e(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
+(.)f(.)83 b(11)345 3089 y(4.3.3)106 b(Prede\014ned)29
+b(Constan)m(ts)94 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
+(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
+f(.)83 b(12)345 3202 y(4.3.4)106 b(Sign)30 b(Ev)-5 b(aluation)32
+b(and)d(Comparison)h(for)g Fn(mytype)f Fo(Num)m(b)s(ers)58
+b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)83
+b(12)345 3315 y(4.3.5)106 b(P)m(olyhedra)31 b(Data)h(Manipulation)k(.)
+46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
+g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)83 b(12)345 3428
+y(4.3.6)106 b(LP)30 b(Data)i(Manipulation)j(.)46 b(.)g(.)f(.)h(.)g(.)f
+(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)
+f(.)h(.)g(.)f(.)h(.)g(.)f(.)83 b(13)345 3540 y(4.3.7)106
+b(Matrix)32 b(Manipulation)k(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
+(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
+f(.)h(.)g(.)f(.)83 b(13)136 3653 y(4.4)94 b(Input/Output)29
+b(F)-8 b(unctions)47 b(.)f(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
+(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
+f(.)h(.)g(.)f(.)83 b(14)136 3766 y(4.5)94 b(Obsolete)32
+b(F)-8 b(unctions)49 b(.)d(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
+(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)
+f(.)h(.)g(.)f(.)h(.)g(.)f(.)83 b(15)136 3879 y(4.6)94
+b(Set)31 b(F)-8 b(unctions)31 b(in)f Fn(setoper)e Fo(library)66
+b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
+g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)83 b(15)0
+4083 y Fp(5)h(An)35 b(Extension)g(of)g(the)g(CDD)g(Library)g(in)g(GMP)g
+(mo)s(de)1393 b(16)0 4287 y(6)84 b(Examples)3219 b(16)0
+4491 y(7)84 b(Numerical)36 b(Accuracy)2724 b(16)0 4694
+y(8)84 b(Other)34 b(Useful)i(Co)s(des)2752 b(16)0 4898
+y(9)84 b(Co)s(des)35 b(Using)h(Cddlib)2740 b(17)1766
+5090 y Fm(Abstract)352 5234 y Fl(This)31 b(is)g(a)f(reference)h(man)n
+(ual)f(for)g(cddlib-094.)46 b(The)31 b(man)n(ual)g(describ)r(es)f(the)i
+(library)d(functions)j(and)227 5334 y(data)j(t)n(yp)r(es)h(implemen)n
+(ted)g(in)g(the)g(cddlib)h(C-library)d(whic)n(h)h(is)h(to)f(p)r(erform)
+h(fundamen)n(tal)f(p)r(olyhedral)227 5433 y(computations)24
+b(suc)n(h)h(as)f(represen)n(tation)f(con)n(v)n(ersions)f(and)i(linear)g
+(programming)e(in)j(b)r(oth)g(\015oating-p)r(oin)n(t)1926
+5682 y Fo(1)p eop end
+%%Page: 2 2
+TeXDict begin 2 1 bop 227 44 a Fl(and)38 b(GMP)f(rational)f(exact)h
+(arithmetic.)66 b(Please)37 b(read)f(the)i(accompan)n(ying)e(README)h
+(\014le)h(and)f(test)227 144 y(programs)26 b(to)h(complemen)n(t)h(the)g
+(man)n(ual.)352 243 y(The)37 b(new)h(functions)g(added)f(in)h(this)g(v)
+n(ersion)e(include)i Fk(dd)p 2295 243 27 4 v 30 w(MatrixCanonicaliz)o
+(e)31 b Fl(to)38 b(\014nd)g(a)f(non-)227 343 y(redundan)n(t)26
+b(prop)r(er)g(H-)g(or)f(V-represen)n(tation,)g Fk(dd)p
+1854 343 V 31 w(FindRelativeInt)o(eri)o(or)20 b Fl(to)26
+b(\014nd)h(a)f(relativ)n(e)f(in)n(terior)227 443 y(p)r(oin)n(t)40
+b(of)f(an)h(H-p)r(olyhedron,)h(and)e Fk(dd)p 1517 443
+V 31 w(ExistsRestricted)o(Fac)o(e)33 b Fl(\(F)-7 b(ark)i(as-t)n(yp)r(e)
+39 b(alternativ)n(e)f(theorem)227 542 y(v)n(eri\014er\))f(to)h(c)n(hec)
+n(k)g(the)g(existence)g(of)g(a)g(p)r(oin)n(t)g(satisfying)g(a)g(sp)r
+(eci\014ed)g(system)g(of)g(linear)g(inequalities)227
+642 y(p)r(ossibly)27 b(including)h(m)n(ultiple)g(strict)g
+(inequalities.)352 742 y(The)f(new)g(functions)h(are)e(particularly)g
+(imp)r(ortan)n(t)h(for)f(the)i(dev)n(elopmen)n(t)e(of)i(related)e(soft)
+n(w)n(are)g(pac)n(k-)227 841 y(ages)h(MinkSum)h(\(b)n(y)f(Ch.)37
+b(W)-7 b(eib)r(el\))29 b(and)f(Gfan)f(\(b)n(y)h(Anders)f(Jensen\),)0
+1126 y Fq(1)135 b(In)l(tro)t(duction)0 1329 y Fo(The)34
+b(program)h(cddlib)f(is)h(an)g(e\016cien)m(t)h(implemen)m(tation)g([16)
+r(])f(of)g(the)g(double)f(description)h(Metho)s(d)g([19)q(])g(for)0
+1442 y(generating)29 b(all)f(v)m(ertices)i(\(i.e.)41
+b(extreme)28 b(p)s(oin)m(ts\))g(and)f(extreme)h(ra)m(ys)g(of)g(a)g
+(general)g(con)m(v)m(ex)h(p)s(olyhedron)e(giv)m(en)0
+1555 y(b)m(y)j(a)h(system)g(of)f(linear)h(inequalities:)1032
+1750 y Fj(P)38 b Fo(=)25 b Fi(f)p Fj(x)h Fo(=)f(\()p
+Fj(x)1530 1764 y Fh(1)1570 1750 y Fj(;)15 b(x)1662 1764
+y Fh(2)1701 1750 y Fj(;)g(:)g(:)g(:)i(;)e(x)1955 1765
+y Fg(d)1996 1750 y Fo(\))2031 1712 y Fg(T)2111 1750 y
+Fi(2)25 b Fj(R)2267 1712 y Fg(d)2333 1750 y Fo(:)g Fj(b)20
+b Fi(\000)g Fj(Ax)26 b Fi(\025)f Fo(0)p Fi(g)0 1944 y
+Fo(where)37 b Fj(A)h Fo(is)f(a)h(giv)m(en)h Fj(m)24 b
+Fi(\002)h Fj(d)38 b Fo(real)g(matrix)g(and)f Fj(b)g Fo(is)h(a)f(giv)m
+(en)i(real)f Fj(m)p Fo(-v)m(ector.)64 b(In)37 b(the)g(mathematical)j
+(lan-)0 2057 y(guage,)e(the)e(computation)g(is)g(the)f(transformation)h
+(of)g(an)f Ff(H-r)-5 b(epr)g(esentation)45 b Fo(of)35
+b(a)h(con)m(v)m(ex)h(p)s(olytop)s(e)e(to)i(an)0 2170
+y Ff(V-r)-5 b(epr)g(esentation)p Fo(.)141 2283 y(cddlib)38
+b(is)h(a)h(C-library)e(v)m(ersion)h(of)h(the)f(previously)f(released)i
+(C-co)s(de)f(cdd/cdd+.)65 b(In)39 b(order)f(to)i(mak)m(e)0
+2396 y(this)31 b(library)g(v)m(ersion,)i(a)e(large)i(part)e(of)h(the)f
+(cdd)g(source)g(\(V)-8 b(ersion)33 b(0.61\))g(has)e(b)s(een)g
+(rewritten.)43 b(This)31 b(library)0 2509 y(v)m(ersion)j(is)f(more)g
+(\015exible)g(since)h(it)f(can)g(b)s(e)g(called)h(from)f(other)g
+(programs)g(in)f(C/C++.)48 b(Unlik)m(e)34 b(cdd/cdd+,)0
+2622 y(cddlib)c(can)h(handle)f(an)m(y)h(general)h(input)e(and)g(is)h
+(more)f(general.)43 b(F)-8 b(urtthermore,)31 b(additional)h(functions)e
+(ha)m(v)m(e)0 2735 y(b)s(een)g(written)g(to)h(extend)g(its)f
+(functionalit)m(y)-8 b(.)141 2848 y(One)31 b(useful)f(feature)h(of)g
+(cddlib/cdd/cdd+)e(is)i(its)h(capabilit)m(y)g(of)f(handling)f(the)h
+(dual)g(\(rev)m(erse\))h(problem)0 2961 y(without)38
+b(an)m(y)g(transformation)h(of)f(data.)64 b(The)37 b(dual)h
+(transformation)g(problem)g(of)g(a)g(V-represen)m(tation)i(to)0
+3073 y(a)e(minimal)g(H-represen)m(tation)h(and)e(is)h(often)g(called)h
+(the)f Ff(\(c)-5 b(onvex\))40 b(hul)5 b(l)40 b(pr)-5
+b(oblem)7 b Fo(.)64 b(More)38 b(explicitly)-8 b(,)42
+b(is)c(to)0 3186 y(obtain)27 b(a)f(linear)h(inequalit)m(y)g(represen)m
+(tation)h(of)e(a)h(con)m(v)m(ex)g(p)s(olyhedron)e(giv)m(en)j(as)e(the)g
+(Mink)m(o)m(wski)i(sum)d(of)h(the)0 3299 y(con)m(v)m(ex)32
+b(h)m(ull)e(of)h(a)g(\014nite)f(set)h(of)f(p)s(oin)m(ts)h(and)e(the)i
+(nonnegativ)m(e)h(h)m(ull)e(of)h(a)g(\014nite)f(set)h(of)f(p)s(oin)m
+(ts)h(in)f Fj(R)3532 3266 y Fg(d)3572 3299 y Fo(:)1007
+3494 y Fj(P)38 b Fo(=)25 b Fj(conv)s Fo(\()p Fj(v)1463
+3508 y Fh(1)1503 3494 y Fj(;)15 b(:)g(:)g(:)i(;)e(v)1749
+3508 y Fg(n)1796 3494 y Fo(\))21 b(+)f Fj(nonneg)s Fo(\()p
+Fj(r)2316 3508 y Fg(n)p Fh(+1)2453 3494 y Fj(;)15 b(:)g(:)g(:)h(;)f(r)
+2695 3508 y Fg(n)p Fh(+)p Fg(s)2830 3494 y Fo(\))p Fj(;)0
+3689 y Fo(where)30 b(the)g Ff(Minkowski)j(sum)g(of)g(two)g(subsets)g
+Fj(S)k Ff(and)d Fj(T)43 b Fo(of)31 b Fj(R)2184 3656 y
+Fg(d)2254 3689 y Fo(is)g(de\014ned)e(as)1277 3884 y Fj(S)c
+Fo(+)20 b Fj(T)38 b Fo(=)25 b Fi(f)p Fj(s)20 b Fo(+)g
+Fj(t)25 b Fi(j)p Fj(s)g Fi(2)g Fj(S)36 b Fo(and)29 b
+Fj(t)c Fi(2)g Fj(T)13 b Fi(g)p Fj(:)0 4078 y Fo(As)38
+b(w)m(e)h(see)g(in)f(this)g(man)m(ual,)j(the)e(computation)g(can)f(b)s
+(e)g(done)g(in)g(straigh)m(tforw)m(ard)h(manner.)64 b(Unlik)m(e)39
+b(the)0 4191 y(earlier)29 b(v)m(ersions)f(of)g(cdd/cdd+)f(that)h
+(assume)g(certain)h(regularit)m(y)g(conditions)f(for)g(input,)g(cddlib)
+f(is)h(designed)0 4304 y(to)40 b(do)f(a)g(correct)i(transformation)e
+(for)g(an)m(y)h(general)g(input.)66 b(The)39 b(user)f(m)m(ust)h(b)s(e)g
+(a)m(w)m(are)h(of)g(the)f(fact)h(that)0 4417 y(in)g(certain)i(cases)g
+(the)e(transformation)h(is)g(not)g(unique)f(and)g(there)h(are)g(p)s
+(olyhedra)e(with)i(in\014nitely)f(man)m(y)0 4530 y(represen)m(tations.)
+54 b(F)-8 b(or)35 b(example,)i(a)e(line)g(segmen)m(t)g(\(1-dimensional)
+h(p)s(olytop)s(e\))f(in)f Fj(R)3055 4497 y Fh(3)3129
+4530 y Fo(has)g(in\014nitely)g(man)m(y)0 4643 y(minimal)43
+b(H-represen)m(tations,)48 b(and)43 b(a)g(halfspace)h(in)f(the)g(same)h
+(space)g(has)e(in\014nitely)i(man)m(y)f(minimal)g(V-)0
+4756 y(represen)m(tations.)f(cddlib)29 b(generates)j(merely)f(one)g
+(minimal)f(represen)m(tation.)141 4869 y(cddlib)g(comes)h(with)e(an)h
+(LP)g(co)s(de)h(to)g(solv)m(e)g(the)f(general)i(linear)e(programming)g
+(\(LP\))g(problem)g(to)h(maxi-)0 4982 y(mize)g(\(or)g(minimize\))g(a)g
+(linear)f(function)h(o)m(v)m(er)g(p)s(olyhedron)e Fj(P)13
+b Fo(.)41 b(It)30 b(is)h(useful)e(mainly)i(for)f(solving)h(dense)f
+(LP's)0 5094 y(with)35 b(large)i Fj(m)f Fo(\(sa)m(y)-8
+b(,)39 b(up)34 b(to)j(few)e(h)m(undred)f(thousands\))h(and)g(small)i
+Fj(d)f Fo(\(sa)m(y)-8 b(,)38 b(up)d(to)i(100\).)58 b(It)36
+b(implemen)m(ts)g(a)0 5207 y(revised)30 b(dual)g(simplex)h(metho)s(d)e
+(that)i(up)s(dates)f(\()p Fj(d)21 b Fo(+)f(1\))h Fi(\002)f
+Fo(\()p Fj(d)g Fo(+)g(1\))31 b(matrix)g(for)f(a)h(piv)m(ot)g(op)s
+(eration.)141 5320 y(The)k(program)f(cddlib)h(has)f(an)h(I/O)g
+(routines)g(that)g(read)g(and)g(write)g(\014les)g(in)f
+Ff(Polyhe)-5 b(dr)g(a)40 b(format)45 b Fo(whic)m(h)0
+5433 y(w)m(as)32 b(de\014ned)f(b)m(y)h(Da)m(vid)h(Avis)f(and)f(the)h
+(author)g(in)f(1993,)k(and)c(has)h(b)s(een)f(up)s(dated)f(in)i(1997)i
+(and)d(1999.)47 b(The)1926 5682 y(2)p eop end
+%%Page: 3 3
+TeXDict begin 3 2 bop 0 44 a Fo(program)40 b(called)i(lrs)e(and)f
+(lrslib)i([2])g(dev)m(elop)s(ed)f(b)m(y)h(Da)m(vid)g(Avis)g(is)f(a)h
+(C-implemen)m(tation)h(of)e(the)h(rev)m(erse)0 157 y(searc)m(h)d
+(algorithm)g([4])f(for)g(the)g(same)h(en)m(umeration)f(purp)s(ose,)g
+(and)g(it)g(conforms)g(to)h(P)m(olyhedra)f(format)g(as)0
+270 y(w)m(ell.)k(Hop)s(efully)-8 b(,)30 b(this)g(compatibilit)m(y)h(of)
+f(the)f(t)m(w)m(o)i(programs)e(enables)h(users)e(to)i(use)g(b)s(oth)e
+(programs)h(for)g(the)0 383 y(same)35 b(input)e(\014les)h(and)g(to)h(c)
+m(ho)s(ose)h(whic)m(hev)m(er)e(is)h(useful)e(for)i(their)f(purp)s
+(oses.)51 b(F)-8 b(rom)35 b(our)e(exp)s(eriences)i(with)0
+496 y(relativ)m(ely)40 b(large)f(problems,)h(the)e(t)m(w)m(o)h(metho)s
+(ds)f(are)g(b)s(oth)f(useful)h(and)f(p)s(erhaps)f(complemen)m(tary)k
+(to)e(eac)m(h)0 609 y(other.)61 b(In)36 b(general,)k(the)d(program)g
+(cddlib)g(tends)f(to)i(b)s(e)e(e\016cien)m(t)j(for)e(highly)g
+(degenerate)h(inputs)e(and)g(the)0 722 y(program)30 b(rs)g(tends)g(to)h
+(b)s(e)f(e\016cien)m(t)i(for)e(nondegenerate)h(or)f(sligh)m(tly)i
+(degenerate)g(problems.)141 835 y(Although)39 b(the)h(program)f(can)g
+(b)s(e)g(used)f(for)h(nondegenerate)h(inputs,)h(it)e(migh)m(t)h(not)g
+(b)s(e)e(v)m(ery)i(e\016cien)m(t.)0 947 y(F)-8 b(or)38
+b(nondegenerate)f(inputs,)h(other)f(a)m(v)-5 b(ailable)40
+b(programs,)e(suc)m(h)f(as)g(the)g(rev)m(erse)h(searc)m(h)f(co)s(de)g
+(lrs)g(or)g(qh)m(ull)0 1060 y(\(dev)m(elop)s(ed)c(b)m(y)g(the)g
+(Geometry)g(Cen)m(ter\),)i(migh)m(t)e(b)s(e)f(more)h(e\016cien)m(t.)49
+b(See)32 b(Section)i(8)f(for)f(p)s(oin)m(ters)h(to)g(these)0
+1173 y(co)s(des.)38 b(The)22 b(pap)s(er)g([3])h(con)m(tains)h(man)m(y)f
+(in)m(teresting)h(results)e(on)g(p)s(olyhedral)g(computation)i(and)e
+(exp)s(erimen)m(tal)0 1286 y(results)30 b(on)g(cdd+,)g(lrs,)g(qh)m(ull)
+h(and)e(p)s(orta.)141 1399 y(This)d(program)h(can)h(b)s(e)e
+(distributed)g(freely)i(under)d(the)j(GNU)f(GENERAL)h(PUBLIC)e
+(LICENSE.)g(Please)0 1512 y(read)k(the)h(\014le)f(COPYING)g(carefully)h
+(b)s(efore)f(using.)141 1625 y(I)e(will)g(not)g(tak)m(e)h(an)m(y)f
+(resp)s(onsibilit)m(y)g(of)g(an)m(y)g(problems)f(y)m(ou)h(migh)m(t)g
+(ha)m(v)m(e)h(with)f(this)f(program.)40 b(But)28 b(I)f(will)0
+1738 y(b)s(e)37 b(glad)h(to)g(receiv)m(e)h(bug)d(rep)s(orts)h(or)g
+(suggestions)h(at)g(the)g(e-mail)g(addresses)f(ab)s(o)m(v)m(e.)63
+b(If)37 b(cddlib)f(turns)g(out)0 1851 y(to)d(b)s(e)f(useful,)g(please)h
+(kindly)f(inform)g(me)g(of)h(what)f(purp)s(oses)f(cdd)h(has)g(b)s(een)f
+(used)h(for.)46 b(I)33 b(will)f(b)s(e)g(happ)m(y)g(to)0
+1964 y(include)h(a)h(list)g(of)f(applications)i(in)e(future)f
+(distribution)h(if)g(I)g(receiv)m(e)j(enough)d(replies.)49
+b(The)33 b(most)h(p)s(o)m(w)m(erful)0 2077 y(supp)s(ort)29
+b(for)h(free)g(soft)m(w)m(are)i(dev)m(elopmen)m(t)g(is)e(user's)g
+(appreciation)i(and)d(collab)s(oration.)0 2359 y Fq(2)135
+b(P)l(olyhedra)45 b(H-)g(and)g(V-F)-11 b(ormats)44 b(\(V)-11
+b(ersion)46 b(1999\))0 2645 y Fo(Ev)m(ery)34 b(con)m(v)m(ex)h(p)s
+(olyhedron)d(has)h(t)m(w)m(o)i(represen)m(tations,)g(one)f(as)g(the)f
+(in)m(tersection)i(of)f(\014nite)f(halfspaces)h(and)0
+2757 y(the)h(other)g(as)g(Mink)m(o)m(wski)h(sum)e(of)i(the)f(con)m(v)m
+(ex)h(h)m(ull)f(of)g(\014nite)g(p)s(oin)m(ts)g(and)f(the)h(nonnegativ)m
+(e)i(h)m(ull)e(of)g(\014nite)0 2870 y(directions.)41
+b(These)30 b(are)h(called)h(H-represen)m(tation)g(and)d(V-represen)m
+(tation,)k(resp)s(ectiv)m(ely)-8 b(.)141 2983 y(Naturally)32
+b(there)g(are)f(t)m(w)m(o)i(basic)e(P)m(olyhedra)h(formats,)g(H-format)
+g(for)e(H-represen)m(tation)j(and)e(V-format)0 3096 y(for)h(V-represen)
+m(tation.)49 b(These)33 b(t)m(w)m(o)h(formats)f(are)g(designed)f(to)h
+(b)s(e)f(almost)i(indistinguishable,)f(and)f(in)g(fact,)0
+3209 y(one)h(can)h(almost)g(pretend)e(one)h(for)g(the)g(other.)49
+b(There)32 b(is)h(some)h(asymmetry)f(arising)g(from)f(the)h(asymmetry)0
+3322 y(of)e(t)m(w)m(o)g(represen)m(tations.)141 3435
+y(First)37 b(w)m(e)g(start)g(with)f(the)h(H-represen)m(tation.)60
+b(Let)37 b Fj(A)g Fo(b)s(e)f(an)g Fj(m)24 b Fi(\002)g
+Fj(d)37 b Fo(matrix,)h(and)e(let)i Fj(b)e Fo(b)s(e)g(a)h(column)0
+3548 y Fj(m)p Fo(-v)m(ector.)60 b(The)36 b(P)m(olyhedra)g(format)h(\()p
+Ff(H-format)g Fo(\))g(of)f(the)g(system)72 b Fj(b)24
+b Fi(\000)f Fj(Ax)36 b Fi(\025)e Fp(0)72 b Fo(of)36 b
+Fj(m)g Fo(inequalities)h(in)f Fj(d)0 3661 y Fo(v)-5 b(ariables)31
+b Fj(x)25 b Fo(=)g(\()p Fj(x)637 3675 y Fh(1)677 3661
+y Fj(;)15 b(x)769 3675 y Fh(2)809 3661 y Fj(;)g(:)g(:)g(:)h(;)f(x)1062
+3676 y Fg(d)1103 3661 y Fo(\))1138 3628 y Fg(T)1224 3661
+y Fo(is)p 141 3808 1178 4 v 191 3887 a(v)-5 b(arious)30
+b(commen)m(ts)191 4000 y Fp(H-represen)m(tation)191 4113
+y(\(linearit)m(y)k Fj(t)60 b(i)770 4127 y Fh(1)870 4113
+y Fj(i)901 4127 y Fh(2)1001 4113 y Fj(:)15 b(:)g(:)61
+b(i)1198 4127 y Fg(t)1228 4113 y Fp(\))191 4226 y(b)s(egin)191
+4339 y Fj(m)99 b(d)21 b Fo(+)f(1)100 b(n)m(um)m(b)s(ert)m(yp)s(e)211
+4452 y Fj(b)153 b Fi(\000)p Fj(A)191 4564 y Fp(end)191
+4677 y Fo(v)-5 b(arious)30 b(options)p 141 4715 V 0 4869
+a(where)38 b(n)m(um)m(b)s(ert)m(yp)s(e)f(can)i(b)s(e)f(one)h(of)g(in)m
+(teger,)j(rational)e(or)e(real.)66 b(When)38 b(rational)i(t)m(yp)s(e)f
+(is)f(selected,)k(eac)m(h)0 4982 y(comp)s(onen)m(t)26
+b(of)h Fj(b)f Fo(and)f Fj(A)h Fo(can)h(b)s(e)e(sp)s(eci\014ed)h(b)m(y)g
+(the)g(usual)g(in)m(teger)h(expression)f(or)g(b)m(y)g(the)g(rational)i
+(expression)0 5094 y(\\)p Fj(p=q)s Fo(")41 b(or)e(\\)p
+Fi(\000)p Fj(p=q)s Fo(")i(where)e Fj(p)h Fo(and)f Fj(q)j
+Fo(are)f(arbitrary)e(long)i(p)s(ositiv)m(e)f(in)m(tegers)h(\(see)g(the)
+f(example)h(input)d(\014le)0 5207 y(rational.ine\).)75
+b(In)40 b(the)i(1997)h(format,)h(w)m(e)e(in)m(tro)s(duced)e
+(\\H-represen)m(tation")k(whic)m(h)c(m)m(ust)h(app)s(ear)g(b)s(efore)0
+5320 y(\\b)s(egin".)f(There)27 b(w)m(as)g(one)g(restriction)h(in)f(the)
+g(old)g(p)s(olyhedra)f(format)h(\(b)s(efore)g(1997\):)42
+b(the)27 b(last)h Fj(d)f Fo(ro)m(ws)g(m)m(ust)0 5433
+y(determine)j(a)h(v)m(ertex)h(of)e Fj(P)13 b Fo(.)41
+b(This)30 b(is)g(obsolete)i(no)m(w.)1926 5682 y(3)p eop
+end
+%%Page: 4 4
+TeXDict begin 4 3 bop 141 44 a Fo(In)30 b(the)i(new)e(1999)j(format,)f
+(w)m(e)f(added)f(the)i(p)s(ossibilit)m(y)f(of)g(sp)s(ecifying)g
+Fp(linearit)m(y)q Fo(.)43 b(This)30 b(means)h(that)h(for)0
+157 y(H-represen)m(tation,)40 b(some)d(of)f(the)h(input)f(ro)m(ws)g
+(can)h(b)s(e)f(sp)s(eci\014ed)g(as)h Fp(equalities)p
+Fo(:)52 b Fj(b)3036 171 y Fg(i)3060 181 y Fe(j)3121 157
+y Fi(\000)24 b Fj(A)3284 171 y Fg(i)3308 181 y Fe(j)3345
+157 y Fj(x)36 b Fo(=)f(0)72 b(for)37 b(all)0 270 y Fj(j)31
+b Fo(=)25 b(1)p Fj(;)15 b Fo(2)p Fj(;)g(:)g(:)g(:)j(;)d(t)p
+Fo(.)41 b(The)30 b(linearit)m(y)h(line)g(ma)m(y)g(b)s(e)f(omitted)h(if)
+g(there)f(are)h(no)f(equalities.)141 383 y(Option)h(lines)g(can)g(b)s
+(e)g(used)f(to)i(con)m(trol)g(computation)g(of)g(a)f(sp)s(eci\014c)g
+(program.)42 b(In)31 b(particular)g(b)s(oth)f(cdd)0 496
+y(and)39 b(lrs)g(use)g(the)h(option)g(lines)g(to)g(represen)m(t)f(a)h
+(linear)g(ob)5 b(jectiv)m(e)42 b(function.)67 b(See)40
+b(the)g(attac)m(hed)h(LP)e(\014les,)0 609 y(samplelp*.ine.)141
+813 y(Next)25 b(w)m(e)f(de\014ne)f(P)m(olyhedra)h Ff(V-format)p
+Fo(.)39 b(Let)24 b Fj(P)37 b Fo(b)s(e)23 b(represen)m(ted)h(b)m(y)f
+Fj(n)g Fo(gerating)i(p)s(oin)m(ts)f(and)f Fj(s)g Fo(generating)0
+926 y(directions)30 b(\(ra)m(ys\))h(as)f Fj(P)39 b Fo(=)24
+b Fj(conv)s Fo(\()p Fj(v)1244 940 y Fh(1)1285 926 y Fj(;)15
+b(:)g(:)g(:)h(;)f(v)1530 940 y Fg(n)1578 926 y Fo(\))k(+)g
+Fj(nonneg)s Fo(\()p Fj(r)2095 940 y Fg(n)p Fh(+1)2232
+926 y Fj(;)c(:)g(:)g(:)i(;)e(r)2475 940 y Fg(n)p Fh(+)p
+Fg(s)2610 926 y Fo(\).)41 b(Then)28 b(the)i(P)m(olyhedra)h(V-format)0
+1039 y(for)f Fj(P)43 b Fo(is)p 141 1163 1202 4 v 191
+1242 a(v)-5 b(arious)30 b(commen)m(ts)191 1355 y Fp(V-represen)m
+(tation)191 1468 y Fo(\()p Fp(linearit)m(y)35 b Fj(t)60
+b(i)765 1482 y Fh(1)865 1468 y Fj(i)896 1482 y Fh(2)996
+1468 y Fj(:)15 b(:)g(:)61 b(i)1193 1482 y Fg(t)1258 1468
+y Fo(\))191 1581 y Fp(b)s(egin)191 1694 y Fj(n)20 b Fo(+)g
+Fj(s)99 b(d)20 b Fo(+)g(1)100 b(n)m(um)m(b)s(ert)m(yp)s(e)272
+1807 y(1)182 b Fj(v)543 1821 y Fh(1)282 1900 y Fo(.)282
+1934 y(.)282 1967 y(.)499 1900 y(.)499 1934 y(.)499 1967
+y(.)272 2080 y(1)g Fj(v)543 2094 y Fg(n)272 2193 y Fo(0)g
+Fj(r)540 2207 y Fg(n)p Fh(+1)282 2286 y Fo(.)282 2319
+y(.)282 2352 y(.)499 2286 y(.)499 2319 y(.)499 2352 y(.)272
+2465 y(0)g Fj(r)540 2479 y Fg(n)p Fh(+)p Fg(s)191 2578
+y Fp(end)191 2691 y Fo(v)-5 b(arious)30 b(options)p 141
+2728 V 0 2891 a(Here)42 b(w)m(e)h(do)e(not)h(require)g(that)g(v)m
+(ertices)i(and)d(ra)m(ys)h(are)g(listed)h(separately;)49
+b(they)42 b(can)g(app)s(ear)f(mixed)h(in)0 3004 y(arbitrary)30
+b(order.)141 3117 y(Linearit)m(y)i(for)f(V-represen)m(tation)h(sp)s
+(eci\014es)f(a)g(subset)g(of)g(generators)h(whose)e(co)s(e\016cien)m
+(ts)j(are)e(relaxed)h(to)0 3230 y(b)s(e)f Fp(free)p Fo(:)44
+b(for)32 b(all)g Fj(j)i Fo(=)27 b(1)p Fj(;)15 b Fo(2)p
+Fj(;)g(:)g(:)g(:)j(;)d(t)p Fo(,)33 b(the)f Fj(k)f Fo(=)d
+Fj(i)1592 3244 y Fg(j)1629 3230 y Fo(th)j(generator)i(\()p
+Fj(v)2231 3245 y Fg(k)2306 3230 y Fo(or)f Fj(r)2460 3245
+y Fg(k)2535 3230 y Fo(whic)m(hev)m(er)g(is)g(the)h Fj(i)3241
+3244 y Fg(j)3277 3230 y Fo(th)f(generator\))i(is)0 3343
+y(a)c(free)h(generator.)41 b(This)30 b(means)g(for)f(eac)m(h)j(suc)m(h)
+d(a)i(ra)m(y)f Fj(r)1995 3358 y Fg(k)2038 3343 y Fo(,)g(the)h(line)f
+(generated)h(b)m(y)f Fj(r)3002 3358 y Fg(k)3075 3343
+y Fo(is)g(in)f(the)i(p)s(olyhedron,)0 3456 y(and)26 b(for)h(eac)m(h)h
+(suc)m(h)e(a)h(v)m(ertex)h Fj(v)1099 3471 y Fg(k)1142
+3456 y Fo(,)g(its)f(co)s(e\016cien)m(t)i(is)d(no)h(longer)g(nonnegativ)
+m(e)i(but)d(still)i(the)f(co)s(e\016cien)m(ts)h(for)f(all)0
+3569 y Fj(v)44 3583 y Fg(i)72 3569 y Fo('s)i(m)m(ust)g(sum)f(up)g(to)i
+(one.)41 b(It)29 b(is)g(highly)g(unlik)m(ely)h(that)f(one)h(needs)e(to)
+i(use)f(linearit)m(y)h(for)f(v)m(ertex)h(generators,)0
+3681 y(and)g(it)h(is)f(de\014ned)f(mostly)i(for)f(formalit)m(y)-8
+b(.)141 3794 y(When)33 b(the)h(represen)m(tation)g(statemen)m(t,)i
+(either)e(\\H-represen)m(tation")h(or)f(\\V-represen)m(tation",)i(is)e
+(omit-)0 3907 y(ted,)d(the)f(former)g(\\H-represen)m(tation")j(is)e
+(assumed.)141 4020 y(It)g(is)f(strongly)h(suggested)g(to)g(use)f(the)h
+(follo)m(wing)g(rule)g(for)f(naming)g(H-format)h(\014les)f(and)g
+(V-format)h(\014les:)0 4198 y Fp(\(a\))45 b Fo(use)30
+b(the)g(\014lename)h(extension)g(\\.ine")g(for)g(H-\014les)f(\(where)h
+(ine)f(stands)g(for)g(inequalities\),)i(and)0 4381 y
+Fp(\(b\))45 b Fo(use)30 b(the)g(\014lename)h(extension)g(\\.ext")h(for)
+e(V-\014les)h(\(where)f(ext)i(stands)d(for)h(extreme)i(p)s(oin)m(ts/ra)
+m(ys\).)0 4666 y Fq(3)135 b(Basic)45 b(Ob)7 b(ject)45
+b(T)l(yp)t(es)g(\(Structures\))g(in)g(cddlib)0 4869 y
+Fo(Here)g(are)f(the)g(t)m(yp)s(es)g(\(de\014ned)f(in)h(cddt)m(yp)s
+(es.h\))g(that)g(are)h(imp)s(ortan)m(t)f(for)g(the)g(cddlib)g(user.)81
+b(The)43 b(most)0 4982 y(imp)s(ortan)m(t)36 b(one,)i
+Fn(dd)p 736 4982 29 4 v 34 w(MatrixType)p Fo(,)d(is)h(to)g(store)h(a)f
+(P)m(olyhedra)h(data)f(in)g(a)g(straigh)m(tforw)m(ard)h(manner.)57
+b(Once)0 5094 y(the)32 b(user)f(sets)i(up)e(a)h(\(p)s(oin)m(ter)g(to\))
+i Fn(dd)p 1343 5094 V 33 w(MatrixType)c Fo(data,)j(he/she)f(can)g(load)
+h(the)f(data)h(to)f(an)g(in)m(ternal)h(data)0 5207 y(t)m(yp)s(e)h(\()p
+Fn(dd)p 345 5207 V 34 w(PolyhedraType)p Fo(\))c(b)m(y)j(using)h
+(functions)f(describ)s(ed)f(in)h(the)h(next)g(section,)h(and)e(apply)g
+(the)h(double)0 5320 y(descrition)j(metho)s(d)e(to)i(get)g(another)f
+(represen)m(tation.)59 b(As)36 b(an)g(option)h Fn(dd)p
+2680 5320 V 33 w(MatrixType)d Fo(can)i(sa)m(v)m(e)i(a)e(linear)0
+5433 y(ob)5 b(jectiv)m(e)32 b(function)e(to)i(b)s(e)d(used)h(b)m(y)g(a)
+h(linear)g(programming)f(solv)m(er.)1926 5682 y(4)p eop
+end
+%%Page: 5 5
+TeXDict begin 5 4 bop 141 44 a Fo(The)40 b(t)m(w)m(o)h(dimensional)f
+(arra)m(y)h(data)g(in)f(the)g(structure)g Fn(dd)p 2278
+44 29 4 v 33 w(MatrixType)e Fo(is)i Fn(dd)p 3026 44 V
+34 w(Amatrix)e Fo(whose)i(com-)0 157 y(p)s(onen)m(ts)c(are)h(of)f(t)m
+(yp)s(e)g Fn(mytype)p Fo(.)57 b(The)36 b(t)m(yp)s(e)h(m)m(yt)m(yp)s(e)f
+(is)h(set)f(to)h(b)s(e)f(either)h(the)f(rational)i(t)m(yp)s(e)e
+Fn(mpq)p 3550 157 V 34 w(t)g Fo(of)g(the)0 270 y(GNU)f(MP)f(Library)f
+(or)h(the)h(C)f(double)f(arra)m(y)i(of)f(size)h(1.)53
+b(This)33 b(abstract)i(t)m(yp)s(e)f(allo)m(ws)i(us)d(to)i(write)f(a)h
+(single)0 383 y(program)f(that)h(can)g(b)s(e)e(compiled)i(with)f(the)g
+(t)m(w)m(o)i(or)e(more)h(di\013eren)m(t)f(arithmetics,)j(see)e(example)
+g(programs)0 496 y(suc)m(h)d(as)h(simplecdd.c,)g(testlp*.c)h(and)e
+(testcdd*.c)i(in)e(the)h Fn(src)e Fo(and)h Fn(src-gmp)e
+Fo(sub)s(directories)i(of)h(the)f(source)0 609 y(distribution.)141
+722 y(There)42 b(is)h(another)g(data)g(t)m(yp)s(e)g(that)g(is)g(used)f
+(v)m(ery)h(often,)j Fn(dd)p 2419 722 V 34 w(SetFamilyType)p
+Fo(.)74 b(This)42 b(is)h(to)g(store)g(a)0 835 y(family)35
+b(of)h(subsets)e(of)h(a)g(\014nite)g(set.)55 b(Suc)m(h)35
+b(a)g(family)h(can)f(represen)m(t)g(the)g(incidence)h(relations)g(b)s
+(et)m(w)m(een)f(the)0 947 y(set)f(of)g(extreme)h(p)s(oin)m(ts)e(and)g
+(the)h(set)g(of)g(facets)h(of)f(a)g(p)s(olyhedron.)49
+b(Also,)36 b(it)e(can)g(represen)m(t)f(a)h(graph)g(struc-)0
+1060 y(ture)g(b)m(y)g(listing)i(the)e(set)h(of)f(v)m(ertices)i(adjacen)
+m(t)g(to)f(eac)m(h)h(v)m(ertex)f(\(i.e.)54 b(the)34 b(adjacency)i
+(list\).)53 b(T)-8 b(o)35 b(implemen)m(t)0 1173 y Fn(dd)p
+102 1173 V 34 w(SetFamilyType)p Fo(,)26 b(w)m(e)j(use)f(a)h(separate)h
+(set)g(library)e(called)i Fn(setoper)p Fo(,)d(that)j(handles)e(the)h
+(basic)g(set)g(op)s(era-)0 1286 y(tions,)i(This)f(library)g(is)g
+(brie\015y)f(in)m(tro)s(duced)h(in)g(Section)i(4.6.)0
+1594 y Fn(#define)46 b(dd_FALSE)f(0)0 1707 y(#define)h(dd_TRUE)g(1)0
+1933 y(typedef)g(long)g(dd_rowrange;)0 2046 y(typedef)g(long)g
+(dd_colrange;)0 2159 y(typedef)g(long)g(dd_bigrange;)0
+2385 y(typedef)g(set_type)f(dd_rowset;)141 b(/*)47 b(set_type)f
+(defined)f(in)j(setoper.h)d(*/)0 2498 y(typedef)h(set_type)f
+(dd_colset;)0 2610 y(typedef)h(long)g(*dd_rowindex;)0
+2723 y(typedef)g(int)h(*dd_rowflag;)0 2836 y(typedef)f(long)g
+(*dd_colindex;)0 2949 y(typedef)g(mytype)g(**dd_Amatrix;)92
+b(/*)47 b(mytype)f(is)h(either)f(GMP)h(mpq_t)g(or)g(1-dim)f(double)g
+(array.)g(*/)0 3062 y(typedef)g(mytype)g(*dd_Arow;)0
+3175 y(typedef)g(set_type)f(*dd_SetVector;)0 3401 y(typedef)h(enum)g({)
+95 3514 y(dd_Real,)g(dd_Rational,)e(dd_Integer,)h(dd_Unknown)0
+3627 y(})i(dd_NumberType;)0 3852 y(typedef)f(enum)g({)95
+3965 y(dd_Inequality,)e(dd_Generator,)h(dd_Unspecified)0
+4078 y(})i(dd_RepresentationType;)0 4304 y(typedef)f(enum)g({)95
+4417 y(dd_MaxIndex,)f(dd_MinIndex,)f(dd_MinCutoff,)h(dd_MaxCutoff,)f
+(dd_MixCutoff,)143 4530 y(dd_LexMin,)h(dd_LexMax,)g(dd_RandomRow)0
+4643 y(})i(dd_RowOrderType;)0 4869 y(typedef)f(enum)g({)95
+4982 y(dd_InProgress,)e(dd_AllFound,)h(dd_RegionEmpty)0
+5094 y(})i(dd_CompStatusType;)0 5320 y(typedef)f(enum)g({)95
+5433 y(dd_DimensionTooLarge,)c(dd_ImproperInputFormat,)1926
+5682 y Fo(5)p eop end
+%%Page: 6 6
+TeXDict begin 6 5 bop 95 44 a Fn(dd_NegativeMatrixSize,)42
+b(dd_EmptyVrepresentation,)95 157 y(dd_IFileNotFound,)i
+(dd_OFileNotOpen,)f(dd_NoLPObjective,)95 270 y(dd_NoRealNumberSupport,)
+f(dd_NoError)0 383 y(})47 b(dd_ErrorType;)0 609 y(typedef)f(enum)g({)95
+722 y(dd_LPnone=0,)f(dd_LPmax,)g(dd_LPmin)0 835 y(})i
+(dd_LPObjectiveType;)0 1060 y(typedef)f(enum)g({)95 1173
+y(dd_LPSundecided,)e(dd_Optimal,)h(dd_Inconsistent,)e
+(dd_DualInconsistent,)95 1286 y(dd_StrucInconsistent,)f
+(dd_StrucDualInconsistent,)95 1399 y(dd_Unbounded,)j(dd_DualUnbounded)0
+1512 y(})i(dd_LPStatusType;)0 1738 y(typedef)f(struct)g(matrixdata)f
+(*dd_MatrixPtr;)0 1851 y(typedef)h(struct)g(matrixdata)f({)95
+1964 y(dd_rowrange)g(rowsize;)95 2077 y(dd_rowset)h(linset;)191
+2189 y(/*)95 b(a)47 b(subset)f(of)i(rows)e(of)h(linearity)f(\(ie,)g
+(generators)f(of)382 2302 y(linearity)g(space)h(for)h
+(V-representation,)c(and)k(equations)382 2415 y(for)g
+(H-representation.)c(*/)95 2528 y(dd_colrange)i(colsize;)95
+2641 y(dd_RepresentationType)d(representation;)95 2754
+y(dd_NumberType)j(numbtype;)95 2867 y(dd_Amatrix)g(matrix;)95
+2980 y(dd_LPObjectiveType)e(objective;)95 3093 y(dd_Arow)j(rowvec;)0
+3206 y(})95 b(dd_MatrixType;)0 3431 y(typedef)46 b(struct)g(setfamily)f
+(*dd_SetFamilyPtr;)0 3544 y(typedef)h(struct)g(setfamily)f({)95
+3657 y(dd_bigrange)g(famsize;)95 3770 y(dd_bigrange)g(setsize;)95
+3883 y(dd_SetVector)g(set;)0 3996 y(})i(dd_SetFamilyType;)0
+4222 y(typedef)f(struct)g(lpsolution)f(*dd_LPSolutionPtr;)0
+4335 y(typedef)h(struct)g(lpsolution)f({)95 4448 y(dd_DataFileType)f
+(filename;)95 4561 y(dd_LPObjectiveType)f(objective;)95
+4673 y(dd_LPSolverType)h(solver;)95 4786 y(dd_rowrange)h(m;)95
+4899 y(dd_colrange)g(d;)95 5012 y(dd_NumberType)g(numbtype;)95
+5238 y(dd_LPStatusType)f(LPS;)94 b(/*)48 b(the)f(current)e(solution)h
+(status)g(*/)95 5351 y(mytype)h(optvalue;)93 b(/*)47
+b(optimal)f(value)g(*/)1926 5682 y Fo(6)p eop end
+%%Page: 7 7
+TeXDict begin 7 6 bop 95 44 a Fn(dd_Arow)46 b(sol;)142
+b(/*)48 b(primal)e(solution)f(*/)95 157 y(dd_Arow)h(dsol;)94
+b(/*)48 b(dual)e(solution)g(*/)95 270 y(dd_colindex)f(nbindex;)93
+b(/*)48 b(current)d(basis)i(represented)e(by)i(nonbasic)e(indices)h(*/)
+95 383 y(dd_rowrange)f(re;)95 b(/*)47 b(row)g(index)f(as)h(a)h
+(certificate)d(in)i(the)g(case)f(of)i(inconsistency)c(*/)95
+496 y(dd_colrange)h(se;)95 b(/*)47 b(col)g(index)f(as)h(a)h
+(certificate)d(in)i(the)g(case)f(of)i(dual)e(inconsistency)e(*/)95
+609 y(long)j(pivots[5];)143 722 y(/*)g(pivots[0]=setup)d(\(to)j(find)g
+(a)g(basis\),)f(pivots[1]=PhaseI)d(or)k(Criss-Cross,)286
+835 y(pivots[2]=Phase)d(II,)j(pivots[3]=Anticycling,)42
+b(pivots[4]=GMP)i(postopt)93 b(*/)95 947 y(long)47 b(total_pivots;)0
+1060 y(})g(dd_LPSolutionType;)0 1455 y Fq(4)135 b(Library)45
+b(F)-11 b(unctions)0 1658 y Fo(Here)24 b(w)m(e)g(list)g(some)f(of)h
+(the)f(most)h(imp)s(ortan)m(t)f(library)g(functions/pro)s(cedures.)37
+b(W)-8 b(e)25 b(use)e(the)g(follo)m(wing)i(con)m(v)m(en-)0
+1771 y(tion:)42 b Fn(poly)29 b Fo(is)i(of)g(t)m(yp)s(e)g
+Fn(dd)p 947 1771 29 4 v 34 w(PolyhedraPtr)p Fo(,)c Fn(matrix)p
+Fo(,)j Fn(matrix1)e Fo(and)i Fn(matrix2)f Fo(are)i(of)g(t)m(yp)s(e)g
+Fn(dd)p 3415 1771 V 34 w(MatrixPtr)p Fo(,)0 1884 y Fn(matrixP)p
+Fo(,)40 b(of)h(t)m(yp)s(e)g Fn(dd)p 832 1884 V 34 w(MatrixPtr*)p
+Fo(,)h Fn(err)e Fo(is)h(of)h(t)m(yp)s(e)f Fn(dd)p 2125
+1884 V 34 w(ErrorType*)p Fo(,)g Fn(ifile)f Fo(and)h Fn(ofile)e
+Fo(are)j(of)f(t)m(yp)s(e)0 1996 y Fn(char*)p Fo(,)29
+b Fn(A)h Fo(is)g(of)g(t)m(yp)s(e)g Fn(dd)p 872 1996 V
+34 w(Amatrix)p Fo(,)e Fn(point)h Fo(and)g Fn(vector)f
+Fo(are)j(of)f(t)m(yp)s(e)g Fn(dd)p 2611 1996 V 34 w(Arow)p
+Fo(,)f Fn(d)g Fo(is)h(of)h(t)m(yp)s(e)f Fn(dd)p 3463
+1996 V 34 w(colrange)p Fo(,)0 2109 y Fn(m)37 b Fo(and)h
+Fn(i)f Fo(are)h(of)g(t)m(yp)s(e)g Fn(dd)p 939 2109 V
+34 w(rowrange)p Fo(,)g Fn(x)f Fo(is)h(of)g(t)m(yp)s(e)g
+Fn(mytype)p Fo(,)g Fn(a)g Fo(is)f(of)h(t)m(yp)s(e)g Fn(signed)47
+b(long)f(integer)p Fo(,)38 b Fn(b)g Fo(is)0 2222 y(of)33
+b(t)m(yp)s(e)f Fn(double)p Fo(,)g Fn(set)f Fo(is)i(of)f(t)m(yp)s(e)h
+Fn(set)p 1388 2222 V 34 w(type)p Fo(.)45 b(Also,)34 b
+Fn(setfam)d Fo(is)i(of)f(t)m(yp)s(e)h Fn(dd)p 2738 2222
+V 34 w(SetFamilyPtr)p Fo(,)c Fn(lp)j Fo(is)h(of)f(t)m(yp)s(e)0
+2335 y Fn(dd)p 102 2335 V 34 w(LPPtr)p Fo(,)h Fn(lps)g
+Fo(is)g(of)h(t)m(yp)s(e)g Fn(dd)p 1116 2335 V 34 w(LPSolutionPtr)p
+Fo(,)d Fn(solver)g Fo(is)j(of)g(t)m(yp)s(e)f Fn(dd)p
+2654 2335 V 34 w(LPSolverType)p Fo(,)f Fn(roworder)f
+Fo(is)i(of)0 2448 y(t)m(yp)s(e)e Fn(dd)p 307 2448 V 33
+w(RowOrderType)p Fo(.)0 2687 y Fd(4.1)112 b(Library)39
+b(Initialization)0 2858 y Fn(void)47 b(dd)p 341 2858
+V 33 w(set)p 518 2858 V 34 w(global)p 840 2858 V 33 w
+(constants\(void\))41 b Fo(:)227 2971 y(This)31 b(is)g(to)h(set)g(the)f
+(global)h(constan)m(ts)h(suc)m(h)e(as)g Fn(dd)p 2032
+2971 V 34 w(zero)p Fo(,)f Fn(dd)p 2409 2971 V 34 w(purezero)f
+Fo(and)i Fn(dd)p 3130 2971 V 34 w(one)f Fo(for)h(sign)g(recog-)227
+3084 y(nition)h(and)g(basic)g(arithmetic)h(op)s(erations.)46
+b(Ev)m(ery)32 b(program)g(to)h(use)f(cddlib)f(m)m(ust)h(call)h(this)f
+(function)227 3197 y(b)s(efore)37 b(doing)g(an)m(y)h(computation.)62
+b(Just)36 b(call)j(this)e(once.)61 b(See)38 b(Section)g(4.3.3)h(for)d
+(the)i(de\014nitions)e(of)227 3310 y(constan)m(ts.)0
+3487 y Fn(void)47 b(dd)p 341 3487 V 33 w(free)p 566 3487
+V 34 w(global)p 888 3487 V 32 w(constants\(void\))42
+b Fo(:)227 3600 y(This)e(is)g(to)h(free)f(the)g(global)i(constan)m(ts.)
+71 b(This)39 b(should)h(b)s(e)f(called)i(when)f(one)g(do)s(es)g(not)g
+(use)g(cddlib)227 3713 y(functions)30 b(an)m(ymore.)0
+3951 y Fd(4.2)112 b(Core)38 b(F)-9 b(unctions)0 4123
+y Fo(There)33 b(are)i(t)m(w)m(o)g(t)m(yp)s(es)f(of)g(core)g(functions)g
+(in)f(cddlib.)51 b(The)33 b(\014rst)g(t)m(yp)s(e)h(runs)f(the)h(double)
+f(description)h(\(DD\))0 4236 y(algorithm)28 b(and)f(do)s(es)g(a)h
+(represen)m(tation)h(con)m(v)m(ersion)f(of)g(a)g(sp)s(eci\014ed)f(p)s
+(olyhedron.)38 b(The)27 b(standard)g(header)g(for)0 4349
+y(this)32 b(t)m(yp)s(e)g(is)g Fn(dd)p 580 4349 V 34 w(DD*)p
+Fo(.)45 b(The)32 b(second)g(t)m(yp)s(e)g(solv)m(es)h(one)g(or)f(more)g
+(linear)h(programs)e(with)h(no)g(sp)s(ecial)h(headers.)0
+4462 y(Both)k(t)m(yp)s(es)f(of)g(computations)h(are)f(non)m(trivial)h
+(and)f(the)g(users)f(\(esp)s(ecially)i(for)f(the)g(DD)h(algorithm\))h
+(m)m(ust)0 4575 y(kno)m(w)e(that)i(there)e(is)h(a)g(serous)f(limit)h
+(in)f(the)h(sizes)g(of)g(problems)e(that)j(can)e(b)s(e)g(practically)i
+(solv)m(ed.)60 b(Please)0 4687 y(c)m(hec)m(k)32 b(*.ext)g(and)d(*.ine)j
+(\014les)e(that)h(come)g(with)f(cddlib)g(to)h(get)h(ideas)e(of)h
+(tractable)h(problems.)141 4800 y(In)k(addition)h(to)g(previously)g
+(de\014ned)e(ob)5 b(jects,)39 b(the)e(sym)m(b)s(ol)f
+Fn(roworder)f Fo(is)h(of)h Fn(dd)p 3056 4800 V 34 w(RowOrderType)p
+Fo(.)56 b(The)0 4913 y(sym)m(b)s(ol)32 b Fn(matrixP)f
+Fo(is)h(a)h(p)s(oin)m(ter)g(to)g Fp(dd)p 1402 4913 32
+4 v 38 w(MatrixT)m(yp)s(e)p Fo(.)46 b(the)33 b(argumen)m(ts)g
+Fn(impl)p 2859 4913 29 4 v 33 w(lin)f Fo(and)g Fn(redset)e
+Fo(are)j(b)s(oth)0 5026 y(a)e(p)s(oin)m(ter)f(to)h Fn(dd)p
+602 5026 V 34 w(rowset)e Fo(t)m(yp)s(e,)i(and)e Fn(newpos)g
+Fo(is)h(a)h(p)s(oin)m(ter)g(to)g Fn(dd)p 2364 5026 V
+33 w(rowindex)e Fo(t)m(yp)s(e.)0 5207 y Fn(dd)p 102 5207
+V 34 w(PolyhedraPtr)44 b(dd)p 852 5207 V 34 w(DDMatrix2Poly\(matrix,)e
+(err\))i Fo(:)227 5320 y(Store)32 b(the)g(represen)m(tation)g(giv)m(en)
+h(b)m(y)e Fn(matrix)f Fo(in)h(a)h(p)s(olyhedra)e(data,)j(and)e
+(generate)i(the)e(second)h(rep-)227 5433 y(resen)m(tation)46
+b(of)e Fn(*poly)p Fo(.)80 b(It)44 b(returns)e(a)j(p)s(oin)m(ter)f(to)g
+(the)g(data.)82 b Fn(*err)43 b Fo(returns)g Fn(dd)p 3269
+5433 V 34 w(NoError)f Fo(if)h(the)1926 5682 y(7)p eop
+end
+%%Page: 8 8
+TeXDict begin 8 7 bop 227 44 a Fo(computation)38 b(terminates)g
+(normally)-8 b(.)60 b(Otherwise,)38 b(it)g(returns)d(a)i(v)-5
+b(alue)37 b(according)h(to)g(the)f(error)f(o)s(c-)227
+157 y(cured.)0 345 y Fn(dd)p 102 345 29 4 v 34 w(PolyhedraPtr)44
+b(dd)p 852 345 V 34 w(DDMatrix2Poly2\(matrix,)e(roworder,)j(err\))f
+Fo(:)227 458 y(This)f(is)h(the)f(same)h(function)f(as)h
+Fn(dd)p 1559 458 V 34 w(DDMatrix2Poly)c Fo(except)k(that)g(the)g
+(insertion)g(order)f(is)g(sp)s(eci-)227 571 y(\014ed)34
+b(b)m(y)h(the)g(user.)53 b(The)34 b(argumen)m(t)h Fn(roworder)e
+Fo(is)i(of)f Fn(dd)p 2260 571 V 34 w(RowOrderType)e Fo(and)i(tak)m(es)i
+(one)f(of)g(the)g(v)-5 b(al-)227 683 y(ues:)55 b Fn(dd)p
+536 683 V 33 w(MaxIndex)p Fo(,)37 b Fn(dd)p 1111 683
+V 34 w(MinIndex)p Fo(,)g Fn(dd)p 1687 683 V 34 w(MinCutoff)p
+Fo(,)g Fn(dd)p 2311 683 V 34 w(MaxCutoff)p Fo(,)g Fn(dd)p
+2935 683 V 33 w(MixCutoff)p Fo(,)g Fn(dd)p 3558 683 V
+34 w(LexMin)p Fo(,)227 796 y Fn(dd)p 329 796 V 34 w(LexMax)p
+Fo(,)d Fn(dd)p 806 796 V 34 w(RandomRow)p Fo(.)51 b(In)33
+b(general,)k Fn(dd)p 1905 796 V 34 w(LexMin)c Fo(is)h(the)h(b)s(est)f
+(c)m(hoice)j(whic)m(h)d(is)g(in)h(fact)g(c)m(hosen)227
+909 y(in)29 b Fn(dd)p 434 909 V 34 w(DDMatrix2Poly)p
+Fo(.)36 b(If)28 b(y)m(ou)i(kno)m(w)e(that)i(the)f(input)e(is)i(already)
+h(sorted)e(in)h(the)g(order)f(y)m(ou)h(lik)m(e,)i(use)227
+1022 y Fn(dd)p 329 1022 V 34 w(MinIndex)k Fo(or)i Fn(dd)p
+996 1022 V 34 w(MaxIndex)p Fo(.)59 b(If)37 b(the)h(input)e(con)m(tains)
+i(man)m(y)g(redundan)m(t)e(ro)m(ws)h(\(sa)m(y)h(more)g(than)227
+1135 y(80\045)j(redundan)m(t\),)h(y)m(ou)e(migh)m(t)h(w)m(an)m(t)g(to)g
+(try)f Fn(dd)p 2009 1135 V 34 w(MaxCutoff)d Fo(whic)m(h)j(migh)m(t)h
+(result)f(in)g(m)m(uc)m(h)g(faster)227 1248 y(termination,)32
+b(see)f([3,)g(16)q(])0 1436 y Fn(boolean)46 b(dd)p 484
+1436 V 34 w(DDInputAppend\(poly,)c(matrix,)k(err\))e
+Fo(:)227 1549 y(Mo)s(dify)27 b(the)h(input)e(represen)m(tation)i(in)f
+Fn(*poly)f Fo(b)m(y)h(app)s(ending)f(the)h(matrix)h(of)f
+Fn(*matrix)p Fo(,)g(and)f(compute)227 1661 y(the)36 b(second)f
+(represen)m(tation.)56 b(The)34 b(n)m(um)m(b)s(er)g(of)h(columns)g(in)g
+Fn(*matrix)e Fo(m)m(ust)i(b)s(e)g(equal)g(to)h(the)g(input)227
+1774 y(represen)m(tation.)0 1962 y Fn(boolean)46 b(dd)p
+484 1962 V 34 w(LPSolve\(lp,)e(solver,)i(err\))f Fo(:)227
+2075 y(Solv)m(e)28 b Fn(lp)e Fo(b)m(y)h(the)g(algorithm)h
+Fn(solver)d Fo(and)i(sa)m(v)m(e)h(the)f(solututions)g(in)g
+Fn(*lp)p Fo(.)39 b(Unlik)m(e)27 b(the)g(earlier)h(v)m(ersions)227
+2188 y(\(dplex,)d(cdd+\),)g(it)f(can)f(deal)h(with)f(equations)h(and)f
+(totally)i(zero)g(righ)m(t)f(hand)e(sides.)38 b(It)24
+b(is)f(recommended)227 2301 y(that)32 b Fn(solver)d Fo(is)i
+Fn(dd)p 936 2301 V 33 w(DualSimplex)p Fo(,)d(the)j(revised)g(dual)g
+(simplex)f(metho)s(d)h(that)g(up)s(dates)f(a)h Fj(d)21
+b Fi(\002)f Fj(d)31 b Fo(dual)227 2414 y(basis)g(matrix)f(in)g(eac)m(h)
+i(piv)m(ot)f(\(where)f Fj(d)h Fo(is)f(the)h(column)f(size)h(of)g(lp\).)
+227 2564 y(The)39 b(revised)f(dual)h(simplex)f(metho)s(d)g(is)h(ideal)h
+(for)e(dense)h(LPs)f(in)g(small)h(n)m(um)m(b)s(er)f(of)h(v)-5
+b(ariables)39 b(\(i.e.)227 2677 y(small)e(column)g(size,)i(t)m
+(ypically)g(less)e(than)f(100\))i(and)e(man)m(y)h(inequalit)m(y)h
+(constrain)m(ts)g(\(i.e.)61 b(large)37 b(ro)m(w)227 2790
+y(size,)f(can)e(b)s(e)f(a)h(few)g(ten)g(thousands\).)50
+b(If)34 b(y)m(our)f(LP)h(has)f(man)m(y)h(v)-5 b(ariables)35
+b(but)e(only)h(few)f(constrain)m(ts,)227 2903 y(solv)m(e)f(the)f(dual)f
+(LP)g(b)m(y)g(this)g(function.)227 3053 y(When)g(it)h(is)f(compiled)g
+(for)g(GMP)g(rational)h(arithmetic,)h(it)f(\014rst)e(tries)h(to)h(solv)
+m(e)g(an)f(LP)g(with)f(C)h(double)227 3166 y(\015oating-p)s(oin)m(t)d
+(arithmetic)h(and)d(v)m(eri\014es)h(whether)f(the)h(output)g(basis)f
+(is)h(correct)h(with)f(GMP)-8 b(.)27 b(If)e(so,)i(the)227
+3279 y(correct)38 b(solution)f(is)f(computed)h(with)f(GMP)-8
+b(.)37 b(Otherwise,)h(it)f(\(re\)solv)m(es)i(the)d(LP)g(from)g(scratc)m
+(h)i(with)227 3392 y(GMP)-8 b(.)32 b(This)e(is)g(newly)h(implemen)m
+(ted)g(in)f(the)h(v)m(ersion)g(093.)42 b(The)30 b(original)i
+(\(non-crosso)m(v)m(er\))g(v)m(ersion)f(of)227 3505 y(the)g(same)g
+(function)f(is)g(still)h(a)m(v)-5 b(ailable)33 b(as)e
+Fn(boolean)46 b(dd)p 2206 3505 V 33 w(LPSolve0)p Fo(.)0
+3692 y Fn(dd)p 102 3692 V 34 w(boolean)g(dd)p 614 3692
+V 33 w(Redundant\(matrix,)e(i,)j(point,)f(err\))e Fo(:)227
+3805 y(Chec)m(k)28 b(whether)g Fj(i)p Fo(th)g(data)g(in)g
+Fn(matrix)e Fo(is)h(redundan)m(t)g(for)h(the)g(represen)m(tation.)41
+b(If)27 b(it)h(is)g(nonredundan)m(t,)227 3918 y(it)d(returns)e(a)h
+(certi\014cate.)41 b(F)-8 b(or)25 b(H-represen)m(tation,)i(it)e(is)f(a)
+g Fn(point)f Fo(in)h Fj(R)2684 3885 y Fg(d)2748 3918
+y Fo(whic)m(h)g(satis\014es)g(all)h(inequalities)227
+4031 y(except)31 b(for)f(the)g Fj(i)p Fo(th)g(inequalit)m(y)-8
+b(.)42 b(If)29 b Fj(i)h Fo(is)g(a)g(linearit)m(y)-8 b(,)32
+b(it)f(do)s(es)e(nothing)h(and)f(alw)m(a)m(ys)i(returns)e
+Fn(dd)p 3606 4031 V 34 w(FALSE)p Fo(.)0 4219 y Fn(dd)p
+102 4219 V 34 w(rowset)46 b(dd)p 566 4219 V 34 w
+(RedundantRows\(matrix,)c(err\))i Fo(:)227 4331 y(Returns)24
+b(a)h(maximal)h(set)f(of)g(ro)m(w)g(indices)f(suc)m(h)h(that)g(the)g
+(asso)s(ciated)h(ro)m(ws)f(can)g(b)s(e)f(eliminated)i(without)227
+4444 y(c)m(hanging)32 b(the)e(p)s(olyhedron.)40 b(The)29
+b(function)h(w)m(orks)h(for)f(b)s(oth)g(V-)g(and)g(H-represen)m
+(tations.)0 4632 y Fn(dd)p 102 4632 V 34 w(boolean)46
+b(dd)p 614 4632 V 33 w(SRedundant\(matrix,)d(i,)k(point,)g(err\))d
+Fo(:)227 4745 y(Chec)m(k)32 b(whether)e Fj(i)p Fo(th)i(data)g(in)e
+Fn(matrix)g Fo(is)h(strongly)h(redundan)m(t)e(for)h(the)g(represen)m
+(tation.)44 b(If)31 b Fj(i)h Fo(is)f(a)g(lin-)227 4858
+y(earit)m(y)-8 b(,)32 b(it)d(do)s(es)f(nothing)h(and)f(alw)m(a)m(ys)j
+(returns)c Fn(dd)p 2005 4858 V 34 w(FALSE)p Fo(.)h(Here,)h
+Fj(i)p Fo(th)g(inequalit)m(y)i(in)d(H-represen)m(tation)227
+4971 y(is)h Ff(str)-5 b(ongly)33 b(r)-5 b(e)g(dundant)39
+b Fo(if)29 b(it)g(is)g(redundan)m(t)e(and)h(there)h(is)g(no)f(p)s(oin)m
+(t)h(in)f(the)h(p)s(olyhedron)e(satisfying)i(the)227
+5084 y(inequalit)m(y)c(with)e(equalit)m(y)-8 b(.)41 b(In)22
+b(V-represen)m(tation,)27 b Fj(i)p Fo(th)d(p)s(oin)m(t)f(is)g
+Ff(str)-5 b(ongly)28 b(r)-5 b(e)g(dundant)35 b Fo(if)23
+b(it)h(is)g(redundan)m(t)227 5197 y(and)31 b(it)g(is)g(in)f(the)i
+(relativ)m(e)h(in)m(terior)e(of)g(the)g(p)s(olyhedron.)41
+b(If)31 b(it)g(is)g(not)g(strongly)g(redundan)m(t,)f(it)i(returns)227
+5309 y(a)f(certi\014cate.)1926 5682 y(8)p eop end
+%%Page: 9 9
+TeXDict begin 9 8 bop 0 44 a Fn(dd)p 102 44 29 4 v 34
+w(boolean)46 b(dd)p 614 44 V 33 w(ImplicitLinearity\(matrix,)41
+b(i,)48 b(err\))c Fo(:)227 157 y(Chec)m(k)33 b(whether)e
+Fj(i)p Fo(th)h(ro)m(w)g(in)g(the)g(input)f(is)h(forced)g(to)h(b)s(e)e
+(linearit)m(y)j(\(equalit)m(y)g(for)d(H-represen)m(tation\).)227
+270 y(If)f Fj(i)h Fo(is)f(linearit)m(y)i(itself,)g(it)e(do)s(es)g
+(nothing)h(and)f(alw)m(a)m(ys)h(returns)f Fn(dd)p 2589
+270 V 33 w(FALSE)p Fo(.)0 454 y Fn(dd)p 102 454 V 34
+w(rowset)46 b(dd)p 566 454 V 34 w(ImplicitLinearityRows\(m)o(atri)o(x,)
+c(err\))i Fo(:)227 567 y(Returns)39 b(the)g(set)h(of)g(indices)g(of)f
+(ro)m(ws)h(that)g(are)g(implicitly)g(linearit)m(y)-8
+b(.)70 b(It)40 b(simply)f(calls)h(the)g(library)227 680
+y(function)e Fn(dd)p 693 680 V 34 w(ImplicitLinearity)33
+b Fo(for)38 b(eac)m(h)h(inequalit)m(y)g(and)f(collects)i(the)e(ro)m(w)g
+(indices)g(for)g(whic)m(h)227 793 y(the)31 b(answ)m(er)f(is)h
+Fn(dd)p 879 793 V 33 w(TRUE)p Fo(.)0 977 y Fn(dd)p 102
+977 V 34 w(boolean)46 b(dd)p 614 977 V 33 w
+(MatrixCanonicalize\(matrixP)o(,)c(impl)p 2176 977 V
+33 w(lin,)47 b(redset,)f(newpos,)f(err\))g Fo(:)227 1090
+y(The)30 b(input)f(is)h(a)h(p)s(oin)m(ter)f Fn(matrixP)e
+Fo(to)j(a)f(matrix)h(and)e(the)i(function)f(mo)s(di\014es)f(the)h
+(matrix)h(b)m(y)f(putting)227 1203 y(a)40 b(maximally)h(linear)f(indep)
+s(enden)m(t)e(linearities)j(\(basis\))g(at)f(the)g(top)g(of)f(the)h
+(matrix,)j(and)c(remo)m(ving)227 1316 y(all)33 b(redundan)m(t)e(data.)
+46 b(All)33 b(implicit)g(linearities)g(and)e(all)i(\(remo)m(v)m(ed\))h
+(redundan)m(t)d(ro)m(ws)h(in)f(the)h(original)227 1429
+y(matrix)c(will)f(b)s(e)f(returned)g(in)g(the)i(corresp)s(onding)e(ro)m
+(w)h(sets.)40 b(The)26 b(new)g(p)s(ositions)h(of)g(the)g(original)i(ro)
+m(ws)227 1542 y(are)i(returned)e(b)m(y)h(the)h(arra)m(y)g
+Fn(newpos)p Fo(.)227 1690 y(The)c(cardinalit)m(y)i(of)f(the)g(new)f
+(linearit)m(y)i(set)f Fn(\(*matrixP\)->linset)22 b Fo(is)28
+b(the)g(co)s(dimension)f(of)h(the)g(p)s(oly-)227 1803
+y(hedron)i(if)g(it)h(is)f(H-p)s(olyhedron,)g(and)g(is)g(the)h
+(dimension)e(of)i(linearit)m(y)h(space)f(if)f(it)h(is)f(V-p)s
+(olyhedron.)227 1952 y(Note)e(that)e(the)h(presen)m(t)f(v)m(ersion)g
+(should)g(not)g(b)s(e)f(called)j(a)e(canonicalization)k(b)s(ecause)c
+(it)g(ma)m(y)h(generate)227 2065 y(t)m(w)m(o)j(di\013eren)m(t)e
+(represen)m(tations)h(of)f(the)h(same)f(p)s(olyhedron.)39
+b(In)27 b(the)h(future,)g(this)g(function)g(is)g(exp)s(ected)227
+2178 y(to)j(b)s(e)f(correctly)i(implemen)m(ted.)0 2362
+y Fn(dd)p 102 2362 V 34 w(boolean)46 b(dd)p 614 2362
+V 33 w(MatrixCanonicalizeLinearit)o(y\(ma)o(tri)o(xP,)41
+b(impl)p 2605 2362 V 34 w(linset,)k(newpos.)94 b(err\))44
+b Fo(:)227 2475 y(It)g(do)s(es)g(only)g(the)g(\014rst)f(half)h(of)g
+Fn(dd)p 1554 2475 V 34 w(boolean)i(dd)p 2066 2475 V 33
+w(MatrixCanonicalize)p Fo(,)d(namely)-8 b(,)48 b(it)d(detects)g(all)227
+2588 y(implicit)27 b(linearities)g(and)f(puts)f(a)h(maximally)h(indep)s
+(enden)m(t)d(linearities)k(at)e(the)g(top)g(of)g(the)g(matrix.)40
+b(F)-8 b(or)227 2701 y(example,)32 b(this)e(function)g(can)h(b)s(e)e
+(used)h(to)h(detect)h(the)e(dimension)g(of)h(an)f(H-p)s(olyhedron.)0
+2885 y Fn(dd)p 102 2885 V 34 w(boolean)46 b(dd)p 614
+2885 V 33 w(MatrixRedundancyRemove\(mat)o(rixP)o(,)c(redset,)k(newpos,)
+f(err\))g Fo(:)227 2998 y(It)25 b(do)s(es)e(essen)m(tially)j(the)f
+(second)f(half)g(of)g Fn(dd)p 1757 2998 V 34 w(boolean)46
+b(dd)p 2269 2998 V 34 w(MatrixCanonicalize)p Fo(,)20
+b(namely)-8 b(,)27 b(it)d(detects)227 3111 y(all)30 b(redundancies.)39
+b(This)27 b(function)h(should)g(b)s(e)f(used)h(after)h
+Fn(dd)p 2421 3111 V 34 w(MatrixCanonicalizeLinear)o(ity)22
+b Fo(has)227 3224 y(b)s(een)30 b(called.)0 3408 y Fn(dd)p
+102 3408 V 34 w(boolean)46 b(dd)p 614 3408 V 33 w
+(FindRelativeInterior\(matri)o(x,)c(impl)p 2224 3408
+V 33 w(lin,)k(lin)p 2639 3408 V 34 w(basis,)g(lps,)h(err\))d
+Fo(:)227 3521 y(Computes)39 b(a)h(p)s(oin)m(t)g(in)f(the)h(relativ)m(e)
+h(in)m(terior)f(of)g(an)g(H-p)s(olyhedron)e(giv)m(en)j(b)m(y)e(matrix,)
+j(b)m(y)e(solving)227 3634 y(an)32 b(LP)-8 b(.)31 b(The)g(p)s(oin)m(t)h
+(will)g(b)s(e)f(returned)f(b)m(y)h Fn(lps)p Fo(.)44 b(See)31
+b(the)h(sample)g(program)f(allfaces.c)j(that)e(generates)227
+3747 y(all)47 b(nonempt)m(y)e(faces)h(of)g(an)f(H-p)s(olyhedron)g(and)g
+(a)h(relativ)m(e)h(in)m(terior)g(p)s(oin)m(t)e(for)g(eac)m(h)i(face.)87
+b(The)227 3860 y(former)35 b(returns)f(all)i(implicit)g(linearit)m(y)g
+(ro)m(ws)g(\(implicit)g(equations\))g(and)f(the)g(latter)h(returns)e(a)
+i(basis)227 3973 y(of)31 b(the)g(union)e(of)i(linearit)m(y)h(ro)m(ws)f
+(and)f(implicit)h(linearit)m(y)h(ro)m(ws.)41 b(This)30
+b(means)h(that)g(the)f(cardinalit)m(y)i(of)227 4086 y
+Fn(*lin)p 425 4086 V 34 w(basis)c Fo(is)j(the)f(co)s(dimension)h(of)f
+(the)h(p)s(olyhedron.)0 4270 y Fn(dd)p 102 4270 V 34
+w(boolean)46 b(dd)p 614 4270 V 33 w(ExistsRestrictedFace\(matri)o(x,)c
+(R,)47 b(S,)g(err\))d Fo(:)227 4383 y(Returns)26 b(the)i(answ)m(er)f
+(to)g(the)h(F)-8 b(ark)j(as')28 b(t)m(yp)s(e)f(decision)h(problem)e(as)
+i(to)f(whether)g(there)g(is)g(a)h(p)s(oin)m(t)f(in)f(the)227
+4496 y(p)s(olyhedron)h(giv)m(en)h(b)m(y)g(matrix)g(satisfying)g(all)h
+(constrain)m(ts)f(in)g Fn(R)f Fo(with)g(equalit)m(y)j(and)d(all)h
+(constrain)m(ts)h(in)227 4609 y Fn(S)h Fo(with)g(strict)i(inequalit)m
+(y)-8 b(.)42 b(More)31 b(precisely)-8 b(,)32 b(it)f(is)f(the)h(linear)f
+(feasibilit)m(y)j(problem:)1111 4795 y Fi(9)p Fo(?)82
+b Fj(x)113 b Fo(satisfying)h Fj(b)1979 4809 y Fg(r)2038
+4795 y Fi(\000)19 b Fj(A)2196 4809 y Fg(r)2235 4795 y
+Fj(x)83 b Fo(=)25 b(0)p Fj(;)41 b Fi(8)p Fj(r)27 b Fi(2)e
+Fj(R)c Fi([)f Fj(L)1940 4908 y(b)1979 4922 y Fg(s)2036
+4908 y Fi(\000)g Fj(A)2195 4922 y Fg(s)2232 4908 y Fj(x)86
+b(>)25 b Fo(0)p Fj(;)41 b Fi(8)p Fj(s)24 b Fi(2)h Fj(S)1940
+5021 y(b)1979 5035 y Fg(t)2029 5021 y Fi(\000)20 b Fj(A)2188
+5035 y Fg(t)2218 5021 y Fj(x)100 b Fi(\025)25 b Fo(0)p
+Fj(;)41 b Fi(8)p Fj(t)24 b Fi(2)h Fj(T)8 b(;)227 5207
+y Fo(where)31 b Fj(L)g Fo(is)g(the)g(set)h(of)f(linearit)m(y)i(ro)m(ws)
+e(of)g Fn(matrix)p Fo(,)f(and)g Fj(T)44 b Fo(represen)m(ts)31
+b(the)g(set)h(of)f(ro)m(ws)g(that)h(are)f(not)227 5320
+y(in)e Fj(R)17 b Fi([)f Fj(L)h Fi([)f Fj(S)5 b Fo(.)40
+b(Both)29 b Fn(R)g Fo(and)f Fn(S)g Fo(are)h(of)g Fn(dd)p
+1683 5320 V 33 w(rowset)e Fo(t)m(yp)s(e.)41 b(The)28
+b(set)h Fj(S)k Fo(is)c(supp)s(osed)e(to)i(b)s(e)f(disjoin)m(t)h(from)
+227 5433 y(b)s(oth)h Fj(R)h Fo(and)f Fj(L)p Fo(.)40 b(If)30
+b(it)h(is)f(not)h(the)g(case,)g(the)g(set)g Fj(S)k Fo(will)c(b)s(e)f
+(considered)g(as)g Fj(S)c Fi(n)20 b Fo(\()p Fj(R)i Fi([)d
+Fj(L)p Fo(\).)1926 5682 y(9)p eop end
+%%Page: 10 10
+TeXDict begin 10 9 bop 227 44 a Fo(This)32 b(function)h(ignores)g
+Fn(matrix->representation)p Fo(,)28 b(and)k(th)m(us)h(ev)m(en)g(if)g
+(it)g(is)g(set)h(to)f Fn(dd)p 3440 44 29 4 v 34 w(Generator)227
+157 y Fo(or)e Fn(dd)p 441 157 V 33 w(Unspecified)p Fo(,)d(it)j(treats)g
+(the)g(matrix)g(as)f(if)g(it)h(w)m(ere)g(inequalit)m(y)h(represen)m
+(tation.)0 337 y Fn(dd)p 102 337 V 34 w(boolean)46 b(dd)p
+614 337 V 33 w(ExistsRestrictedFace2\(matr)o(ix,)41 b(R,)47
+b(S,)h(lps,)e(err\))f Fo(:)227 450 y(It)27 b(is)h(the)f(same)g(as)h
+(the)f(function)g Fn(dd)p 1505 450 V 34 w(ExistsRestrictedFace)21
+b Fo(except)28 b(that)g(it)f(returns)f(also)i(a)g(certi\014-)227
+562 y(cate)k(for)e(the)h(answ)m(er.)41 b(The)29 b(certi\014cate)k(is)d
+(a)h(solution)g(to)g(the)g(b)s(ounded)d(LP:)891 717 y(\(P\))83
+b(max)15 b Fj(z)118 b Fo(sub)5 b(ject)30 b(to)114 b Fj(b)1999
+731 y Fg(r)2058 717 y Fi(\000)19 b Fj(A)2216 731 y Fg(r)2255
+717 y Fj(x)283 b Fo(=)25 b(0)p Fj(;)41 b Fi(8)p Fj(r)27
+b Fi(2)e Fj(R)c Fi([)f Fj(L)1960 830 y(b)1999 844 y Fg(s)2056
+830 y Fi(\000)g Fj(A)2215 844 y Fg(s)2252 830 y Fj(x)86
+b Fi(\000)p Fj(z)h Fi(\025)25 b Fo(0)p Fj(;)41 b Fi(8)p
+Fj(s)24 b Fi(2)h Fj(S)1960 943 y(b)1999 957 y Fg(t)2049
+943 y Fi(\000)20 b Fj(A)2208 957 y Fg(t)2238 943 y Fj(x)300
+b Fi(\025)25 b Fo(0)p Fj(;)41 b Fi(8)p Fj(t)24 b Fi(2)h
+Fj(T)1960 1056 y Fo(1)385 b Fi(\000)p Fj(z)87 b Fi(\025)25
+b Fo(0)p Fj(;)227 1228 y Fo(where)31 b Fj(L)g Fo(is)g(the)g(set)h(of)f
+(linearit)m(y)i(ro)m(ws)e(of)g Fn(matrix)p Fo(,)f(and)g
+Fj(T)44 b Fo(represen)m(ts)31 b(the)g(set)h(of)f(ro)m(ws)g(that)h(are)f
+(not)227 1341 y(in)j Fj(R)23 b Fi([)f Fj(L)g Fi([)g Fj(S)5
+b Fo(.)51 b(The)33 b(answ)m(er)h(for)f(the)h(decision)g(problem)f(is)h
+(YES)f(if)h(and)f(only)h(if)g(the)f(LP)h(attains)h(an)227
+1454 y(optimal)c(and)d(the)i(optimal)g(v)-5 b(alue)30
+b(is)g(p)s(ositiv)m(e.)41 b(The)29 b(dual)g(solution)h(\(either)g(an)f
+(optimal)i(solution)f(or)f(a)227 1567 y(dual)d(un)m(b)s(ounded)e
+(direction\))j(can)g(b)s(e)e(considered)h(as)h(a)g(certi\014cate)h(for)
+e(the)h(NO)f(answ)m(er,)h(if)f(the)h(answ)m(er)227 1679
+y(is)k(NO.)227 1826 y(This)h(function)h(ignores)g Fn
+(matrix->representation)p Fo(,)28 b(and)k(th)m(us)h(ev)m(en)g(if)g(it)g
+(is)g(set)h(to)f Fn(dd)p 3440 1826 V 34 w(Generator)227
+1939 y Fo(or)e Fn(dd)p 441 1939 V 33 w(Unspecified)p
+Fo(,)d(it)j(treats)g(the)g(matrix)g(as)f(if)g(it)h(w)m(ere)g(inequalit)
+m(y)h(represen)m(tation.)0 2118 y Fn(dd)p 102 2118 V
+34 w(SetFamilyPtr)44 b(dd)p 852 2118 V 34 w(Matrix2Adjacency\(matrix,)d
+(err\))k Fo(:)227 2231 y(Computes)e(the)g(adjacency)g(list)h(of)f
+(input)f(ro)m(ws)g(using)h(the)g(LP)f(solv)m(er)i(and)e(without)h
+(running)e(the)227 2344 y(represen)m(tation)27 b(con)m(v)m(ersion.)41
+b(When)26 b(the)g(input)f(is)h(H-represen)m(tation,)j(it)d(giv)m(es)h
+(the)g(facet)g(graph)e(of)h(the)227 2457 y(p)s(olyhedron.)37
+b(F)-8 b(or)24 b(V-represen)m(tation,)j(it)c(giv)m(es)i(the)e(\(v)m
+(ertex\))i(graph)e(of)g(the)h(p)s(olyhedron.)37 b(It)23
+b(is)g(required)227 2570 y(that)28 b(the)f(input)g(matrix)g(is)g(a)h
+(minimal)f(represen)m(tation.)41 b(Run)26 b(redundancy)g(remo)m(v)-5
+b(al)28 b(functions)f(b)s(efore)227 2683 y(calling)32
+b(this)e(function,)h(see)g(the)f(sample)h(co)s(de)f(adjacency)-8
+b(.c.)0 2862 y Fn(dd)p 102 2862 V 34 w(SetFamilyPtr)44
+b(dd)p 852 2862 V 34 w(Matrix2WeakAdjacency\(matr)o(ix,)d(err\))k
+Fo(:)227 2975 y(Computes)37 b(the)h(w)m(eak)h(adjacency)g(list)f(of)g
+(input)f(ro)m(ws)h(using)f(the)h(LP)g(solv)m(er)g(and)f(without)h
+(running)227 3088 y(the)31 b(represen)m(tation)h(con)m(v)m(ersion.)44
+b(When)30 b(the)h(input)f(is)h(H-represen)m(tation,)i(it)e(giv)m(es)i
+(the)e(graph)f(where)227 3201 y(its)g(no)s(des)f(are)h(the)g(facets)h
+(t)m(w)m(o)f(no)s(des)f(are)h(adjacen)m(t)h(if)f(and)f(only)g(if)h(the)
+g(asso)s(ciated)h(facets)f(ha)m(v)m(e)h(some)227 3314
+y(in)m(tersection.)41 b(F)-8 b(or)26 b(V-represen)m(tation,)j(it)d(giv)
+m(es)h(the)f(graph)f(where)g(its)h(no)s(des)e(are)i(the)g(v)m(ertices)h
+(and)e(t)m(w)m(o)227 3427 y(no)s(des)i(are)g(adjacen)m(t)i(if)e(and)g
+(only)g(if)g(the)h(asso)s(ciated)h(v)m(ertices)g(are)e(on)g(a)h(common)
+g(facet.)41 b(It)27 b(is)g(required)227 3540 y(that)h(the)f(input)g
+(matrix)g(is)g(a)h(minimal)f(represen)m(tation.)41 b(Run)26
+b(redundancy)g(remo)m(v)-5 b(al)28 b(functions)f(b)s(efore)227
+3653 y(calling)32 b(this)e(function,)h(see)g(the)f(sample)h(co)s(de)f
+(adjacency)-8 b(.c.)0 3832 y Fn(dd)p 102 3832 V 34 w(MatrixPtr)45
+b(dd)p 709 3832 V 34 w(FourierElimination\(matri)o(x,)d(err\))i
+Fo(:)227 3945 y(Eliminate)32 b(the)f(last)h(v)-5 b(ariable)32
+b(from)f(a)g(system)g(of)g(linear)h(inequalities)g(giv)m(en)g(b)m(y)f
+(matrix)g(b)m(y)g(using)f(the)227 4058 y(F)-8 b(ourier's)21
+b(Elimination.)38 b(If)20 b(the)h(input)e(matrix)i(is)f(V-represen)m
+(tation,)k Fn(*err)19 b Fo(returns)g Fn(dd)p 3275 4058
+V 34 w(NotAvailForV)p Fo(.)227 4171 y(This)32 b(function)h(do)s(es)f
+(not)h(remo)m(v)m(e)i(redundancy)c(and)h(one)h(migh)m(t)h(w)m(an)m(t)f
+(to)h(call)g(redundancy)d(remo)m(v)-5 b(al)227 4284 y(functions)30
+b(afterw)m(ards.)41 b(See)31 b(the)f(sample)h(co)s(de)f(fourier.c.)0
+4463 y Fn(dd)p 102 4463 V 34 w(MatrixPtr)45 b(dd)p 709
+4463 V 34 w(BlockElimination\(matrix,)c(set,)47 b(err\))d
+Fo(:)227 4576 y(Eliminate)d(a)f(set)g(of)f(v)-5 b(ariables)41
+b(from)e(a)h(system)f(of)h(linear)g(inequalities)h(giv)m(en)f(b)m(y)g
+(matrix)g(b)m(y)f(using)227 4689 y(the)33 b(extreme)g(ra)m(ys)g(of)g
+(the)g(dual)f(linear)h(system.)48 b(See)33 b(commen)m(ts)g(in)f(the)h
+(co)s(de)g(cddpro)5 b(j.c)32 b(for)g(details.)227 4802
+y(This)27 b(migh)m(t)g(b)s(e)g(a)h(faster)f(w)m(a)m(y)h(to)g(eliminate)
+h(v)-5 b(ariables)28 b(than)e(the)i(rep)s(eated)f(F)-8
+b(ourierElimination)29 b(when)227 4915 y(the)35 b(n)m(um)m(b)s(er)e(of)
+h(v)-5 b(ariables)35 b(to)g(eliminate)g(is)g(large.)53
+b(If)33 b(the)i(input)e(matrix)i(is)f(V-represen)m(tation,)j
+Fn(*err)227 5028 y Fo(returns)26 b Fn(dd)p 640 5028 V
+34 w(NotAvailForV)p Fo(.)d(This)k(function)f(do)s(es)h(not)g(remo)m(v)m
+(e)h(redundancy)d(and)h(one)i(migh)m(t)f(w)m(an)m(t)h(to)227
+5141 y(call)k(redundancy)d(remo)m(v)-5 b(al)31 b(functions)f(afterw)m
+(ards.)41 b(See)31 b(the)f(sample)h(co)s(de)f(pro)5 b(jection.c.)0
+5320 y Fn(dd)p 102 5320 V 34 w(rowrange)45 b(dd)p 661
+5320 V 34 w(RayShooting\(matrix,)e(point,)j(vector\))d
+Fo(:)227 5433 y(Finds)32 b(the)g(index)g(of)g(a)h(halfspace)f(\014rst)g
+(left)g(b)m(y)g(the)h(ra)m(y)f(starting)h(from)f Fn(point)f
+Fo(to)m(w)m(ard)i(the)f(direction)1903 5682 y(10)p eop
+end
+%%Page: 11 11
+TeXDict begin 11 10 bop 227 44 a Fn(vector)p Fo(.)39
+b(It)28 b(resolv)m(es)i(tie)f(b)m(y)f(a)h(lexicographic)h(p)s
+(erturbation.)39 b(Those)28 b(inequalities)i(violated)g(b)m(y)e
+Fn(point)227 157 y Fo(will)j(b)s(e)f(simply)g(ignored.)0
+401 y Fd(4.3)112 b(Data)38 b(Manipulations)0 572 y Fp(4.3.1)105
+b(Num)m(b)s(er)35 b(Assignmen)m(ts)0 744 y Fo(F)-8 b(or)31
+b(n)m(um)m(b)s(er)d(assignmen)m(ts,)j(one)f(cannot)h(use)e(suc)m(h)h
+(expressions)f(as)h Fn(x=\(mytype\)a)p Fo(.)38 b(This)29
+b(is)g(b)s(ecause)h(cddlib)0 857 y(uses)37 b(an)g(abstract)h(n)m(um)m
+(b)s(er)e(t)m(yp)s(e)h(\()p Fn(mytype)p Fo(\))f(so)i(that)f(it)h(can)f
+(compute)h(with)f(v)-5 b(arious)37 b(n)m(um)m(b)s(er)f(t)m(yp)s(es)h
+(suc)m(h)0 970 y(as)c(C)f(double)g(and)h(GMP)g(rational.)49
+b(User)32 b(can)h(easily)h(add)e(a)h(new)g(n)m(um)m(b)s(er)e(t)m(yp)s
+(e)i(b)m(y)g(rede\014ning)e(arithmetic)0 1082 y(op)s(erations)g(in)f
+(cddmp.h)e(and)i(cddmp.c.)0 1295 y Fn(void)47 b(dd)p
+341 1295 29 4 v 33 w(init\(x\))d Fo(:)227 1408 y(This)36
+b(is)g(to)h(initialize)h(a)f Fn(mytype)d Fo(v)-5 b(ariable)37
+b Fn(x)f Fo(and)g(to)h(set)f(it)h(to)g(zero.)59 b(This)35
+b(initialization)k(has)d(to)h(b)s(e)227 1521 y(called)32
+b(b)s(efore)e(an)m(y)h Fn(mytype)d Fo(v)-5 b(ariable)31
+b(to)g(b)s(e)f(used.)0 1708 y Fn(void)47 b(dd)p 341 1708
+V 33 w(clear\(x\))d Fo(:)227 1821 y(This)30 b(is)g(to)h(free)g(the)f
+(space)h(allo)s(cated)i(to)e(a)g Fn(mytype)d Fo(v)-5
+b(ariable)31 b Fn(x)p Fo(.)0 2009 y Fn(void)47 b(dd)p
+341 2009 V 33 w(set)p 518 2009 V 34 w(si\(x,)f(a\))f
+Fo(:)227 2122 y(This)30 b(is)g(to)h(set)g(a)g Fn(mytype)e
+Fo(v)-5 b(ariable)31 b Fn(x)f Fo(to)h(the)g(v)-5 b(alue)30
+b(of)h(signed)f(long)h(in)m(teger)h Fn(a)p Fo(.)0 2310
+y Fn(void)47 b(dd)p 341 2310 V 33 w(set)p 518 2310 V
+34 w(si2\(x,)f(a,)h(b\))e Fo(:)227 2422 y(This)24 b(is)g(to)i(set)f(a)f
+Fn(mytype)f Fo(v)-5 b(ariable)25 b Fn(x)f Fo(to)i(the)e(v)-5
+b(alue)25 b(of)g(the)f(rational)i(expression)e Fn(a/b)p
+Fo(,)h(where)f Fn(a)g Fo(is)h(signed)227 2535 y(long)31
+b(and)f Fn(b)g Fo(is)g(unsigned)g(long)h(in)m(tegers.)0
+2723 y Fn(void)47 b(dd)p 341 2723 V 33 w(set)p 518 2723
+V 34 w(d\(x,)g(b\))e Fo(:)227 2836 y(This)33 b(is)g(to)h(set)f(a)h
+Fn(mytype)d Fo(v)-5 b(ariable)34 b Fn(x)f Fo(to)h(the)f(v)-5
+b(alue)34 b(of)f(double)g Fn(b)p Fo(.)49 b(This)32 b(is)h(a)m(v)-5
+b(ailable)36 b(only)d(when)f(the)227 2949 y(library)e(is)h(compiled)f
+(without)h Fn(-DGMPRATIONAL)c Fo(compiler)k(option.)0
+3189 y Fp(4.3.2)105 b(Arithmetic)35 b(Op)s(erations)g(for)g
+Fn(mytype)e Fp(Num)m(b)s(ers)0 3361 y Fo(Belo)m(w)f Fn(x)p
+Fo(,)e Fn(y)p Fo(,)h Fn(z)f Fo(are)g(of)h(t)m(yp)s(e)f
+Fn(mytype)p Fo(.)0 3573 y Fn(void)47 b(dd)p 341 3573
+V 33 w(add\(x,)g(y,)g(z\))e Fo(:)227 3686 y(Set)31 b
+Fn(x)f Fo(to)h(b)s(e)f(the)g(sum)g(of)g Fn(y)g Fo(and)g
+Fn(z)p Fo(.)0 3874 y Fn(void)47 b(dd)p 341 3874 V 33
+w(sub\(x,)g(y,)g(z\))e Fo(:)227 3987 y(Set)31 b Fn(x)f
+Fo(to)h(b)s(e)f(the)g(substraction)h(of)f Fn(z)g Fo(from)g
+Fn(y)p Fo(.)0 4174 y Fn(void)47 b(dd)p 341 4174 V 33
+w(mul\(x,)g(y,)g(z\))e Fo(:)227 4287 y(Set)31 b Fn(x)f
+Fo(to)h(b)s(e)f(the)g(m)m(ultiplication)j(of)d Fn(y)g
+Fo(and)g Fn(z)p Fo(.)0 4475 y Fn(void)47 b(dd)p 341 4475
+V 33 w(div\(x,)g(y,)g(z\))e Fo(:)227 4588 y(Set)31 b
+Fn(x)f Fo(to)h(b)s(e)f(the)g(division)h(of)f Fn(y)g Fo(o)m(v)m(er)i
+Fn(z)p Fo(.)0 4775 y Fn(void)47 b(dd)p 341 4775 V 33
+w(inv\(x,)g(y\))d Fo(:)227 4888 y(Set)31 b Fn(x)f Fo(to)h(b)s(e)f(the)g
+(reciplo)s(cal)i(of)f Fn(y)p Fo(.)1903 5682 y(11)p eop
+end
+%%Page: 12 12
+TeXDict begin 12 11 bop 0 44 a Fp(4.3.3)105 b(Prede\014ned)36
+b(Constan)m(ts)0 216 y Fo(There)24 b(are)h(sev)m(eral)g
+Fn(mytype)e Fo(constan)m(ts)i(de\014ned)f(when)f Fn(dd)p
+2043 216 29 4 v 34 w(set)p 2221 216 V 33 w(global)p 2542
+216 V 33 w(constants\(void\))d Fo(is)25 b(called.)40
+b(Some)0 329 y(constan)m(ts)35 b(dep)s(end)d(on)i(the)g(double)g
+(constan)m(t)h Fn(dd)p 1784 329 V 34 w(almostzero)c Fo(whic)m(h)i(is)h
+(normally)g(set)h(to)g(10)3417 296 y Fc(\000)p Fh(7)3546
+329 y Fo(in)e(cdd.h.)0 442 y(This)28 b(v)-5 b(alue)29
+b(can)f(b)s(e)g(mo)s(di\014ed)f(dep)s(ending)g(on)i(ho)m(w)f(n)m
+(umerically)h(delicate)i(y)m(our)d(problems)g(are)h(but)f(an)g(extra)0
+555 y(caution)j(should)f(b)s(e)f(tak)m(en.)0 767 y Fn(mytype)46
+b(dd)p 436 767 V 34 w(purezero)d Fo(:)227 880 y(This)30
+b(represen)m(ts)g(the)h(mathematical)h(zero)g(0.)0 1068
+y Fn(mytype)46 b(dd)p 436 1068 V 34 w(zero)e Fo(:)227
+1181 y(This)36 b(represen)m(ts)g(the)h(largest)h(p)s(ositiv)m(e)f(n)m
+(um)m(b)s(er)e(whic)m(h)h(should)g(b)s(e)g(considered)g(to)h(b)s(e)f
+(zero.)60 b(In)35 b(the)227 1293 y(GMPRA)-8 b(TIONAL)34
+b(mo)s(de,)h(it)f(is)g(equal)g(to)g Fn(dd)p 1890 1293
+V 34 w(purezero)p Fo(.)49 b(In)33 b(the)h(C)f(double)g(mo)s(de,)i(it)f
+(is)g(set)g(to)g(the)227 1406 y(v)-5 b(alue)31 b(of)g
+Fn(dd)p 668 1406 V 33 w(almostzero)p Fo(.)0 1594 y Fn(mytype)46
+b(dd)p 436 1594 V 34 w(minuszero)d Fo(:)227 1707 y(The)30
+b(negativ)m(e)j(of)d Fn(dd)p 978 1707 V 34 w(zero)p Fo(.)0
+1895 y Fn(mytype)46 b(dd)p 436 1895 V 34 w(one)f Fo(:)227
+2007 y(This)30 b(represen)m(ts)g(the)h(mathematical)h(one)f(1.)0
+2248 y Fp(4.3.4)105 b(Sign)36 b(Ev)-6 b(aluation)34 b(and)h(Comparison)
+h(for)f Fn(mytype)e Fp(Num)m(b)s(ers)0 2419 y Fo(Belo)m(w)f
+Fn(x)p Fo(,)e Fn(y)p Fo(,)h Fn(z)f Fo(are)g(of)h(t)m(yp)s(e)f
+Fn(mytype)p Fo(.)0 2632 y Fn(dd)p 102 2632 V 34 w(boolean)46
+b(dd)p 614 2632 V 33 w(Positive\(x\))d Fo(:)227 2745
+y(Returns)23 b Fn(dd)p 668 2745 V 34 w(TRUE)f Fo(if)h
+Fn(x)g Fo(is)g(considered)h(p)s(ositiv)m(e,)i(and)c Fn(dd)p
+2207 2745 V 34 w(FALSE)g Fo(otherwise.)39 b(In)23 b(the)g(GMPRA)-8
+b(TIONAL)227 2858 y(mo)s(de,)23 b(the)d(p)s(ositivit)m(y)i(recognition)
+g(is)f(exact.)39 b(In)20 b(the)h(C)f(double)g(mo)s(de,)i(this)f(means)f
+(the)h(v)-5 b(alue)21 b(is)g(strictly)227 2970 y(larger)31
+b(than)f Fn(dd)p 799 2970 V 34 w(zero)p Fo(.)227 3121
+y Fn(dd)p 329 3121 V 34 w(boolean)46 b(dd)p 841 3121
+V 34 w(Negative\(x\))27 b Fo(w)m(orks)j(similarly)-8
+b(.)0 3308 y Fn(dd)p 102 3308 V 34 w(boolean)46 b(dd)p
+614 3308 V 33 w(Nonpositive\(x\))c Fo(:)227 3421 y(Returns)30
+b(the)g(negation)i(of)f Fn(dd)p 1304 3421 V 33 w(Positive\(x\))p
+Fo(.)38 b Fn(dd)p 2024 3421 V 34 w(Nonnegative\(x\))26
+b Fo(w)m(orks)31 b(similarly)-8 b(.)0 3609 y Fn(dd)p
+102 3609 V 34 w(boolean)46 b(dd)p 614 3609 V 33 w(EqualToZero\(x\))c
+Fo(:)227 3722 y(Returns)34 b Fn(dd)p 679 3722 V 34 w(TRUE)g
+Fo(if)h Fn(x)g Fo(is)g(considered)g(zero,)i(and)d Fn(dd)p
+2156 3722 V 34 w(FALSE)g Fo(otherwise.)55 b(In)34 b(the)h(GMPRA)-8
+b(TIONAL)227 3835 y(mo)s(de,)28 b(the)f(zero)h(recognition)h(is)f
+(exact.)41 b(In)26 b(the)i(C)e(double)h(mo)s(de,)h(this)f(means)g(the)h
+(v)-5 b(alue)27 b(is)h(in)m(b)s(et)m(w)m(een)227 3948
+y Fn(dd)p 329 3948 V 34 w(minuszero)g Fo(and)i Fn(dd)p
+1096 3948 V 34 w(zero)f Fo(inclusiv)m(e.)0 4135 y Fn(dd)p
+102 4135 V 34 w(boolean)46 b(dd)p 614 4135 V 33 w(Larger\(x,)g(y\))f
+Fo(:)227 4248 y(Returns)31 b Fn(dd)p 676 4248 V 33 w(TRUE)f
+Fo(if)i Fn(x)f Fo(is)g(strictly)h(larger)g(than)f Fn(y)p
+Fo(,)g(and)g Fn(dd)p 2349 4248 V 34 w(FALSE)f Fo(otherwise.)43
+b(This)31 b(is)g(implemen)m(ted)227 4361 y(as)f(dd)p
+445 4361 28 4 v 32 w(P)m(ositiv)m(e\(z\))j(where)d Fn(z)f
+Fo(is)h(the)g(subtraction)g(of)g Fn(y)g Fo(from)f Fn(x)p
+Fo(.)40 b Fn(dd)p 2602 4361 29 4 v 34 w(Smaller\(x,)45
+b(y\))29 b Fo(w)m(orks)h(similarly)-8 b(.)0 4549 y Fn(dd)p
+102 4549 V 34 w(boolean)46 b(dd)p 614 4549 V 33 w(Equal\(x,)g(y\))f
+Fo(:)227 4662 y(Returns)30 b Fn(dd)p 675 4662 V 33 w(TRUE)g
+Fo(if)g Fn(x)g Fo(is)g(considered)g(equal)h(to)g Fn(y)p
+Fo(,)g(and)e Fn(dd)p 2354 4662 V 34 w(FALSE)g Fo(otherwise.)41
+b(This)30 b(is)g(implemen)m(ted)227 4774 y(as)h(dd)p
+446 4774 28 4 v 32 w(EqualT)-8 b(oZero\(z\))32 b(where)e
+Fn(z)g Fo(is)g(the)h(subtraction)f(of)h Fn(y)f Fo(from)g
+Fn(x)p Fo(.)0 5015 y Fp(4.3.5)105 b(P)m(olyhedra)36 b(Data)f
+(Manipulation)0 5186 y Fn(dd)p 102 5186 29 4 v 34 w(MatrixPtr)45
+b(dd)p 709 5186 V 34 w(PolyFile2Matrix)f(\(f,)i(err\))f
+Fo(:)227 5299 y(Read)28 b(a)f(P)m(olyhedra)h(data)g(from)e(stream)i
+Fn(f)f Fo(and)f(store)i(it)g(in)f Fn(matrixdata)d Fo(and)j(return)f(a)h
+(p)s(oin)m(ter)g(to)h(the)227 5412 y(data.)1903 5682
+y(12)p eop end
+%%Page: 13 13
+TeXDict begin 13 12 bop 0 44 a Fn(dd)p 102 44 29 4 v
+34 w(MatrixPtr)45 b(dd)p 709 44 V 34 w(CopyInequalities\(poly\))39
+b Fo(:)227 157 y(Cop)m(y)26 b(the)f(inequalit)m(y)i(represen)m(tation)g
+(p)s(oin)m(ted)e(b)m(y)g(p)s(oly)g(to)h Fn(matrixdata)d
+Fo(and)i(return)f Fn(dd)p 3415 157 V 34 w(MatrixPtr)p
+Fo(.)0 345 y Fn(dd)p 102 345 V 34 w(MatrixPtr)45 b(dd)p
+709 345 V 34 w(CopyGenerators\(poly\))40 b Fo(:)227 458
+y(Cop)m(y)27 b(the)g(generator)i(represen)m(tation)f(p)s(oin)m(ted)e(b)
+m(y)h(p)s(oly)g(to)h Fn(matrixdata)c Fo(and)i(return)g
+Fn(dd)p 3415 458 V 34 w(MatrixPtr)p Fo(.)0 645 y Fn(dd)p
+102 645 V 34 w(SetFamilyPtr)44 b(dd)p 852 645 V 34 w
+(CopyIncidence\(poly\))c Fo(:)227 758 y(Cop)m(y)21 b(the)f(incidence)h
+(represen)m(tation)g(of)g(the)f(computed)g(represen)m(tation)i(p)s(oin)
+m(ted)e(b)m(y)g(p)s(oly)g(to)h Fn(setfamily)227 871 y
+Fo(and)38 b(return)f Fn(dd)p 800 871 V 34 w(SetFamilyPtr)p
+Fo(.)62 b(The)37 b(computed)i(represen)m(tation)g(is)g
+Fn(Inequality)c Fo(if)k(the)f(input)g(is)227 984 y Fn(Generator)p
+Fo(,)28 b(and)i(the)h(vice)g(visa.)0 1172 y Fn(dd)p 102
+1172 V 34 w(SetFamilyPtr)44 b(dd)p 852 1172 V 34 w
+(CopyAdjacency\(poly\))c Fo(:)227 1285 y(Cop)m(y)21 b(the)f(adjacency)h
+(represen)m(tation)g(of)g(the)f(computed)g(represen)m(tation)i(p)s(oin)
+m(ted)e(b)m(y)g(p)s(oly)g(to)h Fn(setfamily)227 1397
+y Fo(and)38 b(return)f Fn(dd)p 800 1397 V 34 w(SetFamilyPtr)p
+Fo(.)62 b(The)37 b(computed)i(represen)m(tation)g(is)g
+Fn(Inequality)c Fo(if)k(the)f(input)g(is)227 1510 y Fn(Generator)p
+Fo(,)28 b(and)i(the)h(vice)g(visa.)0 1698 y Fn(dd)p 102
+1698 V 34 w(SetFamilyPtr)44 b(dd)p 852 1698 V 34 w
+(CopyInputIncidence\(poly\))39 b Fo(:)227 1811 y(Cop)m(y)30
+b(the)g(incidence)h(represen)m(tation)g(of)f(the)g(input)f(represen)m
+(tation)h(p)s(oin)m(ted)g(b)m(y)g(p)s(oly)f(to)i Fn(setfamily)227
+1924 y Fo(and)f(return)f Fn(d)p 736 1924 V 34 w(SetFamilyPtr)p
+Fo(.)0 2111 y Fn(dd)p 102 2111 V 34 w(SetFamilyPtr)44
+b(dd)p 852 2111 V 34 w(CopyInputAdjacency\(poly\))39
+b Fo(:)227 2224 y(Cop)m(y)28 b(the)g(adjacency)h(represen)m(tation)f
+(of)g(the)g(input)f(represen)m(tation)i(p)s(oin)m(ted)f(b)m(y)f(p)s
+(oly)h(to)g Fn(setfamily)227 2337 y Fo(and)i(return)f
+Fn(d)p 736 2337 V 34 w(SetFamilyPtr)p Fo(.)0 2525 y Fn(void)47
+b(dd)p 341 2525 V 33 w(FreePolyhedra\(poly\))41 b Fo(:)227
+2638 y(F)-8 b(ree)32 b(memory)e(allo)s(cated)i(to)f Fn(poly)p
+Fo(.)0 2878 y Fp(4.3.6)105 b(LP)36 b(Data)e(Manipulation)0
+3050 y Fn(dd)p 102 3050 V 34 w(LPPtr)46 b(dd)p 518 3050
+V 34 w(MakeLPforInteriorFinding)o(\(lp\))39 b Fo(:)227
+3162 y(Set)29 b(up)f(an)g(LP)g(to)i(\014nd)d(an)h(in)m(terior)i(p)s
+(oin)m(t)e(of)h(the)g(feasible)g(region)g(of)g Fn(lp)f
+Fo(and)g(return)f(a)i(p)s(oin)m(ter)g(to)g(the)227 3275
+y(LP)-8 b(.)36 b(The)f(new)g(LP)g(has)h(one)g(new)f(v)-5
+b(ariable)36 b Fj(x)1867 3290 y Fg(d)p Fh(+1)2033 3275
+y Fo(and)f(one)h(more)g(constrain)m(t:)52 b(max)15 b
+Fj(x)3329 3290 y Fg(d)p Fh(+1)3495 3275 y Fo(sub)5 b(ject)36
+b(to)227 3388 y Fj(b)20 b Fi(\000)g Fj(Ax)h Fi(\000)f
+Fj(x)661 3403 y Fg(d)p Fh(+1)816 3388 y Fi(\025)25 b
+Fo(0)31 b(and)f Fj(x)1217 3403 y Fg(d)p Fh(+1)1373 3388
+y Fi(\024)25 b Fj(K)7 b Fo(,)30 b(where)g Fj(K)37 b Fo(is)30
+b(a)h(p)s(ositiv)m(e)g(constan)m(t.)0 3576 y Fn(dd)p
+102 3576 V 34 w(LPPtr)46 b(dd)p 518 3576 V 34 w(Matrix2LP\(matrix,)d
+(err\))h Fo(:)227 3689 y(Load)31 b Fn(matrix)d Fo(to)k
+Fn(lpdata)c Fo(and)i(return)f(a)i(p)s(oin)m(ter)f(to)i(the)e(data.)0
+3876 y Fn(dd)p 102 3876 V 34 w(LPSolutionPtr)44 b(dd)p
+900 3876 V 34 w(CopyLPSolution\(lp\))c Fo(:)227 3989
+y(Load)32 b(the)g(solutions)g(of)g Fn(lp)f Fo(to)i Fn(lpsolution)c
+Fo(and)i(return)g(a)h(p)s(oin)m(ter)g(to)g(the)g(data.)46
+b(This)31 b(replaces)h(the)227 4102 y(old)f(name)f Fn(dd)p
+723 4102 V 34 w(LPSolutionLoad\(lp\))p Fo(.)0 4290 y
+Fn(void)47 b(dd)p 341 4290 V 33 w(FreeLPData\(lp\))42
+b Fo(:)227 4403 y(F)-8 b(ree)32 b(memory)e(allo)s(cated)i(as)f(an)f(LP)
+g(data)h(p)s(oin)m(ted)g(b)m(y)f Fn(lp)p Fo(.)0 4590
+y Fn(void)47 b(dd)p 341 4590 V 33 w(FreeLPSolution\(lps\))41
+b Fo(:)227 4703 y(F)-8 b(ree)32 b(memory)e(allo)s(cated)i(as)f(an)f(LP)
+g(solution)h(data)g(p)s(oin)m(ted)g(b)m(y)f Fn(lps)p
+Fo(.)0 4943 y Fp(4.3.7)105 b(Matrix)35 b(Manipulation)0
+5115 y Fn(dd)p 102 5115 V 34 w(MatrixPtr)45 b(dd)p 709
+5115 V 34 w(CopyMatrix\(matrix\))40 b Fo(:)227 5228 y(Mak)m(e)32
+b(a)f(cop)m(y)g(of)g(matrixdata)g(p)s(oin)m(ted)f(b)m(y)h
+Fn(matrix)d Fo(and)i(return)f(a)i(p)s(oin)m(ter)g(to)g(the)f(cop)m(y)-8
+b(.)1903 5682 y(13)p eop end
+%%Page: 14 14
+TeXDict begin 14 13 bop 0 44 a Fn(dd)p 102 44 29 4 v
+34 w(MatrixPtr)45 b(dd)p 709 44 V 34 w(AppendMatrix\(matrix1,)d
+(matrix2\))h Fo(:)227 157 y(Mak)m(e)32 b(a)e(matrixdata)h(b)m(y)e(cop)m
+(ying)i Fn(*matrix1)c Fo(and)i(app)s(ending)g(the)h(matrix)g(in)f
+Fn(*matrix2)f Fo(and)h(return)227 270 y(a)39 b(p)s(oin)m(ter)g(to)h
+(the)f(data.)67 b(The)38 b(colsize)j(m)m(ust)d(b)s(e)h(equal)g(in)g
+(the)g(t)m(w)m(o)h(input)e(matrices.)67 b(It)39 b(returns)e(a)227
+383 y Fn(NULL)j Fo(p)s(oin)m(ter)g(if)h(the)g(input)e(matrices)j(are)f
+(not)g(appropriate.)71 b(Its)41 b Fn(rowsize)e Fo(is)h(set)i(to)f(the)g
+(sum)e(of)227 496 y(the)k(ro)m(wsizes)h(of)e Fn(matrix1)f
+Fo(and)h Fn(matrix2)p Fo(.)75 b(The)42 b(new)g(matrixdata)i(inherits)e
+(ev)m(erything)i(else)f(\(i.e.)227 609 y(n)m(um)m(b)s(ert)m(yp)s(e,)30
+b(represen)m(tation,)i(etc\))f(from)f(the)h(\014rst)e(matrix.)0
+794 y Fn(int)47 b(dd)p 293 794 V 34 w(MatrixAppendTo\(&)c(matrix1,)j
+(matrix2\))d Fo(:)227 907 y(Same)31 b(as)f Fn(dd)p 683
+907 V 34 w(AppendMatrix)d Fo(except)32 b(that)e(the)h(\014rst)f(matrix)
+g(is)h(mo)s(di\014ed)e(to)i(tak)m(e)h(the)f(result.)0
+1092 y Fn(int)47 b(dd)p 293 1092 V 34 w(MatrixRowRemove\(&)c(matrix,)j
+(i\))f Fo(:)227 1205 y(Remo)m(v)m(e)32 b(the)f Fj(i)p
+Fo(th)f(ro)m(w)h(of)g Fn(matrix)p Fo(.)0 1391 y Fn(dd)p
+102 1391 V 34 w(MatrixPtr)45 b(dd)p 709 1391 V 34 w
+(MatrixSubmatrix\(matrix,)c(set\))k Fo(:)227 1504 y(Generate)36
+b(the)f(submatrix)f(of)h Fn(matrix)e Fo(b)m(y)i(remo)m(ving)h(the)f(ro)
+m(ws)f(indexed)h(b)m(y)f Fn(set)g Fo(and)g(return)g(a)h(ma-)227
+1617 y(trixdata)d(p)s(oin)m(ter.)0 1802 y Fn(dd)p 102
+1802 V 34 w(SetFamilyPtr)44 b(dd)p 852 1802 V 34 w
+(Matrix2Adjacency\(matrix,)d(err\))k Fo(:)227 1915 y(Return)25
+b(the)i(adjacency)f(list)h(of)f(the)g(represen)m(tation)h(giv)m(en)g(b)
+m(y)f Fn(matrix)p Fo(.)38 b(The)25 b(computation)i(is)f(done)g(b)m(y)
+227 2028 y(the)h(built-in)g(LP)f(solv)m(er.)41 b(The)26
+b(represen)m(tation)i(should)e(b)s(e)g(free)h(of)g(redundancy)e(when)g
+(this)i(function)g(is)227 2141 y(called.)40 b(See)22
+b(the)h(function)f Fn(dd)p 1270 2141 V 33 w(rowset)47
+b(dd)p 1734 2141 V 33 w(RedundantRows)19 b Fo(and)j(the)g(example)h
+(program)f(adjacency)-8 b(.c.)0 2383 y Fd(4.4)112 b(Input/Output)38
+b(F)-9 b(unctions)0 2555 y Fn(dd)p 102 2555 V 34 w(MatrixPtr)45
+b(dd)p 709 2555 V 34 w(PolyFile2Matrix)f(\(f,)i(err\))f
+Fo(:)227 2668 y(Read)28 b(a)f(P)m(olyhedra)h(data)g(from)e(stream)i
+Fn(f)f Fo(and)f(store)i(it)g(in)f Fn(matrixdata)d Fo(and)j(return)f(a)h
+(p)s(oin)m(ter)g(to)h(the)227 2780 y(data.)0 2966 y Fn(boolean)46
+b(dd)p 484 2966 V 34 w(DDFile2File\(ifile,)c(ofile,)47
+b(err\))d Fo(:)227 3079 y(Compute)33 b(the)g(represen)m(tation)h(con)m
+(v)m(ersion)g(for)e(a)i(p)s(olyhedron)d(giv)m(en)j(b)m(y)f(a)g(P)m
+(olyhedra)g(\014le)g(i\014le,)h(and)227 3192 y(write)d(the)g(other)f
+(represen)m(tation)i(in)e(a)h(P)m(olyhedra)g(\014le)f(o\014le.)42
+b Fn(*err)29 b Fo(returns)g Fn(dd)p 3073 3192 V 34 w(NoError)g
+Fo(if)h(the)h(com-)227 3305 y(putation)g(terminates)g(normally)-8
+b(.)42 b(Otherwise,)30 b(it)h(returns)e(a)i(v)-5 b(alue)31
+b(according)g(to)g(the)g(error)f(o)s(ccured.)0 3490 y
+Fn(void)47 b(dd)p 341 3490 V 33 w(WriteMatrix\(f,)d(matrix\))g
+Fo(:)227 3603 y(W)-8 b(rite)32 b Fn(matrix)d Fo(to)i(stream)g
+Fn(f)p Fo(.)0 3788 y Fn(void)47 b(dd)p 341 3788 V 33
+w(WriteNumber\(f,)d(x\))h Fo(:)227 3901 y(W)-8 b(rite)27
+b Fn(x)e Fo(to)h(stream)f Fn(f)p Fo(.)39 b(If)25 b Fn(x)f
+Fo(is)i(of)f(GMP)h(mp)s(q)p 1827 3901 28 4 v 31 w(t)g(rational)g
+Fj(p=q)s Fo(,)h(the)e(output)g(is)g Fj(p=q)s Fo(.)39
+b(If)25 b(it)g(is)h(of)f(C)g(double,)227 4014 y(it)31
+b(is)g(formated)f(as)h(a)g(double)f(\015oat)h(with)f(a)g(decimal)i(p)s
+(oin)m(t.)0 4200 y Fn(void)47 b(dd)p 341 4200 29 4 v
+33 w(WritePolyFile\(f,)d(poly\))g Fo(:)227 4312 y(W)-8
+b(rite)32 b(tt)f(p)s(oly)f(to)h(stream)g Fn(f)f Fo(in)g(P)m(olyhedra)h
+(format.)0 4498 y Fn(void)47 b(dd)p 341 4498 V 33 w
+(WriteErrorMessages\(f,)42 b(err\))j Fo(:)227 4611 y(W)-8
+b(rite)32 b(error)e(messages)h(giv)m(en)h(b)m(y)e Fn(err)g
+Fo(to)h(stream)f Fn(f)p Fo(.)0 4796 y Fn(void)47 b(dd)p
+341 4796 V 33 w(WriteSetFamily\(f,)d(setfam\))f Fo(:)227
+4909 y(W)-8 b(rite)37 b(the)e(set)h(family)g(p)s(oin)m(ted)f(b)m(y)g
+Fn(setfam)e Fo(to)j(stream)g Fn(f)p Fo(.)55 b(F)-8 b(or)35
+b(eac)m(h)i(set,)g(it)f(outputs)e(its)i(index,)g(its)227
+5022 y(cardinalit)m(y)-8 b(,)33 b(a)e(colon)g(\\:")41
+b(and)30 b(a)h(ordered)f(list)h(of)f(its)h(elemen)m(ts.)0
+5207 y Fn(void)47 b(dd)p 341 5207 V 33 w(WriteSetFamilyCompressed\(f)o
+(,)42 b(setfam\))h Fo(:)227 5320 y(W)-8 b(rite)37 b(the)e(set)h(family)
+g(p)s(oin)m(ted)f(b)m(y)g Fn(setfam)e Fo(to)j(stream)g
+Fn(f)p Fo(.)55 b(F)-8 b(or)35 b(eac)m(h)i(set,)g(it)f(outputs)e(its)i
+(index,)g(its)227 5433 y(cardinalit)m(y)g(or)e(the)g(negativ)m(e)j(of)d
+(the)g(cardinalit)m(y)-8 b(,)38 b(a)c(colon)h(\\:")50
+b(and)33 b(the)i(elemen)m(ts)g(in)f(the)g(set)h(or)f(its)1903
+5682 y(14)p eop end
+%%Page: 15 15
+TeXDict begin 15 14 bop 227 44 a Fo(complemen)m(ts)40
+b(whic)m(hev)m(er)g(is)f(smaller.)67 b(Whenev)m(er)40
+b(it)g(outputs)e(the)h(complemen)m(ts,)k(the)c(cardinalit)m(y)227
+157 y(is)i(negated)h(so)g(that)g(there)f(is)g(no)g(am)m(biguit)m(y)-8
+b(.)75 b(This)40 b(will)h(b)s(e)g(considered)g(standard)f(for)h
+(outputing)227 270 y(incidence)32 b(\(*.icd,)i(*ecd\))e(and)f
+(adjacency)h(\(*.iad,)i(*.ead\))e(data)h(in)e(cddlib.)43
+b(But)32 b(there)g(is)f(some)h(minor)227 383 y(incompatibilit)m(y)h
+(with)d(cdd/cdd+)f(standalone)i(co)s(des.)0 571 y Fn(void)47
+b(dd)p 341 571 29 4 v 33 w(WriteProgramDescription\(f\))39
+b Fo(:)227 683 y(W)-8 b(rite)32 b(the)f(cddlib)e(v)m(ersion)i
+(information)g(to)g(stream)g Fn(f)p Fo(.)0 871 y Fn(void)47
+b(dd)p 341 871 V 33 w(WriteDDTimes\(f,)d(poly\))g Fo(:)227
+984 y(W)-8 b(rite)32 b(the)f(represen)m(tation)g(con)m(v)m(ersion)h
+(time)f(information)f(on)h Fn(poly)e Fo(to)i(stream)g
+Fn(f)p Fo(.)0 1227 y Fd(4.5)112 b(Obsolete)38 b(F)-9
+b(unctions)0 1399 y Fn(boolean)46 b(dd)p 484 1399 V 34
+w(DoubleDescription\(poly,)41 b(err\))j Fo(:)d(\(remo)m(v)m(ed)32
+b(in)e(V)-8 b(ersion)31 b(0.90c\))227 1512 y(The)e(new)f(function)g
+Fn(dd)p 1054 1512 V 34 w(DDMatrix2Poly\(matrix,)42 b(err\))28
+b Fo(\(see)h(Section)h(4.2\))g(replaces)f(\(and)g(actually)227
+1625 y(com)m(bines\))j(b)s(oth)d(this)h(and)g Fn(dd)p
+1325 1625 V 34 w(Matrix2Poly\(matrix,)43 b(err\))p Fo(.)0
+1812 y Fn(dd)p 102 1812 V 34 w(PolyhedraPtr)h(dd)p 852
+1812 V 34 w(Matrix2Poly\(matrix,)f(err\))h Fo(:)d(\(remo)m(v)m(ed)31
+b(in)f(V)-8 b(ersion)31 b(0.90c\))227 1925 y(See)g(ab)s(o)m(v)m(e)g
+(for)g(the)f(reason)h(for)f(remo)m(v)-5 b(al.)0 2113
+y Fn(dd)p 102 2113 V 34 w(LPSolutionPtr)44 b(dd)p 900
+2113 V 34 w(LPSolutionLoad\(lp\))c Fo(:)h(\(renamed)30
+b(in)g(V)-8 b(ersion)31 b(0.90c\))227 2226 y(This)f(function)g(is)g(no)
+m(w)h(called)g Fn(dd)p 1431 2226 V 34 w(CopyLPSolution\(lp\))p
+Fo(.)0 2469 y Fd(4.6)112 b(Set)38 b(F)-9 b(unctions)38
+b(in)f Fb(setoper)j Fd(library)0 2641 y Fo(The)30 b(cddlib)g(comes)i
+(with)e(a)h(simple)g(set)g(op)s(eration)g(library)g Fn(setoper)p
+Fo(.)39 b(The)30 b(k)m(ey)i(t)m(yp)s(e)f(de\014ned)e(is)i
+Fn(set)p 3654 2641 V 33 w(type)p Fo(.)0 2754 y(A)g(set)h(is)f(represen)
+m(ted)g(b)m(y)g(a)g(\014xed)g(length)g(binary)f(strings.)43
+b(Th)m(us,)30 b(the)i(maxim)m(um)f(length)g(of)g(a)h(set)f(m)m(ust)g(b)
+s(e)0 2867 y(declared)g(when)e(it)i(is)g(initialized.)141
+2980 y(Belo)m(w)e(the)f(sym)m(b)s(ols)g Fn(a)p Fo(,)g
+Fn(b)p Fo(,)g Fn(c)g Fo(are)g(of)g(t)m(yp)s(e)g Fn(set)p
+1786 2980 V 33 w(type)p Fo(.)39 b(The)27 b(sym)m(b)s(ols)h
+Fn(aP)f Fo(is)h(a)g(p)s(oin)m(ter)f(to)i(t)m(yp)s(e)f
+Fn(set)p 3654 2980 V 33 w(type)p Fo(,)0 3093 y(and)j
+Fn(s)p Fo(,)i Fn(t)f Fo(are)g(of)g(t)m(yp)s(e)h Fn(long)p
+Fo(.)44 b(Here)33 b(are)g(some)f(of)g(the)h(functions)e(de\014ned.)45
+b(See)32 b Fn(setoper.h)e Fo(for)i(a)g(complete)0 3206
+y(listing.)0 3418 y Fn(void)47 b(set)p 389 3418 V 33
+w(initialize\(aP,)d(s\))h Fo(:)227 3531 y(Allo)s(cate)35
+b(a)e Fn(set)p 816 3531 V 33 w(type)f Fo(space)h(of)f(maxim)m(um)h
+(cardinalit)m(y)g Fn(s)g Fo(and)e(mak)m(e)j(it)f(p)s(oin)m(ted)f(b)m(y)
+g Fn(aP)p Fo(.)h(The)f(set)h(is)227 3644 y(initialized)f(as)f(empt)m(y)
+g(set.)0 3832 y Fn(void)47 b(set)p 389 3832 V 33 w(free\(a\))d
+Fo(:)227 3944 y(F)-8 b(ree)32 b(the)e Fn(set)p 732 3944
+V 34 w(type)f Fo(space)i(allo)s(cated)h(for)f Fn(a)p
+Fo(.)0 4132 y Fn(void)47 b(set)p 389 4132 V 33 w(copy\(a,)f(b\)\))f
+Fo(:)227 4245 y(Set)31 b Fn(a)g Fo(to)g(b)s(e)f Fn(b)p
+Fo(.)42 b(The)30 b(set)h Fn(a)g Fo(m)m(ust)f(b)s(e)g(pre-initialized)j
+(with)d(the)h(same)g(maxim)m(um)g(cardinalit)m(y)h(as)f(that)227
+4358 y(of)g Fn(b)p Fo(.)0 4546 y Fn(void)47 b(set)p 389
+4546 V 33 w(addelem\(a,)e(t\)\))g Fo(:)227 4658 y(Add)30
+b(an)g(elemen)m(t)i Fn(t)e Fo(to)h(a)g(set)g Fn(a)p Fo(.)40
+b(The)30 b(set)h Fn(a)f Fo(sta)m(ys)h(unc)m(hanged)f(if)h(it)f(con)m
+(tains)i(the)f(elemen)m(t)g Fn(t)p Fo(.)0 4846 y Fn(long)47
+b(set)p 389 4846 V 33 w(card\(a\)\))c Fo(:)227 4959 y(Return)30
+b(the)g(cardinalit)m(y)i(of)f(set)g Fn(a)p Fo(.)0 5147
+y Fn(int)47 b(set)p 341 5147 V 33 w(member\(t,)f(a\)\))e
+Fo(:)227 5260 y(Return)30 b(1)h(if)f Fn(t)g Fo(is)g(a)h(mem)m(b)s(er)f
+(of)g(set)h Fn(a)p Fo(,)g(and)e(0)i(otherwise.)1903 5682
+y(15)p eop end
+%%Page: 16 16
+TeXDict begin 16 15 bop 0 44 a Fn(void)47 b(set)p 389
+44 29 4 v 33 w(write\(a\)\))c Fo(:)227 157 y(Prin)m(t)28
+b(out)g(the)g(elemen)m(ts)h(of)f(set)h Fn(a)e Fo(to)i
+Fn(stdout)p Fo(.)38 b(The)27 b(function)h Fn(void)47
+b(set)p 2846 157 V 33 w(fwrite\(f,)e(a\)\))27 b Fo(output)h(to)227
+270 y(stream)j Fn(f)p Fo(.)0 556 y Fq(5)135 b(An)44 b(Extension)i(of)f
+(the)g(CDD)g(Library)g(in)g(GMP)f(mo)t(de)0 759 y Fo(Starting)35
+b(from)e(the)i(v)m(ersion)g(093,)h(the)f(GMP)f(v)m(ersion)h(of)g
+(cddlib,)f Fn(libcddgmp.a)p Fo(,)f(con)m(tains)i(all)g(cdd)f(library)0
+872 y(functions)j(in)g(t)m(w)m(o)i(arithmetics.)63 b(All)38
+b(functions)f(with)g(the)h(standard)f(pre\014x)f Fn(dd)p
+2907 872 V 71 w Fo(are)i(computed)f(with)g(the)0 985
+y(GMP)g(rational)h(arithmetic)g(as)e(b)s(efore.)59 b(The)36
+b(same)h(fuctions)f(with)h(the)f(new)g(pre\014x)g Fn(ddf)p
+3243 985 V 70 w Fo(are)h(no)m(w)f(added)0 1098 y(to)d(the)g(library)f
+Fn(libcddgmp.a)d Fo(that)k(are)g(based)f(on)g(the)g(C)g(double)g
+(\015oating-p)s(oin)m(t)i(arithmetic.)48 b(Th)m(us)31
+b(these)0 1211 y(functions)38 b(are)g(equiv)-5 b(alen)m(t)39
+b(to)g Fn(libcdd.a)d Fo(functions,)k(except)f(that)f(all)h(functions)f
+(and)f(v)-5 b(ariable)39 b(t)m(yp)s(es)f(are)0 1324 y(with)30
+b(pre\014x)f Fn(ddf)p 612 1324 V 64 w Fo(and)h(the)h(v)-5
+b(ariable)31 b(t)m(yp)s(e)f Fn(mytype)f Fo(is)h(replaced)h(b)m(y)f
+Fn(myfloat)p Fo(.)141 1437 y(In)21 b(this)h(sense,)i
+Fn(libcdd.a)19 b Fo(is)j(a)h(prop)s(er)d(subset)h(of)h
+Fn(libcddgmp.a)d Fo(and)j(in)f(principle)h(one)g(can)g(do)g(ev)m
+(erything)0 1550 y(with)30 b Fn(libcddgmp.a)p Fo(.)38
+b(See)30 b(ho)m(w)h(the)f(new)g Fn(dd)p 1594 1550 V 34
+w(LPSolve)e Fo(is)j(written)f(in)g(cddlp.c.)0 1836 y
+Fq(6)135 b(Examples)0 2039 y Fo(See)27 b(example)g(co)s(des)g(suc)m(h)g
+(as)g(testcdd*.c)h(,)g(testlp*.c,)h(redc)m(hec)m(k.c,)h(adjacency)-8
+b(.c,)29 b(allfaces,c)g(and)e(simplecdd.c)0 2152 y(in)j(the)h
+Fn(src)e Fo(and)h Fn(src-gmp)e Fo(sub)s(directories)i(of)h(the)f
+(source)h(distribution.)0 2438 y Fq(7)135 b(Numerical)46
+b(Accuracy)0 2641 y Fo(A)37 b(little)i(caution)g(is)e(in)g(order.)61
+b(Man)m(y)38 b(p)s(eople)f(ha)m(v)m(e)h(observ)m(ed)g(n)m(umerical)g
+(problems)e(of)h(cddlib)g(when)f(the)0 2754 y(\015oating)k(v)m(ersion)f
+(of)f(cddlib)h(is)f(used.)65 b(As)39 b(w)m(e)g(all)g(kno)m(w,)i
+(\015oating-p)s(oin)m(t)f(computation)g(migh)m(t)f(not)g(giv)m(e)h(a)0
+2867 y(correct)27 b(answ)m(er,)g(esp)s(ecially)f(when)f(an)h(input)e
+(data)j(is)e(v)m(ery)h(sensitiv)m(e)h(to)f(a)h(small)f(p)s
+(erturbation.)38 b(When)25 b(some)0 2980 y(strange)j(b)s(eha)m(vior)g
+(is)g(observ)m(ed,)g(it)g(is)g(alw)m(a)m(ys)h(wise)f(to)g(create)h(a)f
+(rationalization)j(of)c(the)h(input)f(\(for)h(example,)0
+3092 y(one)i(can)g(replace)g(0.3333333)k(with)29 b(1/3\))i(and)e(to)i
+(compute)f(it)g(with)f(cddlib)g(compiled)h(with)g(gmp)f(rational)i(to)0
+3205 y(see)f(what)g(a)g(correct)h(b)s(eha)m(vior)f(should)f(b)s(e.)39
+b(Whenev)m(er)31 b(the)f(time)g(is)g(not)g(imp)s(ortan)m(t,)g(it)g(is)g
+(safer)g(to)g(use)g(gmp)0 3318 y(rational)i(arithmetic.)141
+3431 y(If)d(y)m(ou)h(need)e(sp)s(eedy)h(computation)h(with)f
+(\015oating-p)s(oin)m(t)h(arithmetic,)h(y)m(ou)f(migh)m(t)g(w)m(an)m(t)
+g(to)g(\\pla)m(y)g(with")0 3544 y(the)h(constan)m(t)g
+Fn(dd)p 625 3544 V 34 w(almostzero)d Fo(de\014ned)h(in)h(cdd.h:)143
+3756 y Fn(#define)46 b(dd_almostzero)92 b(1.0E-7)0 3967
+y Fo(This)38 b(n)m(um)m(b)s(er)g(is)i(used)e(to)i(recognize)h(whether)d
+(a)i(n)m(um)m(b)s(er)e(is)h(zero:)59 b(a)40 b(n)m(um)m(b)s(er)e(whose)h
+(absolute)h(v)-5 b(alue)40 b(is)0 4080 y(smaller)e(than)g
+Fn(dd)p 643 4080 V 34 w(almostzero)d Fo(is)i(considered)h(zero,)j(and)c
+(nonzero)h(otherwise.)63 b(Y)-8 b(ou)38 b(can)g(c)m(hange)h(this)f(to)0
+4193 y(mo)s(dify)d(the)h(b)s(eha)m(vior)h(of)f(cddlib.)57
+b(One)36 b(migh)m(t)g(consider)g(the)h(default)f(setting)h(is)f(rather)
+g(large)h(for)f(double)0 4306 y(precision)h(arithmetic.)63
+b(This)36 b(is)i(b)s(ecause)f(cddlib)f(is)i(made)f(to)h(deal)g(with)f
+(highly)g(degenerate)h(data)g(and)f(it)0 4419 y(w)m(orks)30
+b(b)s(etter)h(to)g(treat)g(a)g(relativ)m(ely)i(large)e(\\epsilon")h(as)
+e(zero.)141 4531 y(Another)41 b(thing)h(one)f(can)h(do)f(is)g(scaling.)
+75 b(If)41 b(the)g(v)-5 b(alues)42 b(in)f(one)g(column)g(of)h(an)f
+(input)f(is)i(of)f(smaller)0 4644 y(magnitude)30 b(than)h(those)f(in)h
+(another)f(column,)h(scale)g(one)g(so)g(that)g(they)f(b)s(ecome)h
+(comparable.)0 4931 y Fq(8)135 b(Other)45 b(Useful)h(Co)t(des)0
+5134 y Fo(There)28 b(are)h(sev)m(eral)h(other)e(useful)g(co)s(des)g(a)m
+(v)-5 b(ailable)31 b(for)e(v)m(ertex)g(en)m(umeration)g(and/or)f(con)m
+(v)m(ex)j(h)m(ull)d(computa-)0 5246 y(tion)j(suc)m(h)f(as)h(lrs,)f(qh)m
+(ull,)g(p)s(orta)h(and)e(irisa-p)s(olylib.)41 b(The)30
+b(p)s(oin)m(ters)h(to)g(these)f(co)s(des)h(are)g(a)m(v)-5
+b(ailable)32 b(at)111 5433 y(1.)46 b(lrs)30 b(b)m(y)h(D.)g(Avis)f([2)q
+(])g(\(C)h(implemen)m(tation)h(of)e(the)h(rev)m(erse)g(searc)m(h)g
+(algorithm)g([4)q(]\).)1903 5682 y(16)p eop end
+%%Page: 17 17
+TeXDict begin 17 16 bop 111 44 a Fo(2.)46 b(qh)m(ull)23
+b(b)m(y)g(C.B.)g(Barb)s(er)f([6)q(])h(\(C)f(implemen)m(tation)j(of)e
+(the)g(b)s(eneath-b)s(ey)m(ond)f(metho)s(d,)i(see)f([10)q(,)g(20)q(],)i
+(whic)m(h)227 157 y(is)31 b(the)f(dual)g(of)h(the)f(dd)g(metho)s(d\).)
+111 332 y(3.)46 b(p)s(orta)25 b(b)m(y)g(T.)g(Christof)f(and)g(A.)h
+(L\177)-45 b(ob)s(el)25 b([8)q(])g(\(C)g(implemen)m(tation)h(of)f(the)h
+(F)-8 b(ourier-Motzkin)27 b(elimination\).)111 507 y(4.)46
+b(IRISA)41 b(p)s(olyhedral)g(library)g(b)m(y)h(D.K.)g(Wilde)g([23)q(])g
+(\(C)f(implemen)m(tation)j(of)d(a)h(v)-5 b(ariation)43
+b(of)f(the)g(dd)227 620 y(algorithm\).)111 795 y(5.)k(PPL:)33
+b(the)h(P)m(arma)g(P)m(olyhedra)f(Library)g([5])h(b)m(y)f(R.)g(Bagnara)
+i(\(C++)d(implemen)m(tation)j(of)f(a)f(v)-5 b(ariation)227
+908 y(of)31 b(the)f(dd)g(algorithm\).)111 1083 y(6.)46
+b Fn(pd)30 b Fo(b)m(y)g(A.)h(Marzetta)i([18)q(])d(\(C)h(implemen)m
+(tation)h(of)e(the)h(primal-dual)f(algorithm)h([7)q(]\).)111
+1259 y(7.)46 b(Geometry)32 b(Cen)m(ter)f(Soft)m(w)m(are)g(List)g(b)m(y)
+f(N.)h(Amen)m(ta)g([1)q(].)111 1434 y(8.)46 b(Computational)32
+b(Geometry)f(P)m(ages)h(b)m(y)e(J.)g(Eric)m(kson)h([11)q(].)111
+1609 y(9.)46 b(Linear)31 b(Programming)f(F)-10 b(A)m(Q)31
+b(b)m(y)f(R.)h(F)-8 b(ourer)30 b(and)g(J.)g(Gregory)i([12)q(].)66
+1784 y(10.)46 b(ZIB)30 b(Berlin)h(p)s(olyhedral)f(soft)m(w)m(are)i
+(list:)227 1897 y(ftp://elib.zib-b)s(erlin.de/pub/mathprog/p)s
+(olyth/index.h)m(tml.)66 2072 y(11.)46 b(P)m(olyhedral)31
+b(Computation)g(F)-10 b(A)m(Q)31 b([13)q(].)0 2353 y
+Fq(9)135 b(Co)t(des)45 b(Using)g(Cddlib)0 2556 y Fo(There)30
+b(are)h(quite)f(a)h(few)f(nice)h(programs)f(using)g(some)h(functions)f
+(of)g(cddlib.)40 b(Here)31 b(are)g(some)g(of)f(them.)111
+2731 y(1.)46 b Fn(LattE)29 b Fo([9)q(])h(computes)h(the)g(n)m(um)m(b)s
+(er)e(of)h(lattice)j(p)s(oin)m(ts)d(in)g(a)h(con)m(v)m(ex)h(p)s(olytop)
+s(e.)111 2906 y(2.)46 b Fn(Minksum)34 b Fo([22)q(])h(is)h(a)g(program)f
+(to)h(compute)g(the)f(V-represen)m(tation)i(\(i.e.)57
+b(the)36 b(set)g(of)f(v)m(ertices\))j(of)d(the)227 3019
+y(Mink)m(o)m(wski)25 b(addition)f(of)f(sev)m(eral)i(con)m(v)m(ex)h(p)s
+(olytop)s(es)d(giv)m(en)h(b)m(y)g(their)g(V-represen)m(tation)h(in)e
+Fa(R)3522 2986 y Fg(d)3562 3019 y Fo(.)38 b(It)24 b(is)g(an)227
+3132 y(implemen)m(tation)29 b(in)f(C++)e(language)j(of)f(the)f(rev)m
+(erse)i(searc)m(h)f(algorithm)g([14)r(])f(whose)h(time)g(complexit)m(y)
+227 3244 y(is)j(p)s(olynomially)g(b)s(ounded)d(b)m(y)i(the)h(sizes)g
+(of)f(input)g(and)f(output.)111 3420 y(3.)46 b Fn(Gfan)32
+b Fo([17)q(])g(is)h(a)g(program)f(to)h(list)g(all)h(reduced)d(Gr\177)
+-45 b(obner)32 b(bases)h(of)f(a)h(general)h(p)s(olynomial)e(ideal)i
+(giv)m(en)227 3533 y(b)m(y)d(a)h(set)g(of)f(generating)h(p)s
+(olynomials)g(in)e Fj(n)p Fo(-v)-5 b(ariables.)44 b(It)31
+b(is)g(an)g(implemen)m(tation)i(in)e(C++)f(language)227
+3645 y(of)h(the)f(rev)m(erse)h(searc)m(h)g(algorithm)h([15)q(].)111
+3821 y(4.)46 b Fn(TOPCOM)c Fo([21)q(])h(computes)g(the)g(com)m
+(binatorial)j(structure)c(\(the)i(orien)m(ted)g(matroid\))f(of)h(a)f(p)
+s(oin)m(t)g(con-)227 3933 y(\014guration)d(and)f(en)m(umerates)h(all)g
+(triangulations)h(of)f(a)g(p)s(oin)m(t)f(set.)69 b(It)40
+b(detects)h(the)e(regularlit)m(y)i(of)f(a)227 4046 y(triangulation)32
+b(using)e(cddlib.)0 4327 y Fq(Ac)l(kno)l(wledgemen)l(ts.)0
+4530 y Fo(I)44 b(am)g(grateful)h(to)g(T)-8 b(om)44 b(Liebling)h(who)f
+(pro)m(vided)f(me)i(with)f(an)g(ideal)h(opp)s(ortunit)m(y)e(to)i(visit)
+g(EPFL)f(for)0 4643 y(the)37 b(academic)i(y)m(ear)f(1993-1994.)65
+b(Later,)39 b(Hans-Jak)m(ob)f(L)s(\177)-48 b(uthi)37
+b(\(ETHZ\))g(and)f(Emo)i(W)-8 b(elzl)39 b(\(ETHZ\))e(joined)0
+4756 y(to)j(supp)s(ort)d(the)i(the)g(dev)m(elopmen)m(t)h(of)f(cdd)f(co)
+s(des)h(\(cdd,)i(cdd+,)g(cddlib\).)66 b(Without)39 b(their)g(generous)g
+(and)0 4869 y(con)m(tin)m(uing)31 b(supp)s(ort,)e(the)i(presen)m(t)f
+(form)g(of)h(this)f(program)g(w)m(ould)g(not)h(ha)m(v)m(e)h(existed.)
+141 4982 y(There)i(are)h(man)m(y)g(other)f(p)s(eople)h(who)f(help)s(ed)
+f(me)i(to)g(impro)m(v)m(e)h(cdd,)f(in)f(particular,)i(I)e(am)h
+(indebted)f(to)0 5094 y(Da)m(vid)d(Avis,)f(Alexander)h(Bo)s(c)m(kma)m
+(yr,)g(Da)m(vid)g(Bremner,)f(Henry)g(Crap)s(o,)f(Istv)-5
+b(an)30 b(Csabai,)h(F)-8 b(rancois)31 b(Margot,)0 5207
+y(Marc)k(Pfetsc)m(h,)i(Alain)e(Pro)s(don,)f(J\177)-45
+b(org)35 b(Ram)m(bau,)h(Dima)f(P)m(asec)m(hnik,)i(Sha)m(wn)d(Rusa)m(w,)
+h(Matthew)h(Saltzman,)0 5320 y(Masanori)26 b(Sato,)h(Anders)d(Jensen,)h
+(Rurik)m(o)g(Y)-8 b(oshida,)27 b(Charles)e(Gey)m(er,)i(Mic)m(hal)g(Kv)
+-5 b(asnica,)26 b(Sv)m(en)f(V)-8 b(erdo)s(olaege)0 5433
+y(\(listed)31 b(in)f(arbitrary)g(order\))h(and)e(those)i(listed)g(in)f
+(the)h(HISTOR)-8 b(Y)30 b(\014le.)1903 5682 y(17)p eop
+end
+%%Page: 18 18
+TeXDict begin 18 17 bop 0 44 a Fq(References)45 247 y
+Fo([1])47 b(N.)21 b(Amen)m(ta.)k(Directory)c(of)g(computational)h
+(geometry)-8 b(.)26 b(h)m(ttp://www.geom.uiuc.edu/soft)m(w)m
+(are/cglist/.)45 433 y([2])47 b(D.)31 b(Avis.)41 b Ff(lrs)33
+b(Homep)-5 b(age)p Fo(.)42 b(h)m(ttp://cgm.cs.mcgill.ca/~a)n(vis/C/l)q
+(rs.h)m(tml.)45 618 y([3])47 b(D.)37 b(Avis,)h(D.)f(Bremner,)h(and)e
+(R.)g(Seidel.)59 b(Ho)m(w)38 b(go)s(o)s(d)e(are)h(con)m(v)m(ex)h(h)m
+(ull)e(algorithms.)60 b Ff(Computational)187 731 y(Ge)-5
+b(ometry:)43 b(The)-5 b(ory)35 b(and)e(Applic)-5 b(ations)p
+Fo(,)33 b(7:265{302,)h(1997.)45 917 y([4])47 b(D.)40
+b(Avis)g(and)f(K.)g(F)-8 b(ukuda.)67 b(A)40 b(piv)m(oting)h(algorithm)f
+(for)f(con)m(v)m(ex)j(h)m(ulls)d(and)g(v)m(ertex)h(en)m(umeration)g(of)
+187 1029 y(arrangemen)m(ts)31 b(and)f(p)s(olyhedra.)40
+b Ff(Discr)-5 b(ete)32 b(Comput.)i(Ge)-5 b(om.)p Fo(,)32
+b(8:295{313,)i(1992.)45 1215 y([5])47 b(R.)30 b(Bagnara.)42
+b(P)m(arma)31 b(p)s(olyhedra)f(library)g(homepage,)h(2004.)42
+b(h)m(ttp://www.cs.unipr.it/ppl/.)45 1400 y([6])47 b(C.B.)39
+b(Barb)s(er,)h(D.P)-8 b(.)40 b(Dobkin,)h(and)d(H.)h(Huhdanpaa.)65
+b Ff(qhul)5 b(l,)42 b(V)-7 b(ersion)40 b(2003.1)p Fo(,)k(2003.)67
+b(program)38 b(and)187 1513 y(rep)s(ort)30 b(a)m(v)-5
+b(ailable)32 b(from)e(h)m(ttp://www.qh)m(ull.org/.)45
+1699 y([7])47 b(D.)29 b(Bremner,)h(K.)e(F)-8 b(ukuda,)30
+b(and)e(A.)h(Marzetta.)41 b(Primal-dual)29 b(metho)s(ds)f(for)h(v)m
+(ertex)h(and)e(facet)j(en)m(umer-)187 1812 y(ation.)41
+b(In)30 b Ff(Pr)-5 b(o)g(c.)33 b(13th)i(A)n(nnu.)c(A)n(CM)h(Symp)-5
+b(os.)34 b(Comput.)g(Ge)-5 b(om.)p Fo(,)32 b(pages)e(49{56,)j(1997.)45
+1997 y([8])47 b(T.)29 b(Christof)f(and)g(A.)i(L\177)-45
+b(ob)s(el.)38 b(POR)-8 b(T)g(A:)29 b(P)m(olyhedron)g(represen)m(tation)
+h(transformation)g(algorithm)g(\(v)m(er.)187 2110 y(1.3.1\),)j(1997.)42
+b(h)m(ttp://www.zib.de/Optimization/Soft)m(w)m(are/P)m(orta/.)45
+2296 y([9])47 b(J.)d(de)g(Lo)s(era,)k(D.)d(Ha)m(ws,)k(R.)44
+b(Hemmec)m(k)m(e,)50 b(P)m(eter)45 b(Huggins,)j(J.)d(T)-8
+b(auzer,)48 b(and)c(R.)g(Y)-8 b(oshida.)82 b Ff(L)-5
+b(attE)p Fo(.)187 2409 y(Univ)m(ersit)m(y)31 b(of)g(California,)g(Da)m
+(vis,)h(2005.)43 b(a)m(v)-5 b(ailable)32 b(from)e(h)m
+(ttp://www.math.ucda)m(vis.edu/)i(latte/.)0 2594 y([10])47
+b(H.)31 b(Edelsbrunner.)38 b Ff(A)n(lgorithms)33 b(in)g(Combinatorial)i
+(Ge)-5 b(ometry)p Fo(.)42 b(Springer-V)-8 b(erlag,)32
+b(1987.)0 2780 y([11])47 b(J.)73 b(Eric)m(kson.)170 b(Computational)74
+b(geometry)h(pages,)85 b(list)74 b(of)g(soft)m(w)m(are)h(libraries)e
+(and)g(co)s(des.)187 2893 y(h)m
+(ttp://compgeom.cs.uiuc.edu/~je\013e/compgeom/.)0 3078
+y([12])47 b(R.)e(F)-8 b(ourer)44 b(and)g(J.W.)i(Gregory)-8
+b(.)84 b(Linear)44 b(programming)g(frequen)m(tly)h(ask)m(ed)g
+(questions)g(\(LP-F)-10 b(A)m(Q\).)187 3191 y(h)m
+(ttp://www-unix.mcs.anl.go)m(v/otc/Guide/faq/linear-programming-faq.)q
+(h)m(tml.)0 3377 y([13])47 b(K.)37 b(F)-8 b(ukuda.)61
+b(P)m(olyhedral)38 b(computation)g(F)-10 b(A)m(Q,)38
+b(1998.)63 b(Both)38 b(h)m(tml)g(and)e(ps)h(v)m(ersions)g(a)m(v)-5
+b(ailable)40 b(from)187 3489 y(h)m(ttp://www.ifor.math.ethz.c)m
+(h/~fukuda/fukuda.h)m(tml.)0 3675 y([14])47 b(K.)g(F)-8
+b(ukuda.)91 b(F)-8 b(rom)48 b(the)f(zonotop)s(e)i(construction)f(to)g
+(the)f(Mink)m(o)m(wski)i(addition)e(of)h(con)m(v)m(ex)h(p)s(oly-)187
+3788 y(top)s(es.)90 b Ff(Journal)49 b(of)f(Symb)-5 b(olic)49
+b(Computation)p Fo(,)k(38\(4\):1261{1272)q(,)k(2004.)92
+b(p)s(df)45 b(\014le)i(a)m(v)-5 b(ailable)49 b(from)187
+3901 y(h)m(ttp://www.cs.mcgill.ca/~fukuda/do)m(wnload/pap)s
+(er/minksum031007jsc.p)s(df.)0 4086 y([15])e(K.)d(F)-8
+b(ukuda,)47 b(A.)d(Jensen,)i(and)e(R.)f(Thomas.)81 b(Computing)43
+b(Gr\177)-45 b(obner)43 b(fans.)80 b(T)-8 b(ec)m(hnical)45
+b(rep)s(ort.)80 b(In)187 4199 y(preparation.)0 4385 y([16])47
+b(K.)c(F)-8 b(ukuda)43 b(and)g(A.)h(Pro)s(don.)78 b(Double)44
+b(description)f(metho)s(d)g(revisited.)80 b(In)43 b(M.)h(Deza,)k(R.)c
+(Euler,)187 4498 y(and)k(I.)h(Manoussakis,)55 b(editors,)f
+Ff(Combinatorics)e(and)f(Computer)g(Scienc)-5 b(e)p Fo(,)54
+b(v)m(olume)c(1120)g(of)g Ff(L)-5 b(e)g(c-)187 4611 y(tur)g(e)37
+b(Notes)g(in)g(Computer)h(Scienc)-5 b(e)p Fo(,)37 b(pages)e(91{111.)j
+(Springer-V)-8 b(erlag,)38 b(1996.)56 b(ps)34 b(\014le)i(a)m(v)-5
+b(ailable)37 b(from)187 4723 y(ftp://ftp.ifor.math.ethz.c)m
+(h/pub/fukuda/rep)s(orts/ddrev960315.ps.gz.)0 4909 y([17])47
+b(A.N.)40 b(Jensen.)68 b Ff(Gfan)42 b(version)g(0.1:)59
+b(A)41 b(User's)g(Manual)p Fo(.)69 b(Departmen)m(t)41
+b(of)f(Mathematical)j(Sciences,)187 5022 y(Univ)m(ersit)m(y)27
+b(of)g(Aarh)m(us)e(and)h(Institute)h(for)f(Op)s(erations)f(Researc)m
+(h,)k(ETH)c(Zuric)m(h,)i(2005.)35 b(a)m(v)-5 b(ailable)29
+b(from)187 5135 y(h)m(ttp://home.imf.au.dk/a)5 b(jensen/soft)m(w)m
+(are/gfan/gfan.h)m(tml.)0 5320 y([18])47 b(A.)30 b(Marzetta.)43
+b Ff(p)-5 b(d)34 b({)f(C-implementation)h(of)f(the)g(primal-dual)h
+(algoirithm)p Fo(,)f(1997.)42 b(co)s(de)30 b(a)m(v)-5
+b(ailable)33 b(from)187 5433 y(h)m(ttp://www.cs.un)m
+(b.ca/profs/bremner/p)s(d/.)1903 5682 y(18)p eop end
+%%Page: 19 19
+TeXDict begin 19 18 bop 0 44 a Fo([19])47 b(T.S.)34 b(Motzkin,)j(H.)e
+(Rai\013a,)i(GL.)f(Thompson,)e(and)g(R.M.)i(Thrall.)53
+b(The)34 b(double)g(description)h(metho)s(d.)187 157
+y(In)c(H.W.)i(Kuhn)d(and)h(A.W.T)-8 b(uc)m(k)m(er,)35
+b(editors,)d Ff(Contributions)k(to)e(the)-5 b(ory)36
+b(of)e(games,)h(V)-7 b(ol.)34 b(2)p Fo(.)e(Princeton)187
+270 y(Univ)m(ersit)m(y)f(Press,)g(Princeton,)g(RI,)f(1953.)0
+458 y([20])47 b(K.)37 b(Mulm)m(uley)-8 b(.)63 b Ff(Computational)43
+b(Ge)-5 b(ometry,)42 b(An)d(Intr)-5 b(o)g(duction)42
+b(Thr)-5 b(ough)41 b(Randamize)-5 b(d)42 b(Algorithms)p
+Fo(.)187 571 y(Pren)m(tice-Hall,)33 b(1994.)0 758 y([21])47
+b(J.)f(Ram)m(bau.)87 b Ff(TOPCOM,)46 b(a)h(p)-5 b(ackage)48
+b(for)f(c)-5 b(omputing)49 b(T)-7 b(riangulations)49
+b(Of)d(Point)h(Con\014gur)-5 b(ations)187 871 y(and)53
+b(Oriente)-5 b(d)53 b(Matr)-5 b(oids)p Fo(.)106 b(Univ)m(ersit)m(y)53
+b(of)f(Ba)m(yreuth,)58 b(2005.)106 b(a)m(v)-5 b(ailable)54
+b(from)d(h)m(ttp://www.uni-)187 984 y(ba)m(yreuth.de/departmen)m
+(ts/wirtsc)m(haftsmathematik/ram)m(bau/TOPCOM/.)0 1172
+y([22])c(C.)27 b(W)-8 b(eib)s(el.)37 b Ff(Minksum)30
+b(version)g(1.1)p Fo(.)37 b(Mathematics)30 b(Institute,)e(EPF)g
+(Lausanne,)f(2005.)38 b(a)m(v)-5 b(ailable)30 b(from)187
+1285 y(h)m(ttp://roso.ep\015.c)m(h/cw/p)s(oly/public.php.)0
+1472 y([23])47 b(D.K.)30 b(Wilde.)39 b(A)29 b(library)g(for)f(doing)i
+(p)s(olyhedral)e(op)s(erations.)39 b(Master's)30 b(thesis,)g(Oregon)f
+(State)h(Univ)m(er-)187 1585 y(sit)m(y)-8 b(,)37 b(Corv)-5
+b(allis,)36 b(Oregon,)f(Dec)g(1993.)54 b(Also)35 b(published)d(in)i
+(IRISA)g(tec)m(hnical)i(rep)s(ort)d(PI)h(785,)j(Rennes,)187
+1698 y(F)-8 b(rance;)32 b(Dec,)f(1993.)1903 5682 y(19)p
+eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/third_party/cddlib/doc/cddlibman.tex b/third_party/cddlib/doc/cddlibman.tex
new file mode 100644
index 0000000..c55b8d6
--- /dev/null
+++ b/third_party/cddlib/doc/cddlibman.tex
@@ -0,0 +1,1180 @@
+% The name of this file: cddlibman.tex
+% written by by Komei Fukuda
+% created March 15, 1999
+% modified February 7, 2008
+%
+\documentclass[11pt]{article}
+\usepackage{html,amsmath,amssymb}
+\renewcommand{\baselinestretch}{1}
+\renewcommand{\arraystretch}{1}
+\setlength{\oddsidemargin}{0mm}
+\setlength{\textwidth}{165mm}
+\setlength{\topmargin}{-15mm}
+\setlength{\textheight}{232mm}
+%\setlength{\headsep}{0in}
+%\setlength{\headheight}{0pt}
+\pagestyle{plain}
+
+\newcommand {\0} {{\bf 0}}
+\newcommand{\R}{{\Bbb R}}
+
+\begin{document}
+\title{cddlib Reference Manual}
+\author{Komei Fukuda\\
+Institute for Operations Research\\
+and Institute of Theoretical Computer Science\\
+ETH Zentrum, CH-8092 Zurich, Switzerland\\
+}
+\date{ (cddlib ver. 0.94, manual ver. February 7, 2008)}
+
+\maketitle
+
+\tableofcontents
+
+\begin{abstract}
+This is a reference manual for cddlib-094.  
+The manual describes the library functions and data types implemented 
+in the cddlib C-library which is to perform fundamental polyhedral 
+computations such as representation conversions and linear programming
+in both floating-point and GMP rational exact arithmetic.
+Please read the accompanying README file and test programs to 
+complement the manual.
+
+The new functions added in this version include {\tt dd\_MatrixCanonicalize}
+to find a non-redundant proper H- or V-representation,
+{\tt dd\_FindRelativeInterior} to find a relative interior point
+of an H-polyhedron, and  {\tt dd\_ExistsRestrictedFace} (Farkas-type 
+alternative theorem verifier)
+to check the existence of a point satisfying a specified system
+of linear inequalities possibly including multiple strict inequalities.
+
+The new functions are particularly important for the development of
+related software packages MinkSum (by Ch. Weibel) and Gfan
+(by Anders Jensen),
+
+\end{abstract}
+
+\section{Introduction} \label{INTRODUCTION}
+
+The program  cddlib  is an efficient implementation \cite{fp-ddmr-96}  of 
+the double description Method~\cite{mrtt-ddm-53}
+for generating  all vertices (i.e. extreme points)
+and extreme rays of a general 
+convex polyhedron given by 
+a system of linear inequalities:
+\[
+   P = \{ x=(x_1, x_2, \ldots, x_d)^T \in R^{d}:  b - A  x  \ge 0 \}
+\]
+where $A$ is a given $m \times d$ real matrix and 
+$b$ is a given real $m$-vector.   In the mathematical
+language, the computation is the transformation
+of an {\em H-representation\/} of a convex polytope
+to an {\em V-representation}.  
+
+cddlib is a C-library version of the previously released C-code cdd/cdd+.
+In order to make this library version, a large part of the cdd source
+(Version 0.61) has been rewritten.
+This library version is more flexible since it can be called from other programs in C/C++.
+Unlike cdd/cdd+, cddlib can handle any general input and is more general.
+Furtthermore,  additional functions have been written to extend its functionality.
+
+One useful feature of  cddlib/cdd/cdd+ is its capability
+of handling the dual (reverse)  problem without any transformation
+of data.  The dual transformation problem of a V-representation
+to a minimal H-representation and is often called the 
+{\em (convex) hull problem\/}.  More explicitly,
+is to obtain a linear inequality representation
+of a convex polyhedron given as the Minkowski sum of 
+the convex hull of a finite set of points and the nonnegative
+hull of a finite set of points in $R^{d}$: 
+\[
+P = conv(v_1,\ldots,v_n) +  nonneg(r_{n+1},\ldots,r_{n+s}), 
+\]
+where
+ the {\em Minkowski sum of two subsets $S$ and $T$} of $R^{d}$ is defined
+as 
+\[
+S + T = \{ s + t \; |  s \in S \mbox{ and } t \in T \}.
+\]
+As we see in this manual, the computation can be done
+in straightforward manner.  Unlike the earlier versions of
+cdd/cdd+ that assume certain regularity conditions for input, 
+cddlib is designed to do a correct transformation for any general input.
+The user must be aware of the fact that in certain cases the
+transformation is not unique and there are polyhedra with
+infinitely many representations.  For example, a line
+segment (1-dimensional polytope) in $R^3$ has infinitely
+many minimal H-representations, and a halfspace in the same space
+has infinitely many minimal V-representations.  cddlib generates
+merely one minimal representation.
+
+cddlib comes with an LP code to solve the general
+linear programming (LP) problem to maximize (or minimize) a linear
+function over polyhedron $P$.   It is useful mainly for solving 
+dense LP's with large $m$ (say, up to few hundred thousands) and small $d$ 
+(say, up to 100).  It implements a revised dual simplex method that
+updates $(d+1)\times (d+1)$ matrix for a pivot operation.
+
+The program cddlib has an I/O routines that read and write files in 
+{\em Polyhedra format\/} which was defined by David Avis and
+the author in 1993, and has been updated in 1997 and 1999.  
+The program called lrs and lrslib \cite{a-lrshome-01} developed by David Avis is
+a C-implementation of the reverse search algorithm~\cite{af-pachv-92} 
+for the same enumeration purpose, and it conforms to Polyhedra format as well.
+Hopefully, this compatibility of the two programs
+enables users to use both programs for the same input files
+and to choose whichever is useful for their purposes.
+From our experiences with relatively large problems,
+the two methods are both useful and perhaps complementary
+to each other.  In general, the program cddlib tends to be
+efficient for highly degenerate inputs and the program rs
+tends to be efficient for nondegenerate or slightly
+degenerate problems.
+
+Although the program can be used for nondegenerate inputs,
+it might not be very efficient.  For nondegenerate inputs, 
+other available programs, such as the reverse search code lrs or
+qhull (developed by the Geometry Center),
+might be more efficient.  See Section~\ref{CODES} 
+for pointers to these codes.  
+The paper \cite{abs-hgach-97} contains many interesting results on polyhedral
+computation and experimental results on cdd+, lrs, qhull and porta.
+
+This program can be distributed freely under the GNU GENERAL PUBLIC LICENSE.
+Please read the file COPYING carefully before using.
+
+I will not take any responsibility of any problems you might have
+with this program.  But I will be glad to receive bug reports or suggestions
+at the e-mail addresses above. If cddlib turns out to be useful, 
+please kindly inform  me of  what purposes cdd has been used for. 
+I will be happy to include a list of applications in future
+distribution  if I receive  enough replies.
+The most powerful support for free software development
+is user's appreciation and collaboration.
+
+\section{Polyhedra H- and V-Formats (Version 1999)} \label{FORMAT}
+\bigskip
+Every convex polyhedron has two representations, one as
+the intersection of finite halfspaces and the other
+as Minkowski sum of the convex hull of finite points
+and the nonnegative hull of finite directions.  These are
+called H-representation and V-representation, respectively.
+
+Naturally there are two basic Polyhedra formats, 
+H-format for  H-representation and V-format for
+V-representation.    These two formats are designed
+to be almost indistinguishable, and in fact, one can
+almost pretend one for the other.   There is some asymmetry
+arising from the asymmetry of two representations.
+
+First we start with the H-representation.
+Let $A$ be an $m \times d$ matrix, and let $b$ be a column $m$-vector.
+The Polyhedra format  ({\em  H-format} )  of 
+the system  $\; b - A x \ge \0\;$ of $m$ inequalities in $d$ variables
+$x =(x_1, x_2, \ldots, x_d)^T$ is
+
+\begin{tabular}{ccl}
+\\ \hline
+\multicolumn{3}{l} {various comments}\\
+\multicolumn{3}{l} {{\bf H-representation}}\\
+\multicolumn{3}{l} {{\bf (linearity $t\;$ $i_1\;$  $i_2\;$  $\ldots$ $\;i_t$)}}\\
+\multicolumn{3}{l} {{\bf begin}}\\
+ $m$ & $d+1$ & numbertype\\
+ $b$ & $-A$ \\
+\multicolumn{3}{l} {{\bf end}}\\
+\multicolumn{3}{l} {various options} \\ \hline
+\end{tabular}
+
+\bigskip
+\noindent
+where numbertype can be one of integer, rational or real.
+When rational type is selected, each component
+of $b$ and $A$ can be specified by the usual integer expression 
+or by the rational expression ``$p / q$''  or  ``$-p / q$'' where
+$p$ and $q$ are arbitrary long positive integers (see the example
+input file rational.ine).  In the 1997 format,
+we introduced ``H-representation'' which must appear
+before ``begin''. 
+There was one restriction in the old polyhedra format 
+(before 1997):  the last $d$ rows must determine
+a vertex of $P$.  This is obsolete now.
+
+In the new 1999 format, we added the possibility of specifying {\bf linearity\/}.
+This means that
+for H-representation, some of the input rows can be specified as  {\bf equalities}:  
+$b_{i_j} - A_{i_j} x = 0 \;$ for all $j=1,2, \ldots, t$.
+The linearity line may be omitted if there are no equalities.
+
+Option lines can be used to control computation of a specific program.
+In particular both cdd and lrs use the option lines to represent
+a linear objective function.  See the attached LP files, samplelp*.ine.
+
+\bigskip
+Next we define Polyhedra  {\em V-format}.  Let $P$ be 
+represented by $n$ gerating points and $s$ generating directions (rays) as 
+$P = conv(v_1,\ldots,v_n) +  nonneg(r_{n+1},\ldots,r_{n+s})$.
+Then the Polyhedra V-format for $P$ is 
+
+\begin{tabular}{cll}
+\\ \hline
+\multicolumn{3}{l} {various comments}\\
+\multicolumn{3}{l} {{\bf V-representation}}\\
+\multicolumn{3}{l} {({\bf linearity $t\;$ $i_1\;$  $i_2\;$  $\ldots$ $\;i_t$ })}\\
+\multicolumn{3}{l} {{\bf begin}}\\
+ $n+s$ & $d+1$ & numbertype\\
+ $1$ & $v_1$  & \\
+ $\vdots$ & $\vdots$  & \\
+ $1$ & $v_n$  & \\
+ $0$ & $r_{n+1}$  & \\
+ $\vdots$ & $\vdots$  & \\
+ $0$ & $r_{n+s}$  & \\
+\multicolumn{3}{l} {{\bf end}}\\
+\multicolumn{3}{l} {various options} \\ \hline
+\end{tabular}
+
+\bigskip
+\noindent
+Here we do not require that
+vertices and rays are listed
+separately; they can appear mixed in arbitrary
+order.
+
+Linearity for V-representation specifies a subset of generators
+whose coefficients are relaxed
+to be {\bf free}:  for all $j=1,2, \ldots, t$, the $k=i_j$th generator ($v_{k}$ or $r_k$ whichever is the $i_j$th generator) is a free generator. 
+This means for each such a ray $r_k$, 
+the line generated by $r_k$ is in the polyhedron,
+and for each such a vertex $v_k$, its coefficient is no longer nonnegative
+but still the coefficients for all $v_i$'s must sum up to one. 
+It is highly unlikely that one needs to
+use linearity for vertex generators, and it is defined mostly
+for formality.
+
+When the representation statement, either ``H-representation''
+or ``V-representation'', is omitted, the former
+``H-representation'' is assumed.
+
+It is strongly suggested to use the following rule for naming
+H-format files and V-format files:   
+\begin{description}
+\item[(a)] use the filename  extension ``.ine'' for H-files (where ine stands for inequalities), and 
+\item[(b)]  use the filename  extension ``.ext'' for V-files (where ext stands for extreme points/rays). 
+\end{description}
+
+
+\section{Basic Object Types (Structures) in cddlib}  \label{DATASTR}
+
+Here are the types (defined in cddtypes.h) that are 
+important for the cddlib user.  The most important one, 
+{\tt dd\_MatrixType},
+is to store a Polyhedra data in a straightforward manner.
+Once the user sets up a (pointer to)  {\tt dd\_MatrixType} data,
+he/she can load the data to an internal data type ({\tt dd\_PolyhedraType})
+by using functions described in the next section, and apply
+the double descrition method to get another representation.
+As an option  {\tt dd\_MatrixType} can save a linear objective function
+to be used by a linear programming solver.
+
+The two dimensional array data in the structure {\tt dd\_MatrixType} is
+{\tt dd\_Amatrix} whose components are of type {\tt mytype\/}.
+The type mytype is set to be either the rational type {\tt mpq\_t} of 
+the GNU MP Library or the C double array of size $1$.
+This abstract type allows us to write a single program that can
+be compiled with the two or more different arithmetics, see example
+programs such as simplecdd.c, testlp*.c and testcdd*.c
+in the {\tt src} and {\tt src-gmp} subdirectories of the source
+distribution.
+
+There is another data type that is used very often, {\tt dd\_SetFamilyType}.
+This is to store a family of subsets of a finite set.  Such a family
+can represent the incidence relations between the set of extreme
+points and the set of facets of a polyhedron.  Also, it can represent a
+graph structure by listing the set of vertices adjacent to each vertex (i.e.
+the adjacency list).   To implement  {\tt dd\_SetFamilyType},
+we use  a separate set library called {\tt setoper}, that
+handles the basic set operations,   This library is briefly introduced in
+Section~\ref{SetFunctions}.
+
+
+\begin{verbatim}
+
+#define dd_FALSE 0
+#define dd_TRUE 1
+
+typedef long dd_rowrange;
+typedef long dd_colrange;
+typedef long dd_bigrange;
+
+typedef set_type dd_rowset;   /* set_type defined in setoper.h */
+typedef set_type dd_colset;
+typedef long *dd_rowindex;   
+typedef int *dd_rowflag;   
+typedef long *dd_colindex;
+typedef mytype **dd_Amatrix;  /* mytype is either GMP mpq_t or 1-dim double array. */
+typedef mytype *dd_Arow;
+typedef set_type *dd_SetVector;
+
+typedef enum {
+  dd_Real, dd_Rational, dd_Integer, dd_Unknown
+} dd_NumberType;
+
+typedef enum {
+  dd_Inequality, dd_Generator, dd_Unspecified
+} dd_RepresentationType;
+
+typedef enum {
+  dd_MaxIndex, dd_MinIndex, dd_MinCutoff, dd_MaxCutoff, dd_MixCutoff,
+   dd_LexMin, dd_LexMax, dd_RandomRow
+} dd_RowOrderType;
+
+typedef enum {
+  dd_InProgress, dd_AllFound, dd_RegionEmpty
+} dd_CompStatusType;
+
+typedef enum {
+  dd_DimensionTooLarge, dd_ImproperInputFormat, 
+  dd_NegativeMatrixSize, dd_EmptyVrepresentation,
+  dd_IFileNotFound, dd_OFileNotOpen, dd_NoLPObjective, 
+  dd_NoRealNumberSupport, dd_NoError
+} dd_ErrorType;
+
+typedef enum {
+  dd_LPnone=0, dd_LPmax, dd_LPmin
+} dd_LPObjectiveType;
+
+typedef enum {
+  dd_LPSundecided, dd_Optimal, dd_Inconsistent, dd_DualInconsistent,
+  dd_StrucInconsistent, dd_StrucDualInconsistent,
+  dd_Unbounded, dd_DualUnbounded
+} dd_LPStatusType;
+
+typedef struct matrixdata *dd_MatrixPtr;
+typedef struct matrixdata {
+  dd_rowrange rowsize;
+  dd_rowset linset; 
+    /*  a subset of rows of linearity (ie, generators of
+        linearity space for V-representation, and equations
+        for H-representation. */
+  dd_colrange colsize;
+  dd_RepresentationType representation;
+  dd_NumberType numbtype;
+  dd_Amatrix matrix;
+  dd_LPObjectiveType objective;
+  dd_Arow rowvec;
+}  dd_MatrixType;
+
+typedef struct setfamily *dd_SetFamilyPtr;
+typedef struct setfamily {
+  dd_bigrange famsize;
+  dd_bigrange setsize;
+  dd_SetVector set;  
+} dd_SetFamilyType;
+
+typedef struct lpsolution *dd_LPSolutionPtr;
+typedef struct lpsolution {
+  dd_DataFileType filename;
+  dd_LPObjectiveType objective;
+  dd_LPSolverType solver; 
+  dd_rowrange m;
+  dd_colrange d;
+  dd_NumberType numbtype;
+
+  dd_LPStatusType LPS;  /* the current solution status */
+  mytype optvalue;  /* optimal value */
+  dd_Arow sol;   /* primal solution */
+  dd_Arow dsol;  /* dual solution */
+  dd_colindex nbindex;  /* current basis represented by nonbasic indices */
+  dd_rowrange re;  /* row index as a certificate in the case of inconsistency */
+  dd_colrange se;  /* col index as a certificate in the case of dual inconsistency */
+  long pivots[5]; 
+   /* pivots[0]=setup (to find a basis), pivots[1]=PhaseI or Criss-Cross,
+      pivots[2]=Phase II, pivots[3]=Anticycling, pivots[4]=GMP postopt  */
+  long total_pivots;
+} dd_LPSolutionType;
+
+\end{verbatim}
+
+\section{Library Functions}  \label{LIBRARY}
+
+Here we list some of the most important library functions/procedures. 
+We use the following convention: 
+{\tt poly} is of type {\tt dd\_PolyhedraPtr},
+{\tt matrix}, {\tt matrix1} and {\tt matrix2} are of type {\tt dd\_MatrixPtr},
+{\tt matrixP}, of type {\tt dd\_MatrixPtr*},
+{\tt err} is of type {\tt dd\_ErrorType*}, 
+{\tt ifile} and {\tt ofile} are of type {\tt char*},
+{\tt A} is of type {\tt dd\_Amatrix},
+{\tt point} and {\tt vector} are of type {\tt dd\_Arow},
+{\tt d} is of type {\tt dd\_colrange}, 
+{\tt m} and {\tt i} are of type {\tt dd\_rowrange},
+{\tt x} is of type {\tt mytype}, 
+{\tt a} is of type {\tt signed long integer},
+{\tt b} is of type {\tt double},
+{\tt set} is of type {\tt set\_type}.
+  Also,
+{\tt setfam} is of type {\tt dd\_SetFamilyPtr},
+{\tt lp} is of type {\tt dd\_LPPtr},
+{\tt lps} is of type {\tt dd\_LPSolutionPtr},
+{\tt solver} is of type {\tt dd\_LPSolverType},
+{\tt roworder} is of type {\tt dd\_RowOrderType}.
+
+
+\subsection{Library Initialization}  \label{Initialization}
+
+\begin{description}
+
+\item[{\tt void dd\_set\_global\_constants(void)}]:\\
+This is to set the global constants such as {\tt dd\_zero},
+{\tt dd\_purezero} and
+{\tt dd\_one} for sign recognition and basic arithmetic
+operations.  {Every program to use cddlib must call this function}
+before doing any computation.    Just call this once.
+ See Section \ref{constants} for the definitions of
+constants.
+
+\item[{\tt void dd\_free\_global\_constants(void)}]:\\
+This is to free the global constants. This should be called
+when one does not use cddlib functions anymore.
+\end{description}
+
+\subsection{Core Functions}  \label{CoreLibrary}
+
+There are two types of core functions in cddlib.  The first type
+runs the double description (DD) algorithm and does a representation
+conversion of a specified polyhedron.  The standard header
+for this type is {\tt dd\_DD*}.  The second type solves
+one or more linear programs with no special headers.   
+Both types of computations are nontrivial
+and the users (especially for the DD algorithm) must
+know that there is a serous limit in the sizes of problems
+that can be practically solved. 
+Please check *.ext and *.ine files that come with cddlib to get
+ideas of tractable problems. 
+
+In addition to previously defined objects, the symbol  {\tt roworder} is
+of {\tt dd\_RowOrderType}. The symbol {\tt matrixP} is 
+a pointer to {\bf dd\_MatrixType}.
+the arguments {\tt impl\_lin} and {\tt redset} are both a pointer 
+to {\tt dd\_rowset} type, and {\tt newpos} is a pointer to 
+{\tt dd\_rowindex} type. 
+
+
+\begin{description}
+\item[{\tt dd\_PolyhedraPtr dd\_DDMatrix2Poly(matrix, err)}]:\\
+Store the representation given by {\tt matrix} in a polyhedra data, and
+generate the second representation of {\tt *poly}.  It returns
+a pointer to the data. {\tt *err}
+returns {\tt dd\_NoError} if the computation terminates normally.  Otherwise,
+it returns a value according to the error occured.
+
+\item[{\tt dd\_PolyhedraPtr dd\_DDMatrix2Poly2(matrix, roworder, err)}]:\\
+This is the same function as  {\tt dd\_DDMatrix2Poly} except that the insertion
+order is specified by the user.  The argument {\tt roworder} is of {\tt dd\_RowOrderType}
+and takes one of the values:
+  {\tt dd\_MaxIndex}, {\tt dd\_MinIndex}, {\tt dd\_MinCutoff}, {\tt dd\_MaxCutoff}, {\tt dd\_MixCutoff},
+   {\tt dd\_LexMin}, {\tt dd\_LexMax}, {\tt dd\_RandomRow}.   In general, {\tt dd\_LexMin} is
+the best choice which is in fact chosen in {\tt dd\_DDMatrix2Poly}.  If you know that 
+the input is already sorted in the order you like, use  {\tt dd\_MinIndex} or  {\tt dd\_MaxIndex}.
+If the input contains many redundant rows (say more than $80\%$ redundant),
+you might want to try {\tt dd\_MaxCutoff} which might result in much faster termination,
+see \cite{abs-hgach-97,fp-ddmr-96}
+
+\item[{\tt boolean dd\_DDInputAppend(poly, matrix, err)}]:\\
+Modify the input representation in {\tt *poly}
+by appending the matrix of {\tt *matrix}, and compute
+the second representation.  The number of columns in
+{\tt *matrix} must be equal to the input representation.
+
+\item[{\tt boolean dd\_LPSolve(lp, solver, err)}]:\\
+Solve {\tt lp} by the algorithm {\tt solver} and save
+the solututions in {\tt *lp}.  Unlike the earlier versions
+(dplex, cdd+), it can deal with equations and totally zero right
+hand sides.   It is recommended that {\tt solver} is
+{\tt dd\_DualSimplex}, the revised dual simplex method
+that updates a $d\times d$ dual basis matrix in each pivot (where
+$d$ is the column size of lp).
+
+The revised dual simplex method is ideal for dense LPs in small number of variables 
+(i.e. small column size, typically less than $100$)
+and many inequality constraints (i.e. large row size, can be a few ten thousands).  
+If your LP has many variables but only few constraints, solve the dual LP by
+this function.
+
+When it is compiled for GMP rational
+arithmetic, it first tries to solve an LP with C  double
+floating-point arithmetic and verifies whether the output
+basis is correct with GMP.  If so, the correct solution is
+computed with GMP.  Otherwise, it (re)solves the LP
+from scratch with GMP.   This is newly implemented
+in the version 093.  The original (non-crossover) version of 
+the same function is still  available as {\tt boolean dd\_LPSolve0}.
+
+\item[{\tt dd\_boolean dd\_Redundant(matrix, i, point, err)}]:\\
+Check whether $i$th data in {\tt matrix} is redundant for the representation.
+If it is nonredundant, it returns a certificate.  For H-representation,
+it is a {\tt point} in $R^d$ which satisfies
+all inequalities except for the $i$th inequality.  If $i$ is a linearity,
+it does nothing and always returns {\tt dd\_FALSE}.
+
+\item[{\tt dd\_rowset dd\_RedundantRows(matrix, err)}]:\\
+Returns a maximal set of row indices such that the associated rows
+can be eliminated without changing the polyhedron.  
+The function works for both V- and H-representations.
+
+\item[{\tt dd\_boolean dd\_SRedundant(matrix, i, point, err)}]:\\
+Check whether $i$th data in {\tt matrix} is strongly redundant for the representation.
+If $i$ is a linearity, it does nothing and always returns {\tt dd\_FALSE}.
+Here,  $i$th inequality in H-representation is {\em strongly redundant\/} if it is redundant 
+and there is no point in the polyhedron satisfying the inequality with equality.
+In V-representation,  $i$th point is {\em strongly redundant\/} if it is redundant 
+and it is in the relative interior of the polyhedron. If it is not strongly redundant, it returns a certificate.
+ 
+\item[{\tt dd\_boolean dd\_ImplicitLinearity(matrix, i, err)}]:\\
+Check whether $i$th row
+in the input is forced to be linearity (equality 
+for H-representation).
+If $i$ is linearity itself, 
+it does nothing and always returns {\tt dd\_FALSE}.
+
+\item[{\tt dd\_rowset dd\_ImplicitLinearityRows(matrix, err)}]:\\
+Returns the set of indices of rows that are 
+implicitly linearity.  It simply calls the library function
+{\tt dd\_ImplicitLinearity} for each inequality and collects
+the row indices for which the answer is {\tt dd\_TRUE}.
+
+\item[{\tt dd\_boolean dd\_MatrixCanonicalize(matrixP, impl\_lin, redset, newpos, err)}]:\\
+ The input is a pointer {\tt matrixP} to a matrix and the function
+modifies the matrix by putting a maximally linear independent linearities (basis)
+at the top of the matrix, and removing all redundant data.
+All implicit linearities and all (removed) redundant rows
+in the original matrix will be returned in the corresponding row sets.
+The new positions of the original rows are returned by 
+the array {\tt newpos}.
+
+The cardinality of the new linearity set {\tt  (*matrixP)->linset} is the codimension
+of the polyhedron if it is H-polyhedron, and is the dimension of linearity space
+if it is V-polyhedron.
+
+Note that the present version should not be called a canonicalization
+because it may generate two different representations of the same
+polyhedron.  In the future, this function is expected to be correctly
+implemented. 
+
+\item[{\tt dd\_boolean dd\_MatrixCanonicalizeLinearity(matrixP, impl\_linset, newpos. err)}]:\\
+It does only the first half of {\tt dd\_boolean dd\_MatrixCanonicalize}, namely, it detects all
+implicit linearities and puts a maximally independent linearities
+at the top of the matrix.  For example, this function can be 
+used to detect the dimension of an H-polyhedron.
+
+\item[{\tt dd\_boolean dd\_MatrixRedundancyRemove(matrixP, redset, newpos, err)}]:\\
+It does essentially the second half of {\tt dd\_boolean dd\_MatrixCanonicalize}, 
+namely, it detects all
+redundancies.  This function should be used after {\tt dd\_MatrixCanonicalizeLinearity}
+has been called.
+
+
+\item[{\tt dd\_boolean dd\_FindRelativeInterior(matrix, impl\_lin, lin\_basis, lps, err)}]:\\
+Computes a point in the relative interior of an H-polyhedron given by matrix, by solving
+an LP. The point will be returned by {\tt lps}.
+See the sample program allfaces.c that generates all nonempty faces of an H-polyhedron and
+a relative interior point for each face.   The former returns all implicit linearity rows (implicit equations)
+and the latter returns a basis of the union of linearity rows and implicit linearity rows.
+This means that the cardinality of {\tt *lin\_basis} is the codimension of the polyhedron.
+
+
+\item[{\tt dd\_boolean dd\_ExistsRestrictedFace(matrix, R, S, err)}]:\\
+Returns the answer to the Farkas' type decision problem as to whether there is a point
+in the polyhedron given by matrix satisfying all constraints in {\tt R} with
+equality and all constraints in {\tt S} with strict inequality.  More precisely,
+it is the linear feasibility problem:
+\[
+\begin{array}{llllll}
+\exists\mbox{?} &x  &\mbox{ satisfying } & b_r - A_r x  &= 0, \; \forall r \in R\cup L \\
+                &   &                    & b_s - A_s x  &> 0, \; \forall s \in S \\
+                &   &                    & b_t - A_t x  &\ge 0, \; \forall t \in T,
+\end{array}
+\]
+where $L$ is the set of linearity rows of {\tt matrix}, and $T$ represents
+the set of rows that are not in $R\cup L \cup S$.
+Both {\tt R} and {\tt S} are of {\tt dd\_rowset} type.  The set $S$ is
+supposed to be disjoint from both $R$ and $L$.
+If it is not the case, the set $S$ will be considered as $S \setminus (R \cup L)$.
+
+This function ignores {\tt matrix->representation}, and thus even if it is
+set to {\tt dd\_Generator} or {\tt dd\_Unspecified}, it treats the matrix
+as if it were inequality representation.
+
+\item[{\tt dd\_boolean dd\_ExistsRestrictedFace2(matrix, R, S, lps, err)}]:\\
+It is the same as the function {\tt dd\_ExistsRestrictedFace} except that
+it returns also a certificate for the answer.  The certificate is a solution
+to the bounded LP: 
+\[
+\begin{array}{lllllll}
+\mbox{(P)} &\max  z  &\mbox{ subject to } & b_r - A_r x  &   & = 0, \; \forall r \in R\cup L \\
+           &         &                    & b_s - A_s x  &-z &\ge 0, \;  \forall s \in S \\
+          &         &                    & b_t - A_t x   &   &\ge 0, \; \forall t \in T \\
+         &         &                    & 1              & -z&\ge 0,
+\end{array}
+\]
+where $L$ is the set of linearity rows of {\tt matrix}, and $T$ represents
+the set of rows that are not in $R\cup L \cup S$.
+The answer for the decision problem is YES if and only if the LP attains 
+an optimal and the optimal value is positive.  The dual solution (either
+an optimal solution or a dual unbounded direction) can be considered
+as a certificate for the NO answer, if the answer is NO.
+
+This function ignores {\tt matrix->representation}, and thus even if it is
+set to {\tt dd\_Generator} or {\tt dd\_Unspecified}, it treats the matrix
+as if it were inequality representation.
+
+\item[{\tt dd\_SetFamilyPtr dd\_Matrix2Adjacency(matrix, err)}]:\\
+Computes the adjacency list of input rows using
+the LP solver and without running the representation conversion.  When
+the input is H-representation, it gives the facet graph of the polyhedron.
+For V-representation, it gives the (vertex) graph of the polyhedron.
+It is required that the input matrix is a minimal representation.
+Run redundancy removal functions before calling this function,
+see the sample code adjacency.c. 
+
+
+\item[{\tt dd\_SetFamilyPtr dd\_Matrix2WeakAdjacency(matrix, err)}]:\\
+Computes the weak adjacency list of input rows using
+the LP solver and without running the representation conversion.  When
+the input is H-representation, it gives the graph where its nodes are the facets
+two nodes  are adjacent if and only if the associated facets have
+some intersection.
+For V-representation, it gives the graph where its nodes are the vertices
+and two nodes are adjacent if and only if the associated vertices
+are on a common facet.
+It is required that the input matrix is a minimal representation.
+Run redundancy removal functions before calling this function,
+see the sample code adjacency.c. 
+
+\item[{\tt dd\_MatrixPtr dd\_FourierElimination(matrix, err)}]:\\
+Eliminate the last variable from a system of linear inequalities
+given by matrix by using the Fourier's Elimination.  If the 
+input matrix is V-representation, {\tt  *err} returns
+{\tt dd\_NotAvailForV}.   This function does not
+remove redundancy  and one might want to call
+redundancy removal functions afterwards. See the sample code fourier.c.
+
+\item[{\tt dd\_MatrixPtr dd\_BlockElimination(matrix, set, err)}]:\\
+Eliminate a set of variables from a system of linear inequalities
+given by matrix by using the extreme rays of the dual linear system.
+See comments in the code cddproj.c for details.  This might be
+a faster way to eliminate variables than the repeated FourierElimination when
+the number of variables to eliminate is large. 
+If the input matrix is V-representation, {\tt  *err}  returns {\tt dd\_NotAvailForV}.
+This function does not remove redundancy  and one might want to call
+redundancy removal functions afterwards. See the sample code projection.c.
+
+
+\item[{\tt dd\_rowrange dd\_RayShooting(matrix, point, vector)}]:\\
+Finds the index of a halfspace first left by the ray starting from
+{\tt point} toward the direction {\tt vector}.  It resolves
+tie by a lexicographic perturbation.  Those inequalities violated
+by {\tt point} will be simply ignored.
+
+\end{description}
+
+
+\subsection{Data Manipulations}  \label{DataLibrary}
+
+\subsubsection{Number Assignments}
+For number assignments, one cannot use such expressions as {\tt x=(mytype)a}.
+This is because cddlib uses an abstract number type ({\tt mytype}) 
+so that it can compute with various 
+number types such as C double and GMP rational.
+User can easily add a new number type by redefining
+arithmetic operations in cddmp.h and cddmp.c.
+
+\begin{description}
+
+
+\item[{\tt void dd\_init(x)}]:\\
+This is to initialize a {\tt mytype} variable {\tt x} and to set it
+to zero.    This initialization has to be called before
+any {\tt mytype} variable to be used.
+
+\item[{\tt void dd\_clear(x)}]:\\
+This is to free the space allocated to a {\tt mytype} variable {\tt x}.
+
+\item[{\tt void dd\_set\_si(x, a)}]:\\
+This is to set a {\tt mytype} variable {\tt x} to the
+value of signed long integer {\tt a}.  
+
+\item[{\tt void dd\_set\_si2(x, a, b)}]:\\
+This is to set a {\tt mytype} variable {\tt x} to the
+value of  the rational expression {\tt a/b}, where
+{\tt a} is signed long and  {\tt b} is unsigned long
+integers.  
+
+\item[{\tt void dd\_set\_d(x, b)}]:\\
+This is to set a {\tt mytype} variable {\tt x} to the
+value of double {\tt b}.  This is available only
+when the library is compiled without {\tt -DGMPRATIONAL}
+compiler option.
+
+\end{description}
+
+
+\subsubsection{Arithmetic Operations for {\tt mytype} Numbers}
+
+Below  {\tt x}, {\tt y}, {\tt z}  are of type {\tt mytype}.
+
+\begin{description}
+
+\item[{\tt void dd\_add(x, y, z)}]:\\
+Set {\tt x} to be the sum of  {\tt y} and  {\tt z}.
+
+\item[{\tt void dd\_sub(x, y, z)}]:\\
+Set {\tt x} to be the substraction of  {\tt z}  from  {\tt y}.
+
+\item[{\tt void dd\_mul(x, y, z)}]:\\
+Set {\tt x} to be the multiplication of  {\tt y}  and  {\tt z}.
+
+\item[{\tt void dd\_div(x, y, z)}]:\\
+Set {\tt x} to be the division of  {\tt y}  over  {\tt z}.
+
+\item[{\tt void dd\_inv(x, y)}]:\\
+Set {\tt x} to be the reciplocal of  {\tt y}.
+
+\end{description}
+
+
+\subsubsection{Predefined  Constants} \label{constants}
+
+There are several {\tt mytype} constants defined when {\tt dd\_set\_global\_constants(void)} is called.
+Some constants depend on the double constant {\tt dd\_almostzero} which is normally set to $10^{-7}$ in cdd.h. 
+This value can be modified depending on how numerically delicate your problems are but an extra
+caution should be taken.
+
+\begin{description}
+
+\item[{\tt mytype dd\_purezero}]:\\
+This represents the mathematical zero $0$.
+
+\item[{\tt mytype dd\_zero}]:\\
+This represents the largest positive number which should be considered to be zero.  In the GMPRATIONAL
+mode, it is equal to {\tt dd\_purezero}.   In the C double mode, it is set to the value of {\tt dd\_almostzero}.
+
+\item[{\tt mytype dd\_minuszero}]:\\
+The negative of {\tt dd\_zero}.
+
+\item[{\tt mytype dd\_one}]:\\
+This represents the mathematical one $1$.
+
+
+\end{description}
+
+\subsubsection{Sign Evaluation and Comparison for {\tt mytype} Numbers}
+
+Below {\tt x}, {\tt y}, {\tt z} are of type {\tt mytype}.  
+
+\begin{description}
+
+\item[{\tt dd\_boolean dd\_Positive(x)}]:\\
+Returns {\tt dd\_TRUE} if {\tt x} is considered positive,  and  {\tt dd\_FALSE} otherwise.
+In the GMPRATIONAL mode, the positivity recognition is exact.  In the C double mode,
+this means the value is strictly larger than  {\tt dd\_zero}.
+
+{\tt dd\_boolean dd\_Negative(x)} works similarly.
+
+\item[{\tt dd\_boolean dd\_Nonpositive(x)}]:\\
+Returns the negation of {\tt dd\_Positive(x)}.   {\tt dd\_Nonnegative(x)} works similarly.
+
+\item[{\tt dd\_boolean dd\_EqualToZero(x)}]:\\
+Returns {\tt dd\_TRUE} if {\tt x} is considered zero,  and  {\tt dd\_FALSE} otherwise.
+In the GMPRATIONAL mode, the zero recognition is exact.  In the C double mode,
+this means the value is inbetween {\tt dd\_minuszero} and  {\tt dd\_zero}
+inclusive.
+
+\item[{\tt dd\_boolean dd\_Larger(x, y)}]:\\
+Returns {\tt dd\_TRUE} if {\tt x} is strictly larger than {\tt y},  and  {\tt dd\_FALSE} otherwise.
+This is implemented as {dd\_Positive(z)} where {\tt z} is the subtraction of {\tt y}
+from {\tt x}.
+{\tt dd\_Smaller(x, y)} works similarly.
+
+\item[{\tt dd\_boolean dd\_Equal(x, y)}]:\\
+Returns {\tt dd\_TRUE} if {\tt x} is considered equal to  {\tt y},  and  {\tt dd\_FALSE} otherwise.
+This is implemented as {dd\_EqualToZero(z)} where {\tt z} is the subtraction of {\tt y}
+from {\tt x}.
+\end{description}
+
+
+
+\subsubsection{Polyhedra Data Manipulation}
+\begin{description}
+
+\item[{\tt dd\_MatrixPtr dd\_PolyFile2Matrix (f, err)}]:\\
+Read a Polyhedra data from stream {\tt f} and store it in {\tt matrixdata}
+and return a pointer to the data.
+
+\item[{\tt dd\_MatrixPtr dd\_CopyInequalities(poly)}]:\\
+Copy the inequality representation pointed by poly to {\tt matrixdata}
+and return {\tt dd\_MatrixPtr}.
+
+\item[{\tt dd\_MatrixPtr dd\_CopyGenerators(poly)}]:\\ 
+Copy the generator representation pointed by poly to {\tt matrixdata}
+and return {\tt dd\_MatrixPtr}.
+
+\item[{\tt dd\_SetFamilyPtr dd\_CopyIncidence(poly)}]:\\ 
+Copy the incidence representation of the computed representation
+pointed by poly to {\tt setfamily}
+and return {\tt dd\_SetFamilyPtr}.  The computed representation is
+{\tt Inequality} if the input is {\tt Generator}, and the vice visa.
+
+\item[{\tt dd\_SetFamilyPtr dd\_CopyAdjacency(poly)}]:\\ 
+Copy the adjacency representation of the computed representation
+pointed by poly to {\tt setfamily}
+and return {\tt dd\_SetFamilyPtr}.  The computed representation is
+{\tt Inequality} if the input is {\tt Generator}, and the vice visa.
+
+\item[{\tt dd\_SetFamilyPtr dd\_CopyInputIncidence(poly)}]:\\ 
+Copy the incidence representation of the input representation
+pointed by poly to {\tt setfamily}
+and return {\tt d\_SetFamilyPtr}.
+
+\item[{\tt dd\_SetFamilyPtr dd\_CopyInputAdjacency(poly)}]:\\ 
+Copy the adjacency representation of the input representation
+pointed by poly to {\tt setfamily}
+and return {\tt d\_SetFamilyPtr}.
+
+\item[{\tt void dd\_FreePolyhedra(poly)}]:\\
+Free memory allocated to {\tt poly}.
+
+\end{description}
+
+\subsubsection{LP Data Manipulation}
+\begin{description}
+
+\item[{\tt dd\_LPPtr dd\_MakeLPforInteriorFinding(lp)}]:\\
+Set up an LP to find an interior point of the feasible region of {\tt lp}
+and return a pointer to the LP.  The new LP has one new variable
+$x_{d+1}$ and one more constraint:
+$\max x_{d+1}$ subject to $b - A x - x_{d+1} \ge 0$ and $x_{d+1} \le K$,
+where $K$ is a positive constant.
+
+\item[{\tt dd\_LPPtr dd\_Matrix2LP(matrix, err)}]:\\
+Load {\tt matrix} to {\tt lpdata} and return a pointer to the data.
+
+\item[{\tt dd\_LPSolutionPtr dd\_CopyLPSolution(lp)}]:\\
+Load the solutions of {\tt lp} to {\tt lpsolution} and
+return a pointer to the data.  This replaces the old name
+{\tt dd\_LPSolutionLoad(lp)}.
+
+\item[{\tt void dd\_FreeLPData(lp)}]:\\
+Free memory allocated as an LP data pointed by {\tt lp}.
+
+\item[{\tt void dd\_FreeLPSolution(lps)}]:\\
+Free memory allocated as an LP solution data pointed by {\tt lps}.
+
+\end{description}
+
+\subsubsection{Matrix Manipulation}
+\begin{description}
+
+\item[{\tt dd\_MatrixPtr dd\_CopyMatrix(matrix)}]:\\
+Make a copy of matrixdata pointed by {\tt matrix} and return
+a pointer to the copy.
+
+\item[{\tt dd\_MatrixPtr dd\_AppendMatrix(matrix1, matrix2)}]:\\
+Make a matrixdata by copying {\tt *matrix1} and appending
+the matrix in {\tt *matrix2} and return
+a pointer to the data.  The colsize must be equal in
+the two input matrices.  It returns a {\tt NULL} pointer
+if the input matrices are not appropriate.
+Its {\tt rowsize} is set to
+the sum of the rowsizes of {\tt matrix1} and {\tt matrix2}.
+ The new matrixdata inherits everything else
+(i.e. numbertype, representation, etc)
+from the first matrix. 
+
+\item[{\tt int dd\_MatrixAppendTo(\& matrix1, matrix2)}]:\\
+Same as {\tt dd\_AppendMatrix} except that the first matrix
+is modified to take the result.
+
+\item[{\tt int dd\_MatrixRowRemove(\& matrix, i)}]:\\
+Remove the $i$th row of {\tt matrix}.
+
+\item[{\tt dd\_MatrixPtr dd\_MatrixSubmatrix(matrix, set)}]:\\
+Generate the submatrix of {\tt matrix} by removing the
+rows indexed by {\tt set} and return a matrixdata pointer.
+
+\item[{\tt  dd\_SetFamilyPtr dd\_Matrix2Adjacency(matrix, err)}]:\\
+Return the adjacency list of the representation given by {\tt matrix}.
+The computation is done by the built-in LP solver.  The representation
+should be free of redundancy when this function is called. 
+See the function  {\tt dd\_rowset dd\_RedundantRows}
+and the example program adjacency.c.
+
+\end{description}
+
+\subsection{Input/Output Functions}  \label{IOLibrary}
+
+\begin{description}
+
+\item[{\tt dd\_MatrixPtr dd\_PolyFile2Matrix (f, err)}]:\\
+Read a Polyhedra data from stream {\tt f} and store it in {\tt matrixdata}
+and return a pointer to the data.
+
+\item[{\tt boolean dd\_DDFile2File(ifile, ofile, err)}]:\\
+Compute the representation conversion for a polyhedron given
+by a Polyhedra file ifile, and write the other representation
+in a Polyhedra file ofile.  {\tt *err}
+returns {\tt dd\_NoError} if the computation terminates normally.  Otherwise,
+it returns a value according to the error occured.
+
+\item[{\tt void dd\_WriteMatrix(f, matrix)}]:\\
+Write {\tt  matrix} to stream {\tt f}.
+
+\item[{\tt void dd\_WriteNumber(f, x)}]:\\
+Write {\tt x} to stream {\tt f}.  If {\tt x} is of GMP mpq\_t rational $p/q$,
+the output is $p/q$.  If it is of C double, it is formated as a double float
+with a decimal point.
+
+\item[{\tt void dd\_WritePolyFile(f, poly)}]:\\
+Write {tt poly} to stream {\tt f} in Polyhedra format.
+
+\item[{\tt void dd\_WriteErrorMessages(f, err)}]:\\
+Write error messages given by {\tt err} to stream {\tt f}.
+
+\item[{\tt void dd\_WriteSetFamily(f, setfam)}]:\\
+Write the set family pointed by {\tt setfam} to stream {\tt f}.
+For each set, it outputs its index, its cardinality,
+a colon ``:'' and a ordered list of its elements.
+
+\item[{\tt void dd\_WriteSetFamilyCompressed(f, setfam)}]:\\
+Write the set family pointed by {\tt setfam} to stream {\tt f}.
+For each set, it outputs its index, its cardinality or the
+negative of the cardinality, a colon ``:''
+ and the elements in the set or its complements whichever is smaller.
+Whenever it outputs the complements, the cardinality is negated
+so that there is no ambiguity.
+This will be considered standard for
+outputing incidence (*.icd, *ecd) and adjacency 
+(*.iad, *.ead) data in cddlib.   But there is some minor incompatibility
+with cdd/cdd+ standalone codes.
+
+\item[{\tt void dd\_WriteProgramDescription(f)}]:\\
+Write the cddlib version information to stream {\tt f}.
+
+\item[{\tt void dd\_WriteDDTimes(f, poly)}]:\\
+Write the representation conversion time information on {\tt poly}
+ to stream {\tt f}.
+
+\end{description}
+
+\subsection{Obsolete Functions}  \label{ObsoleteFunctions}
+\begin{description}
+\item[{\tt boolean dd\_DoubleDescription(poly, err)}]: 
+(removed in Version 0.90c)\\
+The new function
+{\tt dd\_DDMatrix2Poly(matrix, err)} (see Section~\ref{CoreLibrary}) 
+replaces (and actually combines) both this and 
+{\tt dd\_Matrix2Poly(matrix, err)}.
+
+\item[{\tt dd\_PolyhedraPtr dd\_Matrix2Poly(matrix, err)}]: 
+(removed in Version 0.90c)\\
+See above for the reason for removal.
+
+\item[{\tt dd\_LPSolutionPtr dd\_LPSolutionLoad(lp)}]:
+(renamed in Version 0.90c)\\
+This function is now called {\tt dd\_CopyLPSolution(lp)}.
+
+\end{description}
+
+
+\subsection{Set Functions in {\tt setoper} library}  \label{SetFunctions}
+
+The cddlib comes with a simple set operation library {\tt setoper}.  The key
+type defined is {\tt set\_type}.   A set is represented by a fixed length
+binary strings.  Thus, the maximum length of a set must be declared when
+it is initialized.
+
+Below the symbols {\tt a},   {\tt b},  {\tt c} are
+of type  {\tt set\_type}.   The symbols {\tt aP} is a
+pointer to type  {\tt set\_type}, and {\tt s}, {\tt t} are of type {\tt long}.
+Here are some of the functions defined.  See {\tt setoper.h} for a
+complete listing.
+
+\begin{description}
+
+\item[{\tt void set\_initialize(aP, s)}]:\\
+Allocate a {\tt set\_type} space of maximum cardinality {\tt s}
+ and make it pointed by {\tt aP}.  The set is initialized as empty set.
+
+\item[{\tt void set\_free(a)}]:\\
+Free the  {\tt set\_type} space allocated for {\tt a}.
+
+\item[{\tt void set\_copy(a, b))}]:\\
+Set {\tt a} to be {\tt b}.   The set {\tt a} must be pre-initialized
+with the same maximum cardinality as that of {\tt b}.  
+
+\item[{\tt void set\_addelem(a, t))}]:\\
+Add an element  {\tt t} to a set {\tt a}.    The set  {\tt a} stays unchanged
+if it contains the element {\tt t}.
+
+\item[{\tt long set\_card(a))}]:\\
+Return the cardinality of set {\tt a}. 
+
+\item[{\tt int set\_member(t, a))}]:\\
+Return $1$ if  {\tt t} is a member of set {\tt a}, and $0$ otherwise.
+
+
+\item[{\tt void set\_write(a))}]:\\
+Print out the elements of set {\tt a} to {\tt stdout}.  The function {\tt void set\_fwrite(f, a))} output
+to stream {\tt f}.
+
+\end{description}
+
+\section{An Extension of the CDD Library in GMP mode}  \label{GMPLIB}
+
+Starting from the version 093, the GMP version of cddlib, {\tt libcddgmp.a}, contains
+all cdd library functions in two arithmetics.   All functions with the standard prefix {\tt dd\_}
+are computed with the GMP rational arithmetic as before.  The same fuctions with
+the new prefix {\tt ddf\_} are now added to the library  {\tt libcddgmp.a} that are based
+on the C  double floating-point arithmetic.  Thus these functions are equivalent to
+ {\tt libcdd.a} functions, except that all functions and  variable types are with prefix  {\tt ddf\_} and
+the variable type {\tt mytype} is replaced by {\tt myfloat}.
+
+In this sense,  {\tt libcdd.a} is a proper subset of  {\tt libcddgmp.a} and in principle one can
+do everything with  {\tt libcddgmp.a}.   See how the new {\tt dd\_LPSolve} is written in
+cddlp.c.
+
+
+\section{Examples}  \label{EXAMPLES}
+
+See example codes such as testcdd*.c , testlp*.c, redcheck.c, adjacency.c, allfaces,c
+and simplecdd.c 
+in the {\tt src} and {\tt src-gmp} subdirectories of the source
+distribution.
+
+\section{Numerical Accuracy}  \label{accuracy}
+ A little caution is in order.  Many people have observed 
+numerical problems of cddlib when the floating version of cddlib
+is used.   As we all know, floating-point computation
+might not give a correct answer, especially when an input
+data is very sensitive to a small perturbation.  When
+some strange behavior is observed, it is always wise
+to create a rationalization of the input
+(for example, one can replace 0.3333333 with 1/3)
+and to compute it with cddlib compiled with gmp rational
+to see what a correct behavior should be.  Whenever the time
+is not important, it is safer to use gmp rational arithmetic.
+
+If you need speedy computation with floating-point arithmetic,
+you might want to ``play with'' the constant {\tt dd\_almostzero} 
+defined in cdd.h:
+
+\begin{verbatim}
+   #define dd_almostzero  1.0E-7
+\end{verbatim}
+\noindent
+This number is used to recognize whether a number is zero:  
+a number whose absolute value is smaller
+than {\tt dd\_almostzero} is considered zero, and nonzero otherwise.
+You can change this to modify the behavior of cddlib.  One might
+consider the default setting is rather large for double
+precision arithmetic.  This is because cddlib is made
+to deal with highly degenerate data and it works better
+to treat a relatively large ``epsilon'' as zero.
+
+Another thing one can do is scaling.  If the values in one column of
+an input is of smaller magnitude than those in another column, 
+scale one so that they become comparable.
+
+\section{Other Useful Codes}  \label{CODES}
+There are several other useful codes available for vertex enumeration and/or
+convex hull computation  such as lrs, qhull, porta and irisa-polylib.
+The pointers to these codes are available at
+\begin{enumerate}
+\item lrs by D. Avis \cite{a-lrshome-01} (C implementation of the reverse search algorithm 
+\cite{af-pachv-92}). 
+
+\item qhull by C.B. Barber \cite{bdh-qach-03} (C implementation of
+the beneath-beyond method, see \cite{e-acg-87,m-cg-94},
+which is the dual of the dd method). 
+
+\item porta by T. Christof and A. L{\"o}bel \cite{cl-porta-97} (C implementation
+of the Fourier-Motzkin elimination).
+
+\item IRISA polyhedral library by D.K. Wilde
+\cite{w-ldpo-93b} (C implementation
+of a variation of the dd algorithm).
+
+\item PPL: the Parma Polyhedra Library \cite{b-pplhome} by R. Bagnara (C++ implementation of
+a variation of the dd algorithm).
+
+\item {\tt pd} by A. Marzetta \cite{m-pdcip-97} (C implementation of the primal-dual algorithm 
+\cite{bfm-pdmvf-97}). 
+
+ \item Geometry Center Software List by N. Amenta \cite{a-dcg}.
+
+ \item Computational Geometry Pages by J. Erickson \cite{e-cgp}.
+
+ \item Linear Programming FAQ by R. Fourer and J. Gregory \cite{fg-lpfaq}.
+
+ \item ZIB Berlin polyhedral software list:\\
+ \htmladdnormallink{ftp://elib.zib-berlin.de/pub/mathprog/polyth/index.html}
+{ftp://elib.zib-berlin.de/pub/mathprog/polyth/index.html}.
+
+
+\item Polyhedral Computation FAQ \cite{f-pcfaq-98}.
+\end{enumerate}
+
+\section{Codes Using Cddlib}  \label{USERCODES}
+
+There are quite a few nice programs using some functions of cddlib.  
+Here are some of them.
+
+
+\begin{enumerate}
+
+\item {\tt LattE} \cite{dhhhty-latte-05} computes the number of lattice points
+in a convex polytope.
+
+\item {\tt Minksum} \cite{w-msv-05} is a program to compute the V-representation
+(i.e. the set of vertices) of the Minkowski addition of several convex polytopes
+given by their V-representation in $\R^d$.  It is an implementation in C++ language 
+of the reverse search algorithm \cite{f-fzctmacp-04} whose time complexity is
+polynomially bounded by the sizes of input and output.
+
+\item {\tt Gfan} \cite{j-gvum-05} is a program to list all reduced Gr\"obner
+bases of a general polynomial ideal given by a set of generating polynomials
+in $n$-variables.   It is an implementation in C++ language 
+of the reverse search algorithm \cite{fjt-cgf-05}.
+
+
+\item {\tt TOPCOM} \cite{r-topcom-05} computes the combinatorial structure
+(the oriented matroid) of a point configuration and enumerates all triangulations
+of a point set.   It detects the regularlity of a triangulation using cddlib.
+
+\end{enumerate}
+
+
+\section*{Acknowledgements.} 
+I am  grateful to Tom  Liebling who
+provided me with an ideal opportunity to visit EPFL
+for the academic year 1993-1994.  Later, Hans-Jakob L\"uthi (ETHZ) and 
+Emo Welzl  (ETHZ) joined to support the 
+the development of cdd codes (cdd, cdd+, cddlib).
+Without their generous and continuing support, the present form of 
+this program would not have existed.
+
+There are many other people who helped me to improve cdd, in particular,
+I am indebted to  David Avis, 
+Alexander Bockmayr, David Bremner, Henry Crapo, Istvan Csabai, 
+Francois Margot, Marc Pfetsch, Alain Prodon, J\"org Rambau, Dima Pasechnik,
+Shawn Rusaw, Matthew Saltzman, Masanori Sato, Anders Jensen,
+Ruriko Yoshida, Charles Geyer, Michal Kvasnica, Sven Verdoolaege
+ (listed in arbitrary order) and those listed
+in the HISTORY file.
+
+\bibliographystyle{plain}
+
+\bibliography{fukuda1,fukuda2}
+
+\end{document}
+
+
diff --git a/third_party/cddlib/doc/cddlibman.toc b/third_party/cddlib/doc/cddlibman.toc
new file mode 100644
index 0000000..7b8e943
--- /dev/null
+++ b/third_party/cddlib/doc/cddlibman.toc
@@ -0,0 +1,22 @@
+\contentsline {section}{\numberline {1}Introduction}{2}
+\contentsline {section}{\numberline {2}Polyhedra H- and V-Formats (Version 1999)}{3}
+\contentsline {section}{\numberline {3}Basic Object Types (Structures) in cddlib}{4}
+\contentsline {section}{\numberline {4}Library Functions}{7}
+\contentsline {subsection}{\numberline {4.1}Library Initialization}{7}
+\contentsline {subsection}{\numberline {4.2}Core Functions}{7}
+\contentsline {subsection}{\numberline {4.3}Data Manipulations}{11}
+\contentsline {subsubsection}{\numberline {4.3.1}Number Assignments}{11}
+\contentsline {subsubsection}{\numberline {4.3.2}Arithmetic Operations for {\tt mytype} Numbers}{11}
+\contentsline {subsubsection}{\numberline {4.3.3}Predefined Constants}{12}
+\contentsline {subsubsection}{\numberline {4.3.4}Sign Evaluation and Comparison for {\tt mytype} Numbers}{12}
+\contentsline {subsubsection}{\numberline {4.3.5}Polyhedra Data Manipulation}{12}
+\contentsline {subsubsection}{\numberline {4.3.6}LP Data Manipulation}{13}
+\contentsline {subsubsection}{\numberline {4.3.7}Matrix Manipulation}{13}
+\contentsline {subsection}{\numberline {4.4}Input/Output Functions}{14}
+\contentsline {subsection}{\numberline {4.5}Obsolete Functions}{15}
+\contentsline {subsection}{\numberline {4.6}Set Functions in {\tt setoper} library}{15}
+\contentsline {section}{\numberline {5}An Extension of the CDD Library in GMP mode}{16}
+\contentsline {section}{\numberline {6}Examples}{16}
+\contentsline {section}{\numberline {7}Numerical Accuracy}{16}
+\contentsline {section}{\numberline {8}Other Useful Codes}{16}
+\contentsline {section}{\numberline {9}Codes Using Cddlib}{17}
diff --git a/third_party/cddlib/doc/html.sty b/third_party/cddlib/doc/html.sty
new file mode 100644
index 0000000..191bb19
--- /dev/null
+++ b/third_party/cddlib/doc/html.sty
@@ -0,0 +1,360 @@
+% LaTeX2HTML Version 95.1 : html.sty
+%
+%  WARNING:  This file requires LaTeX2e.  A LaTeX 2.09 version
+%	is also provided, but with restricted functionality.
+%
+% This file contains definitions of LaTeX commands which are
+% processed in a special way by the translator. 
+% For example, there are commands for embedding external hypertext links,
+% for cross-references between documents or for including
+% raw HTML.
+% This file includes the comments.sty file v2.0 by Victor Eijkhout
+% In most cases these commands do nothing when processed by LaTeX.
+
+% Modifications:
+%
+%  nd = Nikos Drakos <nikos@cbl.leeds.ac.uk>
+%  jz = Jelle van Zeijl <jvzeijl@isou17.estec.esa.nl>
+%  hs = Herb Swan <dprhws@edp.Arco.com>
+
+% hs 31-JAN-96 - Added support for document segmentation
+% hs 10-OCT-95 - Added \htmlrule command
+% jz 22-APR-94 - Added support for htmlref
+% nd  - Created
+%%%%MG added
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{html}
+          [1996/02/01 v1.0 hypertext commands for latex2html (nd, hs)]
+%%%%MG
+% Exit if the style file is already loaded
+% (suggested by Lee Shombert <las@potomac.wash.inmet.com>
+\ifx \htmlstyloaded\relax \endinput\else\let\htmlstyloaded\relax\fi
+
+%%% LINKS TO EXTERNAL DOCUMENTS
+%
+% This can be used to provide links to arbitrary documents.
+% The first argumment should be the text that is going to be
+% highlighted and the second argument a URL.
+% The hyperlink will appear as a hyperlink in the HTML 
+% document and as a footnote in the dvi or ps files.
+%
+\newcommand{\htmladdnormallinkfoot}[2]{#1\footnote{#2}} 
+
+% This is an alternative definition of the command above which
+% will ignore the URL in the dvi or ps files.
+\newcommand{\htmladdnormallink}[2]{#1}
+
+% This command takes as argument a URL pointing to an image.
+% The image will be embedded in the HTML document but will
+% be ignored in the dvi and ps files.
+%
+\newcommand{\htmladdimg}[1]{}
+
+%%% CROSS-REFERENCES BETWEEN (LOCAL OR REMOTE) DOCUMENTS
+%
+% This can be used to refer to symbolic labels in other Latex 
+% documents that have already been processed by the translator.
+% The arguments should be:
+% #1 : the URL to the directory containing the external document
+% #2 : the path to the labels.pl file of the external document.
+% If the external document lives on a remote machine then labels.pl 
+% must be copied on the local machine.
+%
+%e.g. \externallabels{http://cbl.leeds.ac.uk/nikos/WWW/doc/tex2html/latex2html}
+%                    {/usr/cblelca/nikos/tmp/labels.pl}
+% The arguments are ignored in the dvi and ps files.
+%
+\newcommand{\externallabels}[2]{}
+
+%
+% This complements the \externallabels command above. The argument
+% should be a label defined in another latex document and will be
+% ignored in the dvi and ps files.
+%
+\newcommand{\externalref}[1]{}
+
+% This command adds a horizontal rule and is valid even within
+% a figure caption.
+%
+\newcommand{\htmlrule}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The following commands pertain to document segmentation, and
+% were added by Herbert Swan <dprhws@edp.Arco.com> (with help from
+% Michel Goossens <goossens@cern.ch>):
+%
+%
+% This command inputs internal latex2html tables so that large
+% documents can to partitioned into smaller (more manageable)
+% segments.
+%
+\newcommand{\internal}[2][internals]{}
+
+%
+%  Define a dummy stub \htmlhead{}.  This command causes latex2html
+%  to define the title of the start of a new segment.  It is not
+%  normally placed in the user's document.  Rather, it is passed to
+%  latex2html via a .ptr file written by \segment.
+%
+\newcommand{\htmlhead}[2]{}
+
+%
+%  The dummy command \endpreamble is needed by latex2html to
+%  mark the end of the preamble in document segments that do
+%  not contain a \begin{document}
+%
+\newcommand{\startdocument}{}
+
+%
+%  Allocate a new set of section counters, which will get incremented
+%  for "*" forms of sectioning commands, and for a few miscellaneous
+%  commands.
+%
+
+\newcounter{lpart}
+\newcounter{lchapter}[part]
+\ifx\chapter\undefined\newcounter{lsection}[part]\else\newcounter{lsection}[chapter]\fi
+\newcounter{lsubsection}[section]
+\newcounter{lsubsubsection}[subsection]
+\newcounter{lparagraph}[subsubsection]
+\newcounter{lsubparagraph}[paragraph]
+\newcounter{lsubsubparagraph}[subparagraph]
+\newcounter{lequation}
+%
+%  Redefine "*" forms of sectioning commands to increment their
+%  respective counters.
+%
+\let\Hpart=\part
+\let\Hchapter=\chapter
+\let\Hsection=\section
+\let\Hsubsection=\subsection
+\let\Hsubsubsection=\subsubsection
+\let\Hparagraph=\paragraph
+\let\Hsubparagraph=\subparagraph
+\let\Hsubsubparagraph=\subsubparagraph
+
+%
+%  The following definitions are specific to LaTeX2e:
+%  (They must be commented out for LaTeX 2.09)
+%
+\def\part{\@ifstar{\stepcounter{lpart}\Hpart*}{\Hpart}}
+\def\chapter{\@ifstar{\stepcounter{lchapter}\Hchapter*}{\Hchapter}}
+\def\section{\@ifstar{\stepcounter{lsection}\Hsection*}{\Hsection}}
+\def\subsection{\@ifstar{\stepcounter{lsubsection}\Hsubsection*}{\Hsubsection}}
+\def\subsubsection{\@ifstar{\stepcounter{lsubsubsection}\Hsubsubsection*}{\Hsubsubsection}}
+\def\paragraph{\@ifstar{\stepcounter{lparagraph}\Hparagraph*}{\Hparagraph}}
+\def\subparagraph{\@ifstar{\stepcounter{lsubparagraph}\Hsubparagraph*}{\Hsubparagraph}}
+\def\subsubparagraph{\@ifstar{\stepcounter{lsubsubparagraph}\Hsubsubparagraph*}{\Hsubsubparagraph}}
+%
+%  Define a helper macro to dump a single \secounter command to a file.
+%
+\newcommand{\DumpPtr}[2]{%
+\count255=\arabic{#1} \advance\count255 by \arabic{#2}
+\immediate\write\ptrfile{%
+\noexpand\setcounter{#1}{\number\count255}}}
+
+%
+%  Define a helper macro to dump all counters to the file.
+%  The value for each counter will be the sum of the l-counter
+%      actual LaTeX section counter.
+%  Also dump an \htmlhead{section-command}{section title} command
+%      to the file.
+%
+
+\def\DumpCounters#1#2#3{\newwrite\ptrfile
+\immediate\openout\ptrfile = #1.ptr
+\DumpPtr{part}{lpart}
+\ifx\Hchapter\undefined\relax\else\DumpPtr{chapter}{lchapter}\fi
+\DumpPtr{section}{lsection}
+\DumpPtr{subsection}{lsubsection}
+\DumpPtr{subsubsection}{lsubsubsection}
+\DumpPtr{paragraph}{lparagraph}
+\DumpPtr{subparagraph}{lsubparagraph}
+\DumpPtr{equation}{lequation}
+\immediate\write\ptrfile{\noexpand\htmlhead{#2}{#3}}
+\immediate\closeout\ptrfile}
+
+%
+%  Define the \segment{file}{section-command}{section-title} command,
+%  and its helper macros.  This command does four things:
+%	1)  Begins a new LaTeX section;
+%	2)  Writes a list of section counters to file.ptr, each
+%	    of which represents the sum of the LaTeX section
+%	    counters, and the l-counters, defined above;
+%	3)  Write an \htmlhead{section-title} command to file.ptr;
+%	4)  Inputs file.tex.
+%
+
+%%%%MG changed
+\def\segment{\@ifstar{\@@htmls}{\@@html}}
+\def\@@htmls#1#2#3{\csname #2\endcsname* {#3}%
+                   \DumpCounters{#1}{#2*}{#3}\input{#1}}
+\def\@@html#1#2#3{\csname #2\endcsname {#3}%
+                   \DumpCounters{#1}{#2}{#3}\input{#1}}
+%%%%MG 
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Comment.sty   version 2.0, 19 June 1992
+% selectively in/exclude pieces of text: the user can define new
+% comment versions, and each is controlled separately.
+% This style can be used with plain TeX or LaTeX, and probably
+% most other packages too.
+%
+% Examples of use in LaTeX and TeX follow \endinput
+%
+% Author
+%    Victor Eijkhout
+%    Department of Computer Science
+%    University Tennessee at Knoxville
+%    104 Ayres Hall
+%    Knoxville, TN 37996
+%    USA
+%
+%    eijkhout@cs.utk.edu
+%
+% Usage: all text included in between
+%    \comment ... \endcomment
+% or \begin{comment} ... \end{comment}
+% is discarded. The closing command should appear on a line
+% of its own. No starting spaces, nothing after it.
+% This environment should work with arbitrary amounts
+% of comment.
+%
+% Other 'comment' environments are defined by
+% and are selected/deselected with
+% \includecomment{versiona}
+% \excludecoment{versionb}
+%
+% These environments are used as
+% \versiona ... \endversiona
+% or \begin{versiona} ... \end{versiona}
+% with the closing command again on a line of its own.
+%
+% Basic approach:
+% to comment something out, scoop up  every line in verbatim mode
+% as macro argument, then throw it away.
+% For inclusions, both the opening and closing comands
+% are defined as noop
+%
+% Changed \next to \html@next to prevent clashes with other sty files
+% (mike@emn.fr)
+% Changed \html@next to \htmlnext so the \makeatletter and
+% \makeatother commands could be removed (they were causing other
+% style files - changebar.sty - to crash) (nikos@cbl.leeds.ac.uk)
+% Changed \htmlnext back to \html@next...
+
+\makeatletter
+\def\makeinnocent#1{\catcode`#1=12 }
+\def\csarg#1#2{\expandafter#1\csname#2\endcsname}
+
+\def\ThrowAwayComment#1{\begingroup
+    \def\CurrentComment{#1}%
+    \let\do\makeinnocent \dospecials
+    \makeinnocent\^^L% and whatever other special cases
+    \endlinechar`\^^M \catcode`\^^M=12 \xComment}
+{\catcode`\^^M=12 \endlinechar=-1 %
+ \gdef\xComment#1^^M{\def\test{#1}
+      \csarg\ifx{PlainEnd\CurrentComment Test}\test
+          \let\html@next\endgroup
+      \else \csarg\ifx{LaLaEnd\CurrentComment Test}\test
+            \edef\html@next{\endgroup\noexpand\end{\CurrentComment}}
+      \else \let\html@next\xComment
+      \fi \fi \html@next}
+}
+\makeatother
+
+\def\includecomment
+ #1{\expandafter\def\csname#1\endcsname{}%
+    \expandafter\def\csname end#1\endcsname{}}
+\def\excludecomment
+ #1{\expandafter\def\csname#1\endcsname{\ThrowAwayComment{#1}}%
+    {\escapechar=-1\relax
+     \csarg\xdef{PlainEnd#1Test}{\string\\end#1}%
+     \csarg\xdef{LaLaEnd#1Test}{\string\\end\string\{#1\string\}}%
+    }}
+
+\excludecomment{comment}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%% RAW HTML 
+% 
+% Enclose raw HTML between a \begin{rawhtml} and \end{rawhtml}.
+% The html environment ignores its body
+%
+\excludecomment{rawhtml}
+
+%%% HTML ONLY
+%
+% Enclose LaTeX constructs which will only appear in the 
+% HTML output and will be ignored by LaTeX with 
+% \begin{htmlonly} and \end{htmlonly}
+%
+\excludecomment{htmlonly}
+% Shorter version
+\newcommand{\html}[1]{}
+
+
+%%% LaTeX ONLY
+% Enclose LaTeX constructs which will only appear in the 
+% DVI output and will be ignored by latex2html with 
+%\begin{latexonly} and \end{latexonly}
+%
+\newenvironment{latexonly}{}{}
+% Shorter version
+\newcommand{\latex}[1]{#1}
+
+%%% HYPERREF 
+% Suggested by Eric M. Carol <eric@ca.utoronto.utcc.enfm>
+% Similar to \ref but accepts conditional text. 
+% The first argument is HTML text which will become ``hyperized''
+% (underlined).
+% The second and third arguments are text which will appear only in the paper
+% version (DVI file), enclosing the fourth argument which is a reference to a label.
+%
+%e.g. \hyperref{using the tracer}{using the tracer (see Section}{)}{trace}
+% where there is a corresponding \label{trace}
+%
+\newcommand{\hyperref}[4]{#2\ref{#4}#3}
+
+%%% HTMLREF
+% Reference in HTML version only.
+% Mix between \htmladdnormallink and \hyperref.
+% First arg is text for in both versions, second is label for use in HTML
+% version.
+\newcommand{\htmlref}[2]{#1}
+
+%%% HTMLIMAGE
+% This command can be used inside any environment that is converted
+% into an inlined image (eg a "figure" environment) in order to change
+% the way the image will be translated. The argument of \htmlimage
+% is really a string of options separated by commas ie 
+% [scale=<scale factor>],[external],[thumbnail=<reduction factor>
+% The scale option allows control over the size of the final image.
+% The ``external'' option will cause the image not to be inlined 
+% (images are inlined by default). External images will be accessible
+% via a hypertext link. 
+% The ``thumbnail'' option will cause a small inlined image to be 
+% placed in the caption. The size of the thumbnail depends on the
+% reduction factor. The use of the ``thumbnail'' option implies
+% the ``external'' option.
+%
+% Example:
+% \htmlimage{scale=1.5,external,thumbnail=0.2}
+% will cause a small thumbnail image 1/5th of the original size to be
+% placed in the final document, pointing to an external image 1.5
+% times bigger than the original.
+% 
+\newcommand{\htmlimage}[1]{}
+
+%%% HTMLADDTONAVIGATION
+% This command appends its argument to the buttons in the navigation
+% panel. It is ignored by LaTeX.
+%
+% Example:
+% \htmladdtonavigation{\htmladdnormallink
+%              {\htmladdimg{http://server/path/to/gif}}
+%              {http://server/path}}
+\newcommand{\htmladdtonavigation}[1]{}
+
+\endinput
\ No newline at end of file
diff --git a/third_party/cddlib/examples-ext/ccc4.ext b/third_party/cddlib/examples-ext/ccc4.ext
new file mode 100644
index 0000000..3118d0f
--- /dev/null
+++ b/third_party/cddlib/examples-ext/ccc4.ext
@@ -0,0 +1,15 @@
+* file name: ccc4.ext
+* Complete cut cone on 4 vertices
+* The number of facets is 12.
+V-representation
+begin
+    7    7    integer
+ 0  1  1  1  0  0  0 
+ 0  0  1  1  1  1  0 
+ 0  1  0  1  1  0  1 
+ 0  1  1  0  0  1  1 
+ 0  0  0  1  0  1  1 
+ 0  0  1  0  1  0  1 
+ 0  1  0  0  1  1  0
+end
+
diff --git a/third_party/cddlib/examples-ext/ccc5.ext b/third_party/cddlib/examples-ext/ccc5.ext
new file mode 100644
index 0000000..24d932c
--- /dev/null
+++ b/third_party/cddlib/examples-ext/ccc5.ext
@@ -0,0 +1,22 @@
+* file name: ccc5.ext
+* Complete cut cone on 5 vertices
+* The number of facets is 40.
+V-representation
+begin
+  15  11  integer
+0 1 1 1 1 0 0 0 0 0 0
+0 0 1 1 1 1 1 1 0 0 0
+0 1 0 1 1 1 0 0 1 1 0
+0 1 1 0 1 0 1 0 1 0 1
+0 1 1 1 0 0 0 1 0 1 1
+0 0 0 1 1 0 1 1 1 1 0
+0 0 1 0 1 1 0 1 1 0 1
+0 0 1 1 0 1 1 0 0 1 1
+0 1 0 0 1 1 1 0 0 1 1
+0 1 0 1 0 1 0 1 1 0 1
+0 1 1 0 0 0 1 1 1 1 0
+0 0 0 0 1 0 0 1 0 1 1
+0 0 0 1 0 0 1 0 1 0 1
+0 0 1 0 0 1 0 0 1 1 0
+0 1 0 0 0 1 1 1 0 0 0
+end
diff --git a/third_party/cddlib/examples-ext/ccc6.ext b/third_party/cddlib/examples-ext/ccc6.ext
new file mode 100644
index 0000000..ba4551a
--- /dev/null
+++ b/third_party/cddlib/examples-ext/ccc6.ext
@@ -0,0 +1,38 @@
+* file name: ccc6.ext
+* Complete cut cone on 6 vertices
+* The number of facets is 210.
+V-representation
+begin
+  31  16   integer
+0   1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
+0   0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+0   1 0 1 1 1 1 0 0 0 1 1 1 0 0 0
+0   1 1 0 1 1 0 1 0 0 1 0 0 1 1 0
+0   1 1 1 0 1 0 0 1 0 0 1 0 1 0 1
+0   1 1 1 1 0 0 0 0 1 0 0 1 0 1 1
+0   0 0 1 1 1 0 1 1 1 1 1 1 0 0 0
+0   0 1 0 1 1 1 0 1 1 1 0 0 1 1 0
+0   0 1 1 0 1 1 1 0 1 0 1 0 1 0 1
+0   0 1 1 1 0 1 1 1 0 0 0 1 0 1 1
+0   1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
+0   1 0 1 0 1 1 0 1 0 1 0 1 1 0 1
+0   1 0 1 1 0 1 0 0 1 1 1 0 0 1 1
+0   1 1 0 0 1 0 1 1 0 1 1 0 0 1 1
+0   1 1 0 1 0 0 1 0 1 1 0 1 1 0 1
+0   1 1 1 0 0 0 0 1 1 0 1 1 1 1 0
+0   0 0 0 1 1 0 0 1 1 0 1 1 1 1 0
+0   0 0 1 0 1 0 1 0 1 1 0 1 1 0 1
+0   0 0 1 1 0 0 1 1 0 1 1 0 0 1 1
+0   0 1 0 0 1 1 0 0 1 1 1 0 0 1 1
+0   0 1 0 1 0 1 0 1 0 1 0 1 1 0 1
+0   0 1 1 0 0 1 1 0 0 0 1 1 1 1 0
+0   1 0 0 0 1 1 1 1 0 0 0 1 0 1 1
+0   1 0 0 1 0 1 1 0 1 0 1 0 1 0 1
+0   1 0 1 0 0 1 0 1 1 1 0 0 1 1 0
+0   1 1 0 0 0 0 1 1 1 1 1 1 0 0 0
+0   0 0 0 0 1 0 0 0 1 0 0 1 0 1 1
+0   0 0 0 1 0 0 0 1 0 0 1 0 1 0 1
+0   0 0 1 0 0 0 1 0 0 1 0 0 1 1 0
+0   0 1 0 0 0 1 0 0 0 1 1 1 0 0 0
+0   1 0 0 0 0 1 1 1 1 0 0 0 0 0 0
+end
diff --git a/third_party/cddlib/examples-ext/ccp4.ext b/third_party/cddlib/examples-ext/ccp4.ext
new file mode 100644
index 0000000..9c410ad
--- /dev/null
+++ b/third_party/cddlib/examples-ext/ccp4.ext
@@ -0,0 +1,16 @@
+* file name: ccp4.ext
+* Input file for computing the facets of the complete cut polytope on 4 vertices
+* The number of facets is 16.
+V-representation
+begin
+    8    7    integer
+ 1  0  0  0  0  0  0
+ 1  1  1  1  0  0  0 
+ 1  0  1  1  1  1  0 
+ 1  1  0  1  1  0  1 
+ 1  1  1  0  0  1  1 
+ 1  0  0  1  0  1  1 
+ 1  0  1  0  1  0  1 
+ 1  1  0  0  1  1  0
+end
+
diff --git a/third_party/cddlib/examples-ext/ccp5.ext b/third_party/cddlib/examples-ext/ccp5.ext
new file mode 100644
index 0000000..65374b2
--- /dev/null
+++ b/third_party/cddlib/examples-ext/ccp5.ext
@@ -0,0 +1,24 @@
+* filename: ccp5.ext
+* Input file for computing the facets of the complete cut polytope on 5 vertices
+* The number of facets is 56.
+V-representation
+begin
+  16  11  integer
+1 0 0 0 0 0 0 0 0 0 0
+1 1 1 1 1 0 0 0 0 0 0
+1 0 1 1 1 1 1 1 0 0 0
+1 1 0 1 1 1 0 0 1 1 0
+1 1 1 0 1 0 1 0 1 0 1
+1 1 1 1 0 0 0 1 0 1 1
+1 0 0 1 1 0 1 1 1 1 0
+1 0 1 0 1 1 0 1 1 0 1
+1 0 1 1 0 1 1 0 0 1 1
+1 1 0 0 1 1 1 0 0 1 1
+1 1 0 1 0 1 0 1 1 0 1
+1 1 1 0 0 0 1 1 1 1 0
+1 0 0 0 1 0 0 1 0 1 1
+1 0 0 1 0 0 1 0 1 0 1
+1 0 1 0 0 1 0 0 1 1 0
+1 1 0 0 0 1 1 1 0 0 0
+end
+
diff --git a/third_party/cddlib/examples-ext/ccp6.ext b/third_party/cddlib/examples-ext/ccp6.ext
new file mode 100644
index 0000000..717229d
--- /dev/null
+++ b/third_party/cddlib/examples-ext/ccp6.ext
@@ -0,0 +1,40 @@
+* file name: ccc6.ext
+* Input file for computing the facets of the complete cut polytope on 6 vertices
+* The number of facets is 368.
+V-representation
+begin
+  32  16   integer
+1   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1   1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
+1   0 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+1   1 0 1 1 1 1 0 0 0 1 1 1 0 0 0
+1   1 1 0 1 1 0 1 0 0 1 0 0 1 1 0
+1   1 1 1 0 1 0 0 1 0 0 1 0 1 0 1
+1   1 1 1 1 0 0 0 0 1 0 0 1 0 1 1
+1   0 0 1 1 1 0 1 1 1 1 1 1 0 0 0
+1   0 1 0 1 1 1 0 1 1 1 0 0 1 1 0
+1   0 1 1 0 1 1 1 0 1 0 1 0 1 0 1
+1   0 1 1 1 0 1 1 1 0 0 0 1 0 1 1
+1   1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
+1   1 0 1 0 1 1 0 1 0 1 0 1 1 0 1
+1   1 0 1 1 0 1 0 0 1 1 1 0 0 1 1
+1   1 1 0 0 1 0 1 1 0 1 1 0 0 1 1
+1   1 1 0 1 0 0 1 0 1 1 0 1 1 0 1
+1   1 1 1 0 0 0 0 1 1 0 1 1 1 1 0
+1   0 0 0 1 1 0 0 1 1 0 1 1 1 1 0
+1   0 0 1 0 1 0 1 0 1 1 0 1 1 0 1
+1   0 0 1 1 0 0 1 1 0 1 1 0 0 1 1
+1   0 1 0 0 1 1 0 0 1 1 1 0 0 1 1
+1   0 1 0 1 0 1 0 1 0 1 0 1 1 0 1
+1   0 1 1 0 0 1 1 0 0 0 1 1 1 1 0
+1   1 0 0 0 1 1 1 1 0 0 0 1 0 1 1
+1   1 0 0 1 0 1 1 0 1 0 1 0 1 0 1
+1   1 0 1 0 0 1 0 1 1 1 0 0 1 1 0
+1   1 1 0 0 0 0 1 1 1 1 1 1 0 0 0
+1   0 0 0 0 1 0 0 0 1 0 0 1 0 1 1
+1   0 0 0 1 0 0 0 1 0 0 1 0 1 0 1
+1   0 0 1 0 0 0 1 0 0 1 0 0 1 1 0
+1   0 1 0 0 0 1 0 0 0 1 1 1 0 0 0
+1   1 0 0 0 0 1 1 1 1 0 0 0 0 0 0
+end
+
diff --git a/third_party/cddlib/examples-ext/cyclic10-4.ext b/third_party/cddlib/examples-ext/cyclic10-4.ext
new file mode 100644
index 0000000..84629a5
--- /dev/null
+++ b/third_party/cddlib/examples-ext/cyclic10-4.ext
@@ -0,0 +1,16 @@
+* 3-dim cyclic polytope with 10 vertices
+* Number of facets (outputs) =16
+V-representation
+begin
+10  4  integer
+  1  1  1  1
+  1  2  4  8
+  1  3  9  27
+  1  4  16  64
+  1  5  25  125
+  1  6  36  216
+  1  7  49  343
+  1  8  64  512
+  1  9  81  729
+  1  10  100  1000
+end
diff --git a/third_party/cddlib/examples-ext/cyclic12-6.ext b/third_party/cddlib/examples-ext/cyclic12-6.ext
new file mode 100644
index 0000000..4dfa2f6
--- /dev/null
+++ b/third_party/cddlib/examples-ext/cyclic12-6.ext
@@ -0,0 +1,18 @@
+* 5-dim cyclic polytope with12 vertices
+* Number of facets (outputs) =72
+V-representation
+begin
+12  6  integer
+  1  1  1  1  1  1
+  1  2  4  8  16  32
+  1  3  9  27  81  243
+  1  4  16  64  256  1024
+  1  5  25  125  625  3125
+  1  6  36  216  1296  7776
+  1  7  49  343  2401  16807
+  1  8  64  512  4096  32768
+  1  9  81  729  6561  59049
+  1  10  100  1000  10000  100000
+  1  11  121  1331  14641  161051
+  1  12  144  1728  20736  248832
+end
diff --git a/third_party/cddlib/examples-ext/cyclic14-8.ext b/third_party/cddlib/examples-ext/cyclic14-8.ext
new file mode 100644
index 0000000..df59976
--- /dev/null
+++ b/third_party/cddlib/examples-ext/cyclic14-8.ext
@@ -0,0 +1,20 @@
+* 7-dim cyclic polytope with 14 vertices
+* Number of facets (outputs) =240
+V-representation
+begin
+14  8  integer
+  1  1  1  1  1  1  1  1
+  1  2  4  8  16  32  64  128
+  1  3  9  27  81  243  729  2187
+  1  4  16  64  256  1024  4096  16384
+  1  5  25  125  625  3125  15625  78125
+  1  6  36  216  1296  7776  46656  279936
+  1  7  49  343  2401  16807  117649  823543
+  1  8  64  512  4096  32768  262144  2097152
+  1  9  81  729  6561  59049  531441  4782969
+  1  10  100  1000  10000  100000  1000000  10000000
+  1  11  121  1331  14641  161051  1771561  19487171
+  1  12  144  1728  20736  248832  2985984  35831808
+  1  13  169  2197  28561  371293  4826809  62748517
+  1  14  196  2744  38416  537824  7529536  105413504
+end
diff --git a/third_party/cddlib/examples-ext/cyclic16-10.ext b/third_party/cddlib/examples-ext/cyclic16-10.ext
new file mode 100644
index 0000000..a95b933
--- /dev/null
+++ b/third_party/cddlib/examples-ext/cyclic16-10.ext
@@ -0,0 +1,23 @@
+* 9-dim cyclic polytope with 16 vertices
+* Number of facets (outputs) =660
+* This must be computed with exact arithmetic
+V-representation
+begin
+16  10  integer 
+  1  1  1  1  1  1  1  1  1  1
+  1  2  4  8  16  32  64  128  256  512
+  1  3  9  27  81  243  729  2187  6561  19683
+  1  4  16  64  256  1024  4096  16384  65536  262144
+  1  5  25  125  625  3125  15625  78125  390625  1953125
+  1  6  36  216  1296  7776  46656  279936  1679616  10077696
+  1  7  49  343  2401  16807  117649  823543  5764801  40353607
+  1  8  64  512  4096  32768  262144  2097152  16777216  134217728
+  1  9  81  729  6561  59049  531441  4782969  43046721  387420489
+  1  10  100  1000  10000  100000  1000000  10000000  100000000  1000000000
+  1  11  121  1331  14641  161051  1771561  19487171  214358881  2357947691
+  1  12  144  1728  20736  248832  2985984  35831808  429981696  5159780352
+  1  13  169  2197  28561  371293  4826809  62748517  815730721  10604499373
+  1  14  196  2744  38416  537824  7529536  105413504  1475789056 20661046784
+  1  15  225  3375  50625  759375  11390625  170859375  2562890625 38443359375
+  1  16  256  4096  65536  1048576  16777216  268435456  4294967296 68719476736
+end
diff --git a/third_party/cddlib/examples-ext/irbox20-4.ext b/third_party/cddlib/examples-ext/irbox20-4.ext
new file mode 100644
index 0000000..501bb5c
--- /dev/null
+++ b/third_party/cddlib/examples-ext/irbox20-4.ext
@@ -0,0 +1,26 @@
+* File name: irbox20-4.ext
+* Randomly generated 20 integral points in [-100..100]^3
+V-representation
+begin
+  20   4   integer
+  1    -45      1     47 
+  1    -34     19      4 
+  1      5    -11     28 
+  1     17    -43     17 
+  1    -46      8    -15 
+  1     35    -26     -6 
+  1     41     -3     -8 
+  1    -39     41     34 
+  1    -46     49     40 
+  1    -18    -29     46 
+  1    -20    -25     -2 
+  1    -22     -9    -32 
+  1     31     46      5 
+  1     10     14     11 
+  1    -22     17    -29 
+  1     12      3     -5 
+  1    -44     -5     40 
+  1     -2      4     32 
+  1    -18      8     31 
+  1    -27     40    -48 
+end
diff --git a/third_party/cddlib/examples-ext/irbox200-4.ext b/third_party/cddlib/examples-ext/irbox200-4.ext
new file mode 100644
index 0000000..564f236
--- /dev/null
+++ b/third_party/cddlib/examples-ext/irbox200-4.ext
@@ -0,0 +1,206 @@
+* File name: ibox200-4.ext
+* Randomly generated 200 integral points in [-100..100]^3
+V-representation
+begin
+  200   4   integer
+  1     12    -49      2 
+  1    -38     25     -3 
+  1    -26     39     -7 
+  1    -25     28     44 
+  1    -20    -41    -31 
+  1     49     45     28 
+  1    -42     12    -25 
+  1     -9    -31    -20 
+  1     49      5     33 
+  1     15     34     30 
+  1    -18     -3     31 
+  1     34      8      6 
+  1    -19     31     -4 
+  1     23    -44    -25 
+  1     17    -14    -16 
+  1     36    -14    -20 
+  1     15     -7     42 
+  1     39     33    -39 
+  1    -30     33     15 
+  1    -46     -1      0 
+  1     33     30     47 
+  1     14     14      5 
+  1    -28     45    -13 
+  1     17     18     -7 
+  1     41    -13     27 
+  1    -24    -27    -36 
+  1      5     37      5 
+  1     -2     27    -11 
+  1      7     47    -28 
+  1    -26    -49     20 
+  1     24     34      0 
+  1     21      0    -35 
+  1    -23     20    -39 
+  1     13    -12     28 
+  1    -44    -20    -35 
+  1     33      4    -12 
+  1     46    -39    -25 
+  1      2      7    -47 
+  1     41    -34     49 
+  1    -36    -11    -49 
+  1     33    -37     34 
+  1    -16     34    -15 
+  1     -1    -39    -45 
+  1      8     23     -8 
+  1    -12     29     21 
+  1      2     13    -23 
+  1     39     10    -13 
+  1    -36    -37     43 
+  1    -34    -46    -41 
+  1    -34    -32     -2 
+  1    -33    -49     10 
+  1    -48    -15     -5 
+  1    -14     33      4 
+  1    -10     -7    -21 
+  1     31     29    -42 
+  1      2    -18     21 
+  1     29    -29    -18 
+  1    -34    -15     -6 
+  1    -41      0     -2 
+  1    -32     16     14 
+  1     14     32     15 
+  1    -25     33    -49 
+  1     19    -31     33 
+  1    -26      8    -24 
+  1      2    -10    -44 
+  1      9     42    -12 
+  1    -19     21      8 
+  1     12     37     43 
+  1    -44     45     -6 
+  1      3    -36    -40 
+  1    -31     27     42 
+  1     33    -47     25 
+  1     33     21     43 
+  1     17     45      1 
+  1     43     -2     41 
+  1     49    -42     34 
+  1    -13    -11      5 
+  1     45    -49     -7 
+  1     38    -43    -11 
+  1    -18     10      2 
+  1     -8     28    -19 
+  1    -16     12    -17 
+  1    -40     -4    -45 
+  1    -46    -36    -49 
+  1      5    -43     -2 
+  1     -3    -44      5 
+  1    -18     -7     43 
+  1     36    -12     44 
+  1    -20    -24    -49 
+  1     18      7     10 
+  1    -29     48    -10 
+  1      0    -17    -48 
+  1     33     -8     -2 
+  1     37     -4     10 
+  1     38    -49     17 
+  1    -14     -2     22 
+  1     41     28    -35 
+  1     35     15      2 
+  1     29     44     27 
+  1     30     13    -15 
+  1     -8     33    -16 
+  1     30    -16     15 
+  1     31    -32    -42 
+  1    -20    -44      3 
+  1     39     43      3 
+  1      6    -20    -49 
+  1    -20    -29     29 
+  1     -5    -44     -5 
+  1     46     34    -11 
+  1     24     15    -48 
+  1    -41    -43     35 
+  1     -8     37    -30 
+  1    -42     19    -13 
+  1    -34     48     -8 
+  1     18     37    -15 
+  1    -27     -5     13 
+  1    -27     23     33 
+  1    -48    -32     39 
+  1     -3    -35     23 
+  1     34     38    -10 
+  1     36     47     -4 
+  1     22    -11    -17 
+  1     41     -3    -47 
+  1    -22     12    -49 
+  1     18    -18     37 
+  1    -46      3    -17 
+  1     17     26    -44 
+  1      1     28    -26 
+  1     -9    -25    -11 
+  1    -35    -40    -23 
+  1      3     46    -26 
+  1     49     18     12 
+  1    -18      9    -40 
+  1    -16     37     21 
+  1    -15      5    -46 
+  1    -27      9      6 
+  1      4    -23    -16 
+  1     10     27    -38 
+  1     34    -31    -14 
+  1    -27    -17     -4 
+  1     -1     35     -8 
+  1     22     34    -40 
+  1    -15    -33     19 
+  1     -5      0      6 
+  1    -33     34    -37 
+  1    -30    -43     21 
+  1     26     11     48 
+  1    -40    -28     26 
+  1    -29    -43     44 
+  1      6    -21    -23 
+  1    -48     27    -38 
+  1     -7      0     46 
+  1      2     34    -36 
+  1    -28    -21     13 
+  1     27     -5     -1 
+  1     39     14      5 
+  1     11     -9    -33 
+  1      9      0    -11 
+  1    -14     20     -5 
+  1    -20    -22     23 
+  1      6    -21      0 
+  1     18     21     49 
+  1     14    -25     34 
+  1     27     -4    -37 
+  1     -8    -26      7 
+  1     39    -36    -27 
+  1     -4     24     13 
+  1     11    -15    -36 
+  1    -49     20     33 
+  1     -4     49    -38 
+  1    -31      6    -10 
+  1     18    -25    -38 
+  1     18     39    -13 
+  1      2     17     32 
+  1     14    -41    -44 
+  1    -27     48    -31 
+  1     -5     -6     43 
+  1    -42    -44    -22 
+  1    -29    -44     48 
+  1    -45      1     47 
+  1    -34     19      4 
+  1      5    -11     28 
+  1     17    -43     17 
+  1    -46      8    -15 
+  1     35    -26     -6 
+  1     41     -3     -8 
+  1    -39     41     34 
+  1    -46     49     40 
+  1    -18    -29     46 
+  1    -20    -25     -2 
+  1    -22     -9    -32 
+  1     31     46      5 
+  1     10     14     11 
+  1    -22     17    -29 
+  1     12      3     -5 
+  1    -44     -5     40 
+  1     -2      4     32 
+  1    -18      8     31 
+  1    -27     40    -48 
+  1    -31    -29    -23 
+end
diff --git a/third_party/cddlib/examples-ext/prodst62.ext b/third_party/cddlib/examples-ext/prodst62.ext
new file mode 100644
index 0000000..6fcd39e
--- /dev/null
+++ b/third_party/cddlib/examples-ext/prodst62.ext
@@ -0,0 +1,3467 @@
+* Created by Alain Prodon.
+* Convex hull problem and the number of facets is 168.
+V-representation
+begin
+  3461 25  integer
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0
+ 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1
+ 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0
+ 1 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 0 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1
+ 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0
+ 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0
+ 1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1
+ 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1
+ 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0
+ 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0
+ 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0
+ 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0
+ 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0
+ 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
+ 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1
+ 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
+ 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
+ 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0
+ 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0
+ 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
+ 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1
+ 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0
+ 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0
+ 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0
+ 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0
+ 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
+ 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
+ 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
+ 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0
+ 1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1
+ 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
+ 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
+ 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1
+ 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
+ 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0
+ 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0
+ 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
+ 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
+ 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0
+ 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
+ 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0
+ 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1
+ 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1
+ 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
+ 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
+ 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0
+ 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
+ 1 1 1 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
+ 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
+ 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
+ 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
+ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
+ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0
+ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0
+ 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0
+ 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+ 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
+ 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
+ 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+ 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
+ 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+end
diff --git a/third_party/cddlib/examples-ext/reg24-5.ext b/third_party/cddlib/examples-ext/reg24-5.ext
new file mode 100644
index 0000000..83d2211
--- /dev/null
+++ b/third_party/cddlib/examples-ext/reg24-5.ext
@@ -0,0 +1,31 @@
+* The vertices of a self-dual 4-dim regular polytope
+* with 24 octahedron facets.  
+* We use hull option to compute all (24) facet inequalities.
+V-representation
+begin
+  24  5  integer
+ 1  1  1  1  1
+ 1  1  1  1 -1
+ 1  1  1 -1  1
+ 1  1  1 -1 -1
+ 1  1 -1  1  1
+ 1  1 -1  1 -1
+ 1  1 -1 -1  1
+ 1  1 -1 -1 -1
+ 1 -1  1  1  1
+ 1 -1  1  1 -1
+ 1 -1  1 -1  1
+ 1 -1  1 -1 -1
+ 1 -1 -1  1  1
+ 1 -1 -1  1 -1
+ 1 -1 -1 -1  1
+ 1 -1 -1 -1 -1
+ 1  2  0  0  0
+ 1  0  2  0  0
+ 1  0  0  2  0
+ 1  0  0  0  2
+ 1 -2  0  0  0
+ 1  0 -2  0  0
+ 1  0  0 -2  0
+ 1  0  0  0 -2
+end
diff --git a/third_party/cddlib/examples-ext/reg600-5.ext b/third_party/cddlib/examples-ext/reg600-5.ext
new file mode 100644
index 0000000..6782ec8
--- /dev/null
+++ b/third_party/cddlib/examples-ext/reg600-5.ext
@@ -0,0 +1,608 @@
+* filename: reg600-5.ine
+* The vertices of a 4-dim regular polytope with 600 vertices.
+* Hull computation for finding all 120 facets.
+V-representation
+begin
+ 600 5 real 
+ 1 -2. -2. 0 0
+ 1 -2. 0 -2. 0
+ 1 -2. 0 0 -2.
+ 1 -2. 0 0 2.
+ 1 -2. 0 2. 0
+ 1 -2. 2. 0 0
+ 1 0 -2. -2. 0
+ 1 0 -2. 0 -2.
+ 1 0 -2. 0 2.
+ 1 0 -2. 2. 0
+ 1 0 0 -2. -2.
+ 1 0 0 -2. 2.
+ 1 0 0 2. -2.
+ 1 0 0 2. 2.
+ 1 0 2. -2. 0
+ 1 0 2. 0 -2.
+ 1 0 2. 0 2.
+ 1 0 2. 2. 0
+ 1 2. -2. 0 0
+ 1 2. 0 -2. 0
+ 1 2. 0 0 -2.
+ 1 2. 0 0 2.
+ 1 2. 0 2. 0
+ 1 2. 2. 0 0
+ 1 -1. -1. -1. -2.236067977
+ 1 -1. -1. -1. 2.236067977
+ 1 -1. -1. 1. -2.236067977
+ 1 -1. -1. 1. 2.236067977
+ 1 -1. -1. -2.236067977 -1.
+ 1 -1. -1. -2.236067977 1.
+ 1 -1. -1. 2.236067977 -1.
+ 1 -1. -1. 2.236067977 1.
+ 1 -1. 1. -1. -2.236067977
+ 1 -1. 1. -1. 2.236067977
+ 1 -1. 1. 1. -2.236067977
+ 1 -1. 1. 1. 2.236067977
+ 1 -1. 1. -2.236067977 -1.
+ 1 -1. 1. -2.236067977 1.
+ 1 -1. 1. 2.236067977 -1.
+ 1 -1. 1. 2.236067977 1.
+ 1 -1. -2.236067977 -1. -1.
+ 1 -1. -2.236067977 -1. 1.
+ 1 -1. -2.236067977 1. -1.
+ 1 -1. -2.236067977 1. 1.
+ 1 -1. 2.236067977 -1. -1.
+ 1 -1. 2.236067977 -1. 1.
+ 1 -1. 2.236067977 1. -1.
+ 1 -1. 2.236067977 1. 1.
+ 1 1. -1. -1. -2.236067977
+ 1 1. -1. -1. 2.236067977
+ 1 1. -1. 1. -2.236067977
+ 1 1. -1. 1. 2.236067977
+ 1 1. -1. -2.236067977 -1.
+ 1 1. -1. -2.236067977 1.
+ 1 1. -1. 2.236067977 -1.
+ 1 1. -1. 2.236067977 1.
+ 1 1. 1. -1. -2.236067977
+ 1 1. 1. -1. 2.236067977
+ 1 1. 1. 1. -2.236067977
+ 1 1. 1. 1. 2.236067977
+ 1 1. 1. -2.236067977 -1.
+ 1 1. 1. -2.236067977 1.
+ 1 1. 1. 2.236067977 -1.
+ 1 1. 1. 2.236067977 1.
+ 1 1. -2.236067977 -1. -1.
+ 1 1. -2.236067977 -1. 1.
+ 1 1. -2.236067977 1. -1.
+ 1 1. -2.236067977 1. 1.
+ 1 1. 2.236067977 -1. -1.
+ 1 1. 2.236067977 -1. 1.
+ 1 1. 2.236067977 1. -1.
+ 1 1. 2.236067977 1. 1.
+ 1 -2.236067977 -1. -1. -1.
+ 1 -2.236067977 -1. -1. 1.
+ 1 -2.236067977 -1. 1. -1.
+ 1 -2.236067977 -1. 1. 1.
+ 1 -2.236067977 1. -1. -1.
+ 1 -2.236067977 1. -1. 1.
+ 1 -2.236067977 1. 1. -1.
+ 1 -2.236067977 1. 1. 1.
+ 1 2.236067977 -1. -1. -1.
+ 1 2.236067977 -1. -1. 1.
+ 1 2.236067977 -1. 1. -1.
+ 1 2.236067977 -1. 1. 1.
+ 1 2.236067977 1. -1. -1.
+ 1 2.236067977 1. -1. 1.
+ 1 2.236067977 1. 1. -1.
+ 1 2.236067977 1. 1. 1.
+ 1 -1.618033989 -1.618033989 -1.618033989 -0.3819660113
+ 1 -1.618033989 -1.618033989 -1.618033989 0.3819660113
+ 1 -1.618033989 -1.618033989 -0.3819660113 -1.618033989
+ 1 -1.618033989 -1.618033989 -0.3819660113 1.618033989
+ 1 -1.618033989 -1.618033989 0.3819660113 -1.618033989
+ 1 -1.618033989 -1.618033989 0.3819660113 1.618033989
+ 1 -1.618033989 -1.618033989 1.618033989 -0.3819660113
+ 1 -1.618033989 -1.618033989 1.618033989 0.3819660113
+ 1 -1.618033989 -0.3819660113 -1.618033989 -1.618033989
+ 1 -1.618033989 -0.3819660113 -1.618033989 1.618033989
+ 1 -1.618033989 -0.3819660113 1.618033989 -1.618033989
+ 1 -1.618033989 -0.3819660113 1.618033989 1.618033989
+ 1 -1.618033989 0.3819660113 -1.618033989 -1.618033989
+ 1 -1.618033989 0.3819660113 -1.618033989 1.618033989
+ 1 -1.618033989 0.3819660113 1.618033989 -1.618033989
+ 1 -1.618033989 0.3819660113 1.618033989 1.618033989
+ 1 -1.618033989 1.618033989 -1.618033989 -0.3819660113
+ 1 -1.618033989 1.618033989 -1.618033989 0.3819660113
+ 1 -1.618033989 1.618033989 -0.3819660113 -1.618033989
+ 1 -1.618033989 1.618033989 -0.3819660113 1.618033989
+ 1 -1.618033989 1.618033989 0.3819660113 -1.618033989
+ 1 -1.618033989 1.618033989 0.3819660113 1.618033989
+ 1 -1.618033989 1.618033989 1.618033989 -0.3819660113
+ 1 -1.618033989 1.618033989 1.618033989 0.3819660113
+ 1 -0.3819660113 -1.618033989 -1.618033989 -1.618033989
+ 1 -0.3819660113 -1.618033989 -1.618033989 1.618033989
+ 1 -0.3819660113 -1.618033989 1.618033989 -1.618033989
+ 1 -0.3819660113 -1.618033989 1.618033989 1.618033989
+ 1 -0.3819660113 1.618033989 -1.618033989 -1.618033989
+ 1 -0.3819660113 1.618033989 -1.618033989 1.618033989
+ 1 -0.3819660113 1.618033989 1.618033989 -1.618033989
+ 1 -0.3819660113 1.618033989 1.618033989 1.618033989
+ 1 0.3819660113 -1.618033989 -1.618033989 -1.618033989
+ 1 0.3819660113 -1.618033989 -1.618033989 1.618033989
+ 1 0.3819660113 -1.618033989 1.618033989 -1.618033989
+ 1 0.3819660113 -1.618033989 1.618033989 1.618033989
+ 1 0.3819660113 1.618033989 -1.618033989 -1.618033989
+ 1 0.3819660113 1.618033989 -1.618033989 1.618033989
+ 1 0.3819660113 1.618033989 1.618033989 -1.618033989
+ 1 0.3819660113 1.618033989 1.618033989 1.618033989
+ 1 1.618033989 -1.618033989 -1.618033989 -0.3819660113
+ 1 1.618033989 -1.618033989 -1.618033989 0.3819660113
+ 1 1.618033989 -1.618033989 -0.3819660113 -1.618033989
+ 1 1.618033989 -1.618033989 -0.3819660113 1.618033989
+ 1 1.618033989 -1.618033989 0.3819660113 -1.618033989
+ 1 1.618033989 -1.618033989 0.3819660113 1.618033989
+ 1 1.618033989 -1.618033989 1.618033989 -0.3819660113
+ 1 1.618033989 -1.618033989 1.618033989 0.3819660113
+ 1 1.618033989 -0.3819660113 -1.618033989 -1.618033989
+ 1 1.618033989 -0.3819660113 -1.618033989 1.618033989
+ 1 1.618033989 -0.3819660113 1.618033989 -1.618033989
+ 1 1.618033989 -0.3819660113 1.618033989 1.618033989
+ 1 1.618033989 0.3819660113 -1.618033989 -1.618033989
+ 1 1.618033989 0.3819660113 -1.618033989 1.618033989
+ 1 1.618033989 0.3819660113 1.618033989 -1.618033989
+ 1 1.618033989 0.3819660113 1.618033989 1.618033989
+ 1 1.618033989 1.618033989 -1.618033989 -0.3819660113
+ 1 1.618033989 1.618033989 -1.618033989 0.3819660113
+ 1 1.618033989 1.618033989 -0.3819660113 -1.618033989
+ 1 1.618033989 1.618033989 -0.3819660113 1.618033989
+ 1 1.618033989 1.618033989 0.3819660113 -1.618033989
+ 1 1.618033989 1.618033989 0.3819660113 1.618033989
+ 1 1.618033989 1.618033989 1.618033989 -0.3819660113
+ 1 1.618033989 1.618033989 1.618033989 0.3819660113
+ 1 -0.6180339887 -0.6180339887 -0.6180339887 -2.618033989
+ 1 -0.6180339887 -0.6180339887 -0.6180339887 2.618033989
+ 1 -0.6180339887 -0.6180339887 0.6180339887 -2.618033989
+ 1 -0.6180339887 -0.6180339887 0.6180339887 2.618033989
+ 1 -0.6180339887 -0.6180339887 -2.618033989 -0.6180339887
+ 1 -0.6180339887 -0.6180339887 -2.618033989 0.6180339887
+ 1 -0.6180339887 -0.6180339887 2.618033989 -0.6180339887
+ 1 -0.6180339887 -0.6180339887 2.618033989 0.6180339887
+ 1 -0.6180339887 0.6180339887 -0.6180339887 -2.618033989
+ 1 -0.6180339887 0.6180339887 -0.6180339887 2.618033989
+ 1 -0.6180339887 0.6180339887 0.6180339887 -2.618033989
+ 1 -0.6180339887 0.6180339887 0.6180339887 2.618033989
+ 1 -0.6180339887 0.6180339887 -2.618033989 -0.6180339887
+ 1 -0.6180339887 0.6180339887 -2.618033989 0.6180339887
+ 1 -0.6180339887 0.6180339887 2.618033989 -0.6180339887
+ 1 -0.6180339887 0.6180339887 2.618033989 0.6180339887
+ 1 -0.6180339887 -2.618033989 -0.6180339887 -0.6180339887
+ 1 -0.6180339887 -2.618033989 -0.6180339887 0.6180339887
+ 1 -0.6180339887 -2.618033989 0.6180339887 -0.6180339887
+ 1 -0.6180339887 -2.618033989 0.6180339887 0.6180339887
+ 1 -0.6180339887 2.618033989 -0.6180339887 -0.6180339887
+ 1 -0.6180339887 2.618033989 -0.6180339887 0.6180339887
+ 1 -0.6180339887 2.618033989 0.6180339887 -0.6180339887
+ 1 -0.6180339887 2.618033989 0.6180339887 0.6180339887
+ 1 0.6180339887 -0.6180339887 -0.6180339887 -2.618033989
+ 1 0.6180339887 -0.6180339887 -0.6180339887 2.618033989
+ 1 0.6180339887 -0.6180339887 0.6180339887 -2.618033989
+ 1 0.6180339887 -0.6180339887 0.6180339887 2.618033989
+ 1 0.6180339887 -0.6180339887 -2.618033989 -0.6180339887
+ 1 0.6180339887 -0.6180339887 -2.618033989 0.6180339887
+ 1 0.6180339887 -0.6180339887 2.618033989 -0.6180339887
+ 1 0.6180339887 -0.6180339887 2.618033989 0.6180339887
+ 1 0.6180339887 0.6180339887 -0.6180339887 -2.618033989
+ 1 0.6180339887 0.6180339887 -0.6180339887 2.618033989
+ 1 0.6180339887 0.6180339887 0.6180339887 -2.618033989
+ 1 0.6180339887 0.6180339887 0.6180339887 2.618033989
+ 1 0.6180339887 0.6180339887 -2.618033989 -0.6180339887
+ 1 0.6180339887 0.6180339887 -2.618033989 0.6180339887
+ 1 0.6180339887 0.6180339887 2.618033989 -0.6180339887
+ 1 0.6180339887 0.6180339887 2.618033989 0.6180339887
+ 1 0.6180339887 -2.618033989 -0.6180339887 -0.6180339887
+ 1 0.6180339887 -2.618033989 -0.6180339887 0.6180339887
+ 1 0.6180339887 -2.618033989 0.6180339887 -0.6180339887
+ 1 0.6180339887 -2.618033989 0.6180339887 0.6180339887
+ 1 0.6180339887 2.618033989 -0.6180339887 -0.6180339887
+ 1 0.6180339887 2.618033989 -0.6180339887 0.6180339887
+ 1 0.6180339887 2.618033989 0.6180339887 -0.6180339887
+ 1 0.6180339887 2.618033989 0.6180339887 0.6180339887
+ 1 -2.618033989 -0.6180339887 -0.6180339887 -0.6180339887
+ 1 -2.618033989 -0.6180339887 -0.6180339887 0.6180339887
+ 1 -2.618033989 -0.6180339887 0.6180339887 -0.6180339887
+ 1 -2.618033989 -0.6180339887 0.6180339887 0.6180339887
+ 1 -2.618033989 0.6180339887 -0.6180339887 -0.6180339887
+ 1 -2.618033989 0.6180339887 -0.6180339887 0.6180339887
+ 1 -2.618033989 0.6180339887 0.6180339887 -0.6180339887
+ 1 -2.618033989 0.6180339887 0.6180339887 0.6180339887
+ 1 2.618033989 -0.6180339887 -0.6180339887 -0.6180339887
+ 1 2.618033989 -0.6180339887 -0.6180339887 0.6180339887
+ 1 2.618033989 -0.6180339887 0.6180339887 -0.6180339887
+ 1 2.618033989 -0.6180339887 0.6180339887 0.6180339887
+ 1 2.618033989 0.6180339887 -0.6180339887 -0.6180339887
+ 1 2.618033989 0.6180339887 -0.6180339887 0.6180339887
+ 1 2.618033989 0.6180339887 0.6180339887 -0.6180339887
+ 1 2.618033989 0.6180339887 0.6180339887 0.6180339887
+ 1 -1. 0 -2.618033989 -0.3819660113
+ 1 -1. 0 -2.618033989 0.3819660113
+ 1 -1. 0 2.618033989 -0.3819660113
+ 1 -1. 0 2.618033989 0.3819660113
+ 1 -1. -0.3819660113 0 -2.618033989
+ 1 -1. -0.3819660113 0 2.618033989
+ 1 -1. 0.3819660113 0 -2.618033989
+ 1 -1. 0.3819660113 0 2.618033989
+ 1 -1. -2.618033989 -0.3819660113 0
+ 1 -1. -2.618033989 0.3819660113 0
+ 1 -1. 2.618033989 -0.3819660113 0
+ 1 -1. 2.618033989 0.3819660113 0
+ 1 0 -1. -0.3819660113 -2.618033989
+ 1 0 -1. -0.3819660113 2.618033989
+ 1 0 -1. 0.3819660113 -2.618033989
+ 1 0 -1. 0.3819660113 2.618033989
+ 1 0 1. -0.3819660113 -2.618033989
+ 1 0 1. -0.3819660113 2.618033989
+ 1 0 1. 0.3819660113 -2.618033989
+ 1 0 1. 0.3819660113 2.618033989
+ 1 0 -0.3819660113 -2.618033989 -1.
+ 1 0 -0.3819660113 -2.618033989 1.
+ 1 0 -0.3819660113 2.618033989 -1.
+ 1 0 -0.3819660113 2.618033989 1.
+ 1 0 0.3819660113 -2.618033989 -1.
+ 1 0 0.3819660113 -2.618033989 1.
+ 1 0 0.3819660113 2.618033989 -1.
+ 1 0 0.3819660113 2.618033989 1.
+ 1 0 -2.618033989 -1. -0.3819660113
+ 1 0 -2.618033989 -1. 0.3819660113
+ 1 0 -2.618033989 1. -0.3819660113
+ 1 0 -2.618033989 1. 0.3819660113
+ 1 0 2.618033989 -1. -0.3819660113
+ 1 0 2.618033989 -1. 0.3819660113
+ 1 0 2.618033989 1. -0.3819660113
+ 1 0 2.618033989 1. 0.3819660113
+ 1 1. 0 -2.618033989 -0.3819660113
+ 1 1. 0 -2.618033989 0.3819660113
+ 1 1. 0 2.618033989 -0.3819660113
+ 1 1. 0 2.618033989 0.3819660113
+ 1 1. -0.3819660113 0 -2.618033989
+ 1 1. -0.3819660113 0 2.618033989
+ 1 1. 0.3819660113 0 -2.618033989
+ 1 1. 0.3819660113 0 2.618033989
+ 1 1. -2.618033989 -0.3819660113 0
+ 1 1. -2.618033989 0.3819660113 0
+ 1 1. 2.618033989 -0.3819660113 0
+ 1 1. 2.618033989 0.3819660113 0
+ 1 -0.3819660113 -1. -2.618033989 0
+ 1 -0.3819660113 -1. 2.618033989 0
+ 1 -0.3819660113 0 -1. -2.618033989
+ 1 -0.3819660113 0 -1. 2.618033989
+ 1 -0.3819660113 0 1. -2.618033989
+ 1 -0.3819660113 0 1. 2.618033989
+ 1 -0.3819660113 1. -2.618033989 0
+ 1 -0.3819660113 1. 2.618033989 0
+ 1 -0.3819660113 -2.618033989 0 -1.
+ 1 -0.3819660113 -2.618033989 0 1.
+ 1 -0.3819660113 2.618033989 0 -1.
+ 1 -0.3819660113 2.618033989 0 1.
+ 1 0.3819660113 -1. -2.618033989 0
+ 1 0.3819660113 -1. 2.618033989 0
+ 1 0.3819660113 0 -1. -2.618033989
+ 1 0.3819660113 0 -1. 2.618033989
+ 1 0.3819660113 0 1. -2.618033989
+ 1 0.3819660113 0 1. 2.618033989
+ 1 0.3819660113 1. -2.618033989 0
+ 1 0.3819660113 1. 2.618033989 0
+ 1 0.3819660113 -2.618033989 0 -1.
+ 1 0.3819660113 -2.618033989 0 1.
+ 1 0.3819660113 2.618033989 0 -1.
+ 1 0.3819660113 2.618033989 0 1.
+ 1 -2.618033989 -1. 0 -0.3819660113
+ 1 -2.618033989 -1. 0 0.3819660113
+ 1 -2.618033989 0 -0.3819660113 -1.
+ 1 -2.618033989 0 -0.3819660113 1.
+ 1 -2.618033989 0 0.3819660113 -1.
+ 1 -2.618033989 0 0.3819660113 1.
+ 1 -2.618033989 1. 0 -0.3819660113
+ 1 -2.618033989 1. 0 0.3819660113
+ 1 -2.618033989 -0.3819660113 -1. 0
+ 1 -2.618033989 -0.3819660113 1. 0
+ 1 -2.618033989 0.3819660113 -1. 0
+ 1 -2.618033989 0.3819660113 1. 0
+ 1 2.618033989 -1. 0 -0.3819660113
+ 1 2.618033989 -1. 0 0.3819660113
+ 1 2.618033989 0 -0.3819660113 -1.
+ 1 2.618033989 0 -0.3819660113 1.
+ 1 2.618033989 0 0.3819660113 -1.
+ 1 2.618033989 0 0.3819660113 1.
+ 1 2.618033989 1. 0 -0.3819660113
+ 1 2.618033989 1. 0 0.3819660113
+ 1 2.618033989 -0.3819660113 -1. 0
+ 1 2.618033989 -0.3819660113 1. 0
+ 1 2.618033989 0.3819660113 -1. 0
+ 1 2.618033989 0.3819660113 1. 0
+ 1 0 -2.236067977 -1.618033989 -0.6180339887
+ 1 0 -2.236067977 -1.618033989 0.6180339887
+ 1 0 -2.236067977 1.618033989 -0.6180339887
+ 1 0 -2.236067977 1.618033989 0.6180339887
+ 1 0 2.236067977 -1.618033989 -0.6180339887
+ 1 0 2.236067977 -1.618033989 0.6180339887
+ 1 0 2.236067977 1.618033989 -0.6180339887
+ 1 0 2.236067977 1.618033989 0.6180339887
+ 1 0 -1.618033989 -0.6180339887 -2.236067977
+ 1 0 -1.618033989 -0.6180339887 2.236067977
+ 1 0 -1.618033989 0.6180339887 -2.236067977
+ 1 0 -1.618033989 0.6180339887 2.236067977
+ 1 0 -0.6180339887 -2.236067977 -1.618033989
+ 1 0 -0.6180339887 -2.236067977 1.618033989
+ 1 0 -0.6180339887 2.236067977 -1.618033989
+ 1 0 -0.6180339887 2.236067977 1.618033989
+ 1 0 0.6180339887 -2.236067977 -1.618033989
+ 1 0 0.6180339887 -2.236067977 1.618033989
+ 1 0 0.6180339887 2.236067977 -1.618033989
+ 1 0 0.6180339887 2.236067977 1.618033989
+ 1 0 1.618033989 -0.6180339887 -2.236067977
+ 1 0 1.618033989 -0.6180339887 2.236067977
+ 1 0 1.618033989 0.6180339887 -2.236067977
+ 1 0 1.618033989 0.6180339887 2.236067977
+ 1 -2.236067977 0 -0.6180339887 -1.618033989
+ 1 -2.236067977 0 -0.6180339887 1.618033989
+ 1 -2.236067977 0 0.6180339887 -1.618033989
+ 1 -2.236067977 0 0.6180339887 1.618033989
+ 1 -2.236067977 -1.618033989 0 -0.6180339887
+ 1 -2.236067977 -1.618033989 0 0.6180339887
+ 1 -2.236067977 -0.6180339887 -1.618033989 0
+ 1 -2.236067977 -0.6180339887 1.618033989 0
+ 1 -2.236067977 0.6180339887 -1.618033989 0
+ 1 -2.236067977 0.6180339887 1.618033989 0
+ 1 -2.236067977 1.618033989 0 -0.6180339887
+ 1 -2.236067977 1.618033989 0 0.6180339887
+ 1 2.236067977 0 -0.6180339887 -1.618033989
+ 1 2.236067977 0 -0.6180339887 1.618033989
+ 1 2.236067977 0 0.6180339887 -1.618033989
+ 1 2.236067977 0 0.6180339887 1.618033989
+ 1 2.236067977 -1.618033989 0 -0.6180339887
+ 1 2.236067977 -1.618033989 0 0.6180339887
+ 1 2.236067977 -0.6180339887 -1.618033989 0
+ 1 2.236067977 -0.6180339887 1.618033989 0
+ 1 2.236067977 0.6180339887 -1.618033989 0
+ 1 2.236067977 0.6180339887 1.618033989 0
+ 1 2.236067977 1.618033989 0 -0.6180339887
+ 1 2.236067977 1.618033989 0 0.6180339887
+ 1 -1.618033989 0 -2.236067977 -0.6180339887
+ 1 -1.618033989 0 -2.236067977 0.6180339887
+ 1 -1.618033989 0 2.236067977 -0.6180339887
+ 1 -1.618033989 0 2.236067977 0.6180339887
+ 1 -1.618033989 -2.236067977 -0.6180339887 0
+ 1 -1.618033989 -2.236067977 0.6180339887 0
+ 1 -1.618033989 2.236067977 -0.6180339887 0
+ 1 -1.618033989 2.236067977 0.6180339887 0
+ 1 -1.618033989 -0.6180339887 0 -2.236067977
+ 1 -1.618033989 -0.6180339887 0 2.236067977
+ 1 -1.618033989 0.6180339887 0 -2.236067977
+ 1 -1.618033989 0.6180339887 0 2.236067977
+ 1 -0.6180339887 0 -1.618033989 -2.236067977
+ 1 -0.6180339887 0 -1.618033989 2.236067977
+ 1 -0.6180339887 0 1.618033989 -2.236067977
+ 1 -0.6180339887 0 1.618033989 2.236067977
+ 1 -0.6180339887 -2.236067977 0 -1.618033989
+ 1 -0.6180339887 -2.236067977 0 1.618033989
+ 1 -0.6180339887 2.236067977 0 -1.618033989
+ 1 -0.6180339887 2.236067977 0 1.618033989
+ 1 -0.6180339887 -1.618033989 -2.236067977 0
+ 1 -0.6180339887 -1.618033989 2.236067977 0
+ 1 -0.6180339887 1.618033989 -2.236067977 0
+ 1 -0.6180339887 1.618033989 2.236067977 0
+ 1 0.6180339887 0 -1.618033989 -2.236067977
+ 1 0.6180339887 0 -1.618033989 2.236067977
+ 1 0.6180339887 0 1.618033989 -2.236067977
+ 1 0.6180339887 0 1.618033989 2.236067977
+ 1 0.6180339887 -2.236067977 0 -1.618033989
+ 1 0.6180339887 -2.236067977 0 1.618033989
+ 1 0.6180339887 2.236067977 0 -1.618033989
+ 1 0.6180339887 2.236067977 0 1.618033989
+ 1 0.6180339887 -1.618033989 -2.236067977 0
+ 1 0.6180339887 -1.618033989 2.236067977 0
+ 1 0.6180339887 1.618033989 -2.236067977 0
+ 1 0.6180339887 1.618033989 2.236067977 0
+ 1 1.618033989 0 -2.236067977 -0.6180339887
+ 1 1.618033989 0 -2.236067977 0.6180339887
+ 1 1.618033989 0 2.236067977 -0.6180339887
+ 1 1.618033989 0 2.236067977 0.6180339887
+ 1 1.618033989 -2.236067977 -0.6180339887 0
+ 1 1.618033989 -2.236067977 0.6180339887 0
+ 1 1.618033989 2.236067977 -0.6180339887 0
+ 1 1.618033989 2.236067977 0.6180339887 0
+ 1 1.618033989 -0.6180339887 0 -2.236067977
+ 1 1.618033989 -0.6180339887 0 2.236067977
+ 1 1.618033989 0.6180339887 0 -2.236067977
+ 1 1.618033989 0.6180339887 0 2.236067977
+ 1 -2. -1. -1.618033989 -0.6180339887
+ 1 -2. -1. -1.618033989 0.6180339887
+ 1 -2. -1. 1.618033989 -0.6180339887
+ 1 -2. -1. 1.618033989 0.6180339887
+ 1 -2. 1. -1.618033989 -0.6180339887
+ 1 -2. 1. -1.618033989 0.6180339887
+ 1 -2. 1. 1.618033989 -0.6180339887
+ 1 -2. 1. 1.618033989 0.6180339887
+ 1 -2. -1.618033989 -0.6180339887 -1.
+ 1 -2. -1.618033989 -0.6180339887 1.
+ 1 -2. -1.618033989 0.6180339887 -1.
+ 1 -2. -1.618033989 0.6180339887 1.
+ 1 -2. -0.6180339887 -1. -1.618033989
+ 1 -2. -0.6180339887 -1. 1.618033989
+ 1 -2. -0.6180339887 1. -1.618033989
+ 1 -2. -0.6180339887 1. 1.618033989
+ 1 -2. 0.6180339887 -1. -1.618033989
+ 1 -2. 0.6180339887 -1. 1.618033989
+ 1 -2. 0.6180339887 1. -1.618033989
+ 1 -2. 0.6180339887 1. 1.618033989
+ 1 -2. 1.618033989 -0.6180339887 -1.
+ 1 -2. 1.618033989 -0.6180339887 1.
+ 1 -2. 1.618033989 0.6180339887 -1.
+ 1 -2. 1.618033989 0.6180339887 1.
+ 1 -1. -2. -0.6180339887 -1.618033989
+ 1 -1. -2. -0.6180339887 1.618033989
+ 1 -1. -2. 0.6180339887 -1.618033989
+ 1 -1. -2. 0.6180339887 1.618033989
+ 1 -1. 2. -0.6180339887 -1.618033989
+ 1 -1. 2. -0.6180339887 1.618033989
+ 1 -1. 2. 0.6180339887 -1.618033989
+ 1 -1. 2. 0.6180339887 1.618033989
+ 1 -1. -1.618033989 -2. -0.6180339887
+ 1 -1. -1.618033989 -2. 0.6180339887
+ 1 -1. -1.618033989 2. -0.6180339887
+ 1 -1. -1.618033989 2. 0.6180339887
+ 1 -1. -0.6180339887 -1.618033989 -2.
+ 1 -1. -0.6180339887 -1.618033989 2.
+ 1 -1. -0.6180339887 1.618033989 -2.
+ 1 -1. -0.6180339887 1.618033989 2.
+ 1 -1. 0.6180339887 -1.618033989 -2.
+ 1 -1. 0.6180339887 -1.618033989 2.
+ 1 -1. 0.6180339887 1.618033989 -2.
+ 1 -1. 0.6180339887 1.618033989 2.
+ 1 -1. 1.618033989 -2. -0.6180339887
+ 1 -1. 1.618033989 -2. 0.6180339887
+ 1 -1. 1.618033989 2. -0.6180339887
+ 1 -1. 1.618033989 2. 0.6180339887
+ 1 1. -2. -0.6180339887 -1.618033989
+ 1 1. -2. -0.6180339887 1.618033989
+ 1 1. -2. 0.6180339887 -1.618033989
+ 1 1. -2. 0.6180339887 1.618033989
+ 1 1. 2. -0.6180339887 -1.618033989
+ 1 1. 2. -0.6180339887 1.618033989
+ 1 1. 2. 0.6180339887 -1.618033989
+ 1 1. 2. 0.6180339887 1.618033989
+ 1 1. -1.618033989 -2. -0.6180339887
+ 1 1. -1.618033989 -2. 0.6180339887
+ 1 1. -1.618033989 2. -0.6180339887
+ 1 1. -1.618033989 2. 0.6180339887
+ 1 1. -0.6180339887 -1.618033989 -2.
+ 1 1. -0.6180339887 -1.618033989 2.
+ 1 1. -0.6180339887 1.618033989 -2.
+ 1 1. -0.6180339887 1.618033989 2.
+ 1 1. 0.6180339887 -1.618033989 -2.
+ 1 1. 0.6180339887 -1.618033989 2.
+ 1 1. 0.6180339887 1.618033989 -2.
+ 1 1. 0.6180339887 1.618033989 2.
+ 1 1. 1.618033989 -2. -0.6180339887
+ 1 1. 1.618033989 -2. 0.6180339887
+ 1 1. 1.618033989 2. -0.6180339887
+ 1 1. 1.618033989 2. 0.6180339887
+ 1 2. -1. -1.618033989 -0.6180339887
+ 1 2. -1. -1.618033989 0.6180339887
+ 1 2. -1. 1.618033989 -0.6180339887
+ 1 2. -1. 1.618033989 0.6180339887
+ 1 2. 1. -1.618033989 -0.6180339887
+ 1 2. 1. -1.618033989 0.6180339887
+ 1 2. 1. 1.618033989 -0.6180339887
+ 1 2. 1. 1.618033989 0.6180339887
+ 1 2. -1.618033989 -0.6180339887 -1.
+ 1 2. -1.618033989 -0.6180339887 1.
+ 1 2. -1.618033989 0.6180339887 -1.
+ 1 2. -1.618033989 0.6180339887 1.
+ 1 2. -0.6180339887 -1. -1.618033989
+ 1 2. -0.6180339887 -1. 1.618033989
+ 1 2. -0.6180339887 1. -1.618033989
+ 1 2. -0.6180339887 1. 1.618033989
+ 1 2. 0.6180339887 -1. -1.618033989
+ 1 2. 0.6180339887 -1. 1.618033989
+ 1 2. 0.6180339887 1. -1.618033989
+ 1 2. 0.6180339887 1. 1.618033989
+ 1 2. 1.618033989 -0.6180339887 -1.
+ 1 2. 1.618033989 -0.6180339887 1.
+ 1 2. 1.618033989 0.6180339887 -1.
+ 1 2. 1.618033989 0.6180339887 1.
+ 1 -1.618033989 -2. -1. -0.6180339887
+ 1 -1.618033989 -2. -1. 0.6180339887
+ 1 -1.618033989 -2. 1. -0.6180339887
+ 1 -1.618033989 -2. 1. 0.6180339887
+ 1 -1.618033989 -1. -0.6180339887 -2.
+ 1 -1.618033989 -1. -0.6180339887 2.
+ 1 -1.618033989 -1. 0.6180339887 -2.
+ 1 -1.618033989 -1. 0.6180339887 2.
+ 1 -1.618033989 1. -0.6180339887 -2.
+ 1 -1.618033989 1. -0.6180339887 2.
+ 1 -1.618033989 1. 0.6180339887 -2.
+ 1 -1.618033989 1. 0.6180339887 2.
+ 1 -1.618033989 2. -1. -0.6180339887
+ 1 -1.618033989 2. -1. 0.6180339887
+ 1 -1.618033989 2. 1. -0.6180339887
+ 1 -1.618033989 2. 1. 0.6180339887
+ 1 -1.618033989 -0.6180339887 -2. -1.
+ 1 -1.618033989 -0.6180339887 -2. 1.
+ 1 -1.618033989 -0.6180339887 2. -1.
+ 1 -1.618033989 -0.6180339887 2. 1.
+ 1 -1.618033989 0.6180339887 -2. -1.
+ 1 -1.618033989 0.6180339887 -2. 1.
+ 1 -1.618033989 0.6180339887 2. -1.
+ 1 -1.618033989 0.6180339887 2. 1.
+ 1 -0.6180339887 -2. -1.618033989 -1.
+ 1 -0.6180339887 -2. -1.618033989 1.
+ 1 -0.6180339887 -2. 1.618033989 -1.
+ 1 -0.6180339887 -2. 1.618033989 1.
+ 1 -0.6180339887 -1. -2. -1.618033989
+ 1 -0.6180339887 -1. -2. 1.618033989
+ 1 -0.6180339887 -1. 2. -1.618033989
+ 1 -0.6180339887 -1. 2. 1.618033989
+ 1 -0.6180339887 1. -2. -1.618033989
+ 1 -0.6180339887 1. -2. 1.618033989
+ 1 -0.6180339887 1. 2. -1.618033989
+ 1 -0.6180339887 1. 2. 1.618033989
+ 1 -0.6180339887 2. -1.618033989 -1.
+ 1 -0.6180339887 2. -1.618033989 1.
+ 1 -0.6180339887 2. 1.618033989 -1.
+ 1 -0.6180339887 2. 1.618033989 1.
+ 1 -0.6180339887 -1.618033989 -1. -2.
+ 1 -0.6180339887 -1.618033989 -1. 2.
+ 1 -0.6180339887 -1.618033989 1. -2.
+ 1 -0.6180339887 -1.618033989 1. 2.
+ 1 -0.6180339887 1.618033989 -1. -2.
+ 1 -0.6180339887 1.618033989 -1. 2.
+ 1 -0.6180339887 1.618033989 1. -2.
+ 1 -0.6180339887 1.618033989 1. 2.
+ 1 0.6180339887 -2. -1.618033989 -1.
+ 1 0.6180339887 -2. -1.618033989 1.
+ 1 0.6180339887 -2. 1.618033989 -1.
+ 1 0.6180339887 -2. 1.618033989 1.
+ 1 0.6180339887 -1. -2. -1.618033989
+ 1 0.6180339887 -1. -2. 1.618033989
+ 1 0.6180339887 -1. 2. -1.618033989
+ 1 0.6180339887 -1. 2. 1.618033989
+ 1 0.6180339887 1. -2. -1.618033989
+ 1 0.6180339887 1. -2. 1.618033989
+ 1 0.6180339887 1. 2. -1.618033989
+ 1 0.6180339887 1. 2. 1.618033989
+ 1 0.6180339887 2. -1.618033989 -1.
+ 1 0.6180339887 2. -1.618033989 1.
+ 1 0.6180339887 2. 1.618033989 -1.
+ 1 0.6180339887 2. 1.618033989 1.
+ 1 0.6180339887 -1.618033989 -1. -2.
+ 1 0.6180339887 -1.618033989 -1. 2.
+ 1 0.6180339887 -1.618033989 1. -2.
+ 1 0.6180339887 -1.618033989 1. 2.
+ 1 0.6180339887 1.618033989 -1. -2.
+ 1 0.6180339887 1.618033989 -1. 2.
+ 1 0.6180339887 1.618033989 1. -2.
+ 1 0.6180339887 1.618033989 1. 2.
+ 1 1.618033989 -2. -1. -0.6180339887
+ 1 1.618033989 -2. -1. 0.6180339887
+ 1 1.618033989 -2. 1. -0.6180339887
+ 1 1.618033989 -2. 1. 0.6180339887
+ 1 1.618033989 -1. -0.6180339887 -2.
+ 1 1.618033989 -1. -0.6180339887 2.
+ 1 1.618033989 -1. 0.6180339887 -2.
+ 1 1.618033989 -1. 0.6180339887 2.
+ 1 1.618033989 1. -0.6180339887 -2.
+ 1 1.618033989 1. -0.6180339887 2.
+ 1 1.618033989 1. 0.6180339887 -2.
+ 1 1.618033989 1. 0.6180339887 2.
+ 1 1.618033989 2. -1. -0.6180339887
+ 1 1.618033989 2. -1. 0.6180339887
+ 1 1.618033989 2. 1. -0.6180339887
+ 1 1.618033989 2. 1. 0.6180339887
+ 1 1.618033989 -0.6180339887 -2. -1.
+ 1 1.618033989 -0.6180339887 -2. 1.
+ 1 1.618033989 -0.6180339887 2. -1.
+ 1 1.618033989 -0.6180339887 2. 1.
+ 1 1.618033989 0.6180339887 -2. -1.
+ 1 1.618033989 0.6180339887 -2. 1.
+ 1 1.618033989 0.6180339887 2. -1.
+ 1 1.618033989 0.6180339887 2. 1.
+end
+ 
diff --git a/third_party/cddlib/examples-ine/allzero.ine b/third_party/cddlib/examples-ine/allzero.ine
new file mode 100644
index 0000000..9a6d7da
--- /dev/null
+++ b/third_party/cddlib/examples-ine/allzero.ine
@@ -0,0 +1,13 @@
+* File name: allzero.ine
+H-representation
+begin
+    6   4    integer
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+end
+
+ 
diff --git a/third_party/cddlib/examples-ine/cross10.ine b/third_party/cddlib/examples-ine/cross10.ine
new file mode 100644
index 0000000..21809ab
--- /dev/null
+++ b/third_party/cddlib/examples-ine/cross10.ine
@@ -0,0 +1,1030 @@
+* 10-dim cross polytope
+H-representation
+begin
+1024  11  integer 
+ 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1 1 1
+ 1 1 -1 -1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 1 1 1
+ 1 1 -1 -1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 1 -1 -1 1 1
+ 1 1 -1 -1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 1 -1 1
+ 1 1 -1 -1 -1 1 1 -1 1 1 -1
+ 1 1 -1 -1 -1 1 1 -1 1 1 1
+ 1 1 -1 -1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 1 1 -1 1 1
+ 1 1 -1 -1 -1 1 1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 1 1 -1 1
+ 1 1 -1 -1 -1 1 1 1 1 1 -1
+ 1 1 -1 -1 -1 1 1 1 1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 1 1 1
+ 1 1 -1 -1 1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 1 -1 1 1 1
+ 1 1 -1 -1 1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 1 -1 1 1 -1 1 1
+ 1 1 -1 -1 1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 1 1 -1 1
+ 1 1 -1 -1 1 -1 1 1 1 1 -1
+ 1 1 -1 -1 1 -1 1 1 1 1 1
+ 1 1 -1 -1 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 1 -1 -1 1 1 1
+ 1 1 -1 -1 1 1 -1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 1 -1 1 1
+ 1 1 -1 -1 1 1 -1 1 1 -1 -1
+ 1 1 -1 -1 1 1 -1 1 1 -1 1
+ 1 1 -1 -1 1 1 -1 1 1 1 -1
+ 1 1 -1 -1 1 1 -1 1 1 1 1
+ 1 1 -1 -1 1 1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 1 1 -1 -1 1 1
+ 1 1 -1 -1 1 1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 1 -1 1
+ 1 1 -1 -1 1 1 1 -1 1 1 -1
+ 1 1 -1 -1 1 1 1 -1 1 1 1
+ 1 1 -1 -1 1 1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 1 1 -1 -1 1
+ 1 1 -1 -1 1 1 1 1 -1 1 -1
+ 1 1 -1 -1 1 1 1 1 -1 1 1
+ 1 1 -1 -1 1 1 1 1 1 -1 -1
+ 1 1 -1 -1 1 1 1 1 1 -1 1
+ 1 1 -1 -1 1 1 1 1 1 1 -1
+ 1 1 -1 -1 1 1 1 1 1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 1 1 1
+ 1 1 -1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 1 -1 1 1 1
+ 1 1 -1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 1 -1 -1 1 1 -1 1 1
+ 1 1 -1 1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 1 1 -1 1
+ 1 1 -1 1 -1 -1 1 1 1 1 -1
+ 1 1 -1 1 -1 -1 1 1 1 1 1
+ 1 1 -1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 1 -1 -1 1 1 1
+ 1 1 -1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 1 -1 1 1
+ 1 1 -1 1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 1 -1 1 1 -1 1
+ 1 1 -1 1 -1 1 -1 1 1 1 -1
+ 1 1 -1 1 -1 1 -1 1 1 1 1
+ 1 1 -1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 1 -1 1 1 -1 -1 1 1
+ 1 1 -1 1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 1 -1 1
+ 1 1 -1 1 -1 1 1 -1 1 1 -1
+ 1 1 -1 1 -1 1 1 -1 1 1 1
+ 1 1 -1 1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 1 1 -1 -1 1
+ 1 1 -1 1 -1 1 1 1 -1 1 -1
+ 1 1 -1 1 -1 1 1 1 -1 1 1
+ 1 1 -1 1 -1 1 1 1 1 -1 -1
+ 1 1 -1 1 -1 1 1 1 1 -1 1
+ 1 1 -1 1 -1 1 1 1 1 1 -1
+ 1 1 -1 1 -1 1 1 1 1 1 1
+ 1 1 -1 1 1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 -1 -1 1 1
+ 1 1 -1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 1 -1 1
+ 1 1 -1 1 1 -1 -1 -1 1 1 -1
+ 1 1 -1 1 1 -1 -1 -1 1 1 1
+ 1 1 -1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 1 -1 1 1
+ 1 1 -1 1 1 -1 -1 1 1 -1 -1
+ 1 1 -1 1 1 -1 -1 1 1 -1 1
+ 1 1 -1 1 1 -1 -1 1 1 1 -1
+ 1 1 -1 1 1 -1 -1 1 1 1 1
+ 1 1 -1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 1 -1 -1 1 1
+ 1 1 -1 1 1 -1 1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 1 -1 1
+ 1 1 -1 1 1 -1 1 -1 1 1 -1
+ 1 1 -1 1 1 -1 1 -1 1 1 1
+ 1 1 -1 1 1 -1 1 1 -1 -1 -1
+ 1 1 -1 1 1 -1 1 1 -1 -1 1
+ 1 1 -1 1 1 -1 1 1 -1 1 -1
+ 1 1 -1 1 1 -1 1 1 -1 1 1
+ 1 1 -1 1 1 -1 1 1 1 -1 -1
+ 1 1 -1 1 1 -1 1 1 1 -1 1
+ 1 1 -1 1 1 -1 1 1 1 1 -1
+ 1 1 -1 1 1 -1 1 1 1 1 1
+ 1 1 -1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 1 1 -1 -1 -1 1 1
+ 1 1 -1 1 1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 1 -1 1
+ 1 1 -1 1 1 1 -1 -1 1 1 -1
+ 1 1 -1 1 1 1 -1 -1 1 1 1
+ 1 1 -1 1 1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 1 -1 -1 1
+ 1 1 -1 1 1 1 -1 1 -1 1 -1
+ 1 1 -1 1 1 1 -1 1 -1 1 1
+ 1 1 -1 1 1 1 -1 1 1 -1 -1
+ 1 1 -1 1 1 1 -1 1 1 -1 1
+ 1 1 -1 1 1 1 -1 1 1 1 -1
+ 1 1 -1 1 1 1 -1 1 1 1 1
+ 1 1 -1 1 1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 1 1 -1 -1 -1 1
+ 1 1 -1 1 1 1 1 -1 -1 1 -1
+ 1 1 -1 1 1 1 1 -1 -1 1 1
+ 1 1 -1 1 1 1 1 -1 1 -1 -1
+ 1 1 -1 1 1 1 1 -1 1 -1 1
+ 1 1 -1 1 1 1 1 -1 1 1 -1
+ 1 1 -1 1 1 1 1 -1 1 1 1
+ 1 1 -1 1 1 1 1 1 -1 -1 -1
+ 1 1 -1 1 1 1 1 1 -1 -1 1
+ 1 1 -1 1 1 1 1 1 -1 1 -1
+ 1 1 -1 1 1 1 1 1 -1 1 1
+ 1 1 -1 1 1 1 1 1 1 -1 -1
+ 1 1 -1 1 1 1 1 1 1 -1 1
+ 1 1 -1 1 1 1 1 1 1 1 -1
+ 1 1 -1 1 1 1 1 1 1 1 1
+ 1 1 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 1 1 -1 -1 -1 -1 1 1 1
+ 1 1 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 1 -1 1 1
+ 1 1 1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 1 1 -1 -1 -1 1 1 -1 1
+ 1 1 1 1 -1 -1 -1 1 1 1 -1
+ 1 1 1 1 -1 -1 -1 1 1 1 1
+ 1 1 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 1 -1 -1 1 1
+ 1 1 1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 1 -1 1
+ 1 1 1 1 -1 -1 1 -1 1 1 -1
+ 1 1 1 1 -1 -1 1 -1 1 1 1
+ 1 1 1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 1 1 -1 -1 1
+ 1 1 1 1 -1 -1 1 1 -1 1 -1
+ 1 1 1 1 -1 -1 1 1 -1 1 1
+ 1 1 1 1 -1 -1 1 1 1 -1 -1
+ 1 1 1 1 -1 -1 1 1 1 -1 1
+ 1 1 1 1 -1 -1 1 1 1 1 -1
+ 1 1 1 1 -1 -1 1 1 1 1 1
+ 1 1 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 1 -1 -1 -1 1 1
+ 1 1 1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 1 -1 1
+ 1 1 1 1 -1 1 -1 -1 1 1 -1
+ 1 1 1 1 -1 1 -1 -1 1 1 1
+ 1 1 1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 1 -1 -1 1
+ 1 1 1 1 -1 1 -1 1 -1 1 -1
+ 1 1 1 1 -1 1 -1 1 -1 1 1
+ 1 1 1 1 -1 1 -1 1 1 -1 -1
+ 1 1 1 1 -1 1 -1 1 1 -1 1
+ 1 1 1 1 -1 1 -1 1 1 1 -1
+ 1 1 1 1 -1 1 -1 1 1 1 1
+ 1 1 1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 1 1 -1 1 1 -1 -1 -1 1
+ 1 1 1 1 -1 1 1 -1 -1 1 -1
+ 1 1 1 1 -1 1 1 -1 -1 1 1
+ 1 1 1 1 -1 1 1 -1 1 -1 -1
+ 1 1 1 1 -1 1 1 -1 1 -1 1
+ 1 1 1 1 -1 1 1 -1 1 1 -1
+ 1 1 1 1 -1 1 1 -1 1 1 1
+ 1 1 1 1 -1 1 1 1 -1 -1 -1
+ 1 1 1 1 -1 1 1 1 -1 -1 1
+ 1 1 1 1 -1 1 1 1 -1 1 -1
+ 1 1 1 1 -1 1 1 1 -1 1 1
+ 1 1 1 1 -1 1 1 1 1 -1 -1
+ 1 1 1 1 -1 1 1 1 1 -1 1
+ 1 1 1 1 -1 1 1 1 1 1 -1
+ 1 1 1 1 -1 1 1 1 1 1 1
+ 1 1 1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 1 1 -1 -1 -1 -1 1
+ 1 1 1 1 1 1 -1 -1 -1 1 -1
+ 1 1 1 1 1 1 -1 -1 -1 1 1
+ 1 1 1 1 1 1 -1 -1 1 -1 -1
+ 1 1 1 1 1 1 -1 -1 1 -1 1
+ 1 1 1 1 1 1 -1 -1 1 1 -1
+ 1 1 1 1 1 1 -1 -1 1 1 1
+ 1 1 1 1 1 1 -1 1 -1 -1 -1
+ 1 1 1 1 1 1 -1 1 -1 -1 1
+ 1 1 1 1 1 1 -1 1 -1 1 -1
+ 1 1 1 1 1 1 -1 1 -1 1 1
+ 1 1 1 1 1 1 -1 1 1 -1 -1
+ 1 1 1 1 1 1 -1 1 1 -1 1
+ 1 1 1 1 1 1 -1 1 1 1 -1
+ 1 1 1 1 1 1 -1 1 1 1 1
+ 1 1 1 1 1 1 1 1 -1 -1 -1
+ 1 1 1 1 1 1 1 1 -1 -1 1
+ 1 1 1 1 1 1 1 1 -1 1 -1
+ 1 1 1 1 1 1 1 1 -1 1 1
+ 1 1 1 1 1 1 1 1 1 1 -1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 -1 1
+ 1 1 1 1 1 1 1 1 1 -1 -1
+ 1 1 1 1 1 1 1 -1 1 1 1
+ 1 1 1 1 1 1 1 -1 1 1 -1
+ 1 1 1 1 1 1 1 -1 1 -1 1
+ 1 1 1 1 1 1 1 -1 1 -1 -1
+ 1 1 1 1 1 1 1 -1 -1 1 1
+ 1 1 1 1 1 1 1 -1 -1 1 -1
+ 1 1 1 1 1 1 1 -1 -1 -1 1
+ 1 1 1 1 1 1 1 -1 -1 -1 -1
+ 1 1 1 1 1 -1 1 1 1 1 1
+ 1 1 1 1 1 -1 1 1 1 1 -1
+ 1 1 1 1 1 -1 1 1 1 -1 1
+ 1 1 1 1 1 -1 1 1 1 -1 -1
+ 1 1 1 1 1 -1 1 1 -1 1 1
+ 1 1 1 1 1 -1 1 1 -1 1 -1
+ 1 1 1 1 1 -1 1 1 -1 -1 1
+ 1 1 1 1 1 -1 1 1 -1 -1 -1
+ 1 1 1 1 1 -1 1 -1 1 1 1
+ 1 1 1 1 1 -1 1 -1 1 1 -1
+ 1 1 1 1 1 -1 1 -1 1 -1 1
+ 1 1 1 1 1 -1 1 -1 1 -1 -1
+ 1 1 1 1 1 -1 1 -1 -1 1 1
+ 1 1 1 1 1 -1 1 -1 -1 1 -1
+ 1 1 1 1 1 -1 1 -1 -1 -1 1
+ 1 1 1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 1 1 -1 -1 1 1 1 1
+ 1 1 1 1 1 -1 -1 1 1 1 -1
+ 1 1 1 1 1 -1 -1 1 1 -1 1
+ 1 1 1 1 1 -1 -1 1 1 -1 -1
+ 1 1 1 1 1 -1 -1 1 -1 1 1
+ 1 1 1 1 1 -1 -1 1 -1 1 -1
+ 1 1 1 1 1 -1 -1 1 -1 -1 1
+ 1 1 1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 1 1 -1 -1 -1 1 1 1
+ 1 1 1 1 1 -1 -1 -1 1 1 -1
+ 1 1 1 1 1 -1 -1 -1 1 -1 1
+ 1 1 1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 1 1 -1 -1 -1 -1 1 1
+ 1 1 1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 1 1 1 1 1
+ 1 1 1 -1 1 1 1 1 1 1 -1
+ 1 1 1 -1 1 1 1 1 1 -1 1
+ 1 1 1 -1 1 1 1 1 1 -1 -1
+ 1 1 1 -1 1 1 1 1 -1 1 1
+ 1 1 1 -1 1 1 1 1 -1 1 -1
+ 1 1 1 -1 1 1 1 1 -1 -1 1
+ 1 1 1 -1 1 1 1 1 -1 -1 -1
+ 1 1 1 -1 1 1 1 -1 1 1 1
+ 1 1 1 -1 1 1 1 -1 1 1 -1
+ 1 1 1 -1 1 1 1 -1 1 -1 1
+ 1 1 1 -1 1 1 1 -1 1 -1 -1
+ 1 1 1 -1 1 1 1 -1 -1 1 1
+ 1 1 1 -1 1 1 1 -1 -1 1 -1
+ 1 1 1 -1 1 1 1 -1 -1 -1 1
+ 1 1 1 -1 1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 -1 1 1 1 1
+ 1 1 1 -1 1 1 -1 1 1 1 -1
+ 1 1 1 -1 1 1 -1 1 1 -1 1
+ 1 1 1 -1 1 1 -1 1 1 -1 -1
+ 1 1 1 -1 1 1 -1 1 -1 1 1
+ 1 1 1 -1 1 1 -1 1 -1 1 -1
+ 1 1 1 -1 1 1 -1 1 -1 -1 1
+ 1 1 1 -1 1 1 -1 1 -1 -1 -1
+ 1 1 1 -1 1 1 -1 -1 1 1 1
+ 1 1 1 -1 1 1 -1 -1 1 1 -1
+ 1 1 1 -1 1 1 -1 -1 1 -1 1
+ 1 1 1 -1 1 1 -1 -1 1 -1 -1
+ 1 1 1 -1 1 1 -1 -1 -1 1 1
+ 1 1 1 -1 1 1 -1 -1 -1 1 -1
+ 1 1 1 -1 1 1 -1 -1 -1 -1 1
+ 1 1 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 1 1 1 1
+ 1 1 1 -1 1 -1 1 1 1 1 -1
+ 1 1 1 -1 1 -1 1 1 1 -1 1
+ 1 1 1 -1 1 -1 1 1 1 -1 -1
+ 1 1 1 -1 1 -1 1 1 -1 1 1
+ 1 1 1 -1 1 -1 1 1 -1 1 -1
+ 1 1 1 -1 1 -1 1 1 -1 -1 1
+ 1 1 1 -1 1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 -1 1 1 1
+ 1 1 1 -1 1 -1 1 -1 1 1 -1
+ 1 1 1 -1 1 -1 1 -1 1 -1 1
+ 1 1 1 -1 1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 1 -1 -1 1 1
+ 1 1 1 -1 1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 1 1 1
+ 1 1 1 -1 1 -1 -1 1 1 1 -1
+ 1 1 1 -1 1 -1 -1 1 1 -1 1
+ 1 1 1 -1 1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 -1 1 1
+ 1 1 1 -1 1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 -1 -1 1 1 1
+ 1 1 1 -1 1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 1 1 1 1
+ 1 1 1 -1 -1 1 1 1 1 1 -1
+ 1 1 1 -1 -1 1 1 1 1 -1 1
+ 1 1 1 -1 -1 1 1 1 1 -1 -1
+ 1 1 1 -1 -1 1 1 1 -1 1 1
+ 1 1 1 -1 -1 1 1 1 -1 1 -1
+ 1 1 1 -1 -1 1 1 1 -1 -1 1
+ 1 1 1 -1 -1 1 1 1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 -1 1 1 1
+ 1 1 1 -1 -1 1 1 -1 1 1 -1
+ 1 1 1 -1 -1 1 1 -1 1 -1 1
+ 1 1 1 -1 -1 1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 1 -1 -1 1 1
+ 1 1 1 -1 -1 1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 1 1 1
+ 1 1 1 -1 -1 1 -1 1 1 1 -1
+ 1 1 1 -1 -1 1 -1 1 1 -1 1
+ 1 1 1 -1 -1 1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 -1 1 1
+ 1 1 1 -1 -1 1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 1 -1 -1 1 1 1
+ 1 1 1 -1 -1 1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 1 1 1
+ 1 1 1 -1 -1 -1 1 1 1 1 -1
+ 1 1 1 -1 -1 -1 1 1 1 -1 1
+ 1 1 1 -1 -1 -1 1 1 1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 -1 1 1
+ 1 1 1 -1 -1 -1 1 1 -1 1 -1
+ 1 1 1 -1 -1 -1 1 1 -1 -1 1
+ 1 1 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 -1 1 1 1
+ 1 1 1 -1 -1 -1 1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 1 1 1
+ 1 1 1 -1 -1 -1 -1 1 1 1 -1
+ 1 1 1 -1 -1 -1 -1 1 1 -1 1
+ 1 1 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1 1 1
+ 1 1 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 1 1 1 1 1
+ 1 -1 1 1 1 1 1 1 1 1 -1
+ 1 -1 1 1 1 1 1 1 1 -1 1
+ 1 -1 1 1 1 1 1 1 1 -1 -1
+ 1 -1 1 1 1 1 1 1 -1 1 1
+ 1 -1 1 1 1 1 1 1 -1 1 -1
+ 1 -1 1 1 1 1 1 1 -1 -1 1
+ 1 -1 1 1 1 1 1 1 -1 -1 -1
+ 1 -1 1 1 1 1 1 -1 1 1 1
+ 1 -1 1 1 1 1 1 -1 1 1 -1
+ 1 -1 1 1 1 1 1 -1 1 -1 1
+ 1 -1 1 1 1 1 1 -1 1 -1 -1
+ 1 -1 1 1 1 1 1 -1 -1 1 1
+ 1 -1 1 1 1 1 1 -1 -1 1 -1
+ 1 -1 1 1 1 1 1 -1 -1 -1 1
+ 1 -1 1 1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 -1 1 1 1 1
+ 1 -1 1 1 1 1 -1 1 1 1 -1
+ 1 -1 1 1 1 1 -1 1 1 -1 1
+ 1 -1 1 1 1 1 -1 1 1 -1 -1
+ 1 -1 1 1 1 1 -1 1 -1 1 1
+ 1 -1 1 1 1 1 -1 1 -1 1 -1
+ 1 -1 1 1 1 1 -1 1 -1 -1 1
+ 1 -1 1 1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 1 1 -1 -1 1 1 1
+ 1 -1 1 1 1 1 -1 -1 1 1 -1
+ 1 -1 1 1 1 1 -1 -1 1 -1 1
+ 1 -1 1 1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 1 1 -1 -1 -1 1 1
+ 1 -1 1 1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 1 1 1 1
+ 1 -1 1 1 1 -1 1 1 1 1 -1
+ 1 -1 1 1 1 -1 1 1 1 -1 1
+ 1 -1 1 1 1 -1 1 1 1 -1 -1
+ 1 -1 1 1 1 -1 1 1 -1 1 1
+ 1 -1 1 1 1 -1 1 1 -1 1 -1
+ 1 -1 1 1 1 -1 1 1 -1 -1 1
+ 1 -1 1 1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 -1 1 1 1
+ 1 -1 1 1 1 -1 1 -1 1 1 -1
+ 1 -1 1 1 1 -1 1 -1 1 -1 1
+ 1 -1 1 1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 1 -1 -1 1 1
+ 1 -1 1 1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 1 1 1
+ 1 -1 1 1 1 -1 -1 1 1 1 -1
+ 1 -1 1 1 1 -1 -1 1 1 -1 1
+ 1 -1 1 1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 -1 1 1
+ 1 -1 1 1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 -1 -1 1 1 1
+ 1 -1 1 1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 1 1 1 1
+ 1 -1 1 1 -1 1 1 1 1 1 -1
+ 1 -1 1 1 -1 1 1 1 1 -1 1
+ 1 -1 1 1 -1 1 1 1 1 -1 -1
+ 1 -1 1 1 -1 1 1 1 -1 1 1
+ 1 -1 1 1 -1 1 1 1 -1 1 -1
+ 1 -1 1 1 -1 1 1 1 -1 -1 1
+ 1 -1 1 1 -1 1 1 1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 -1 1 1 1
+ 1 -1 1 1 -1 1 1 -1 1 1 -1
+ 1 -1 1 1 -1 1 1 -1 1 -1 1
+ 1 -1 1 1 -1 1 1 -1 1 -1 -1
+ 1 -1 1 1 -1 1 1 -1 -1 1 1
+ 1 -1 1 1 -1 1 1 -1 -1 1 -1
+ 1 -1 1 1 -1 1 1 -1 -1 -1 1
+ 1 -1 1 1 -1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 1 1 1
+ 1 -1 1 1 -1 1 -1 1 1 1 -1
+ 1 -1 1 1 -1 1 -1 1 1 -1 1
+ 1 -1 1 1 -1 1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 -1 1 1
+ 1 -1 1 1 -1 1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 1 -1 -1 1 1 1
+ 1 -1 1 1 -1 1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 1 1 1
+ 1 -1 1 1 -1 -1 1 1 1 1 -1
+ 1 -1 1 1 -1 -1 1 1 1 -1 1
+ 1 -1 1 1 -1 -1 1 1 1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 -1 1 1
+ 1 -1 1 1 -1 -1 1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 -1 1 1 1
+ 1 -1 1 1 -1 -1 1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 1 1 1
+ 1 -1 1 1 -1 -1 -1 1 1 1 -1
+ 1 -1 1 1 -1 -1 -1 1 1 -1 1
+ 1 -1 1 1 -1 -1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1 1 1
+ 1 -1 1 1 -1 -1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 1 1 1 1
+ 1 -1 1 -1 1 1 1 1 1 1 -1
+ 1 -1 1 -1 1 1 1 1 1 -1 1
+ 1 -1 1 -1 1 1 1 1 1 -1 -1
+ 1 -1 1 -1 1 1 1 1 -1 1 1
+ 1 -1 1 -1 1 1 1 1 -1 1 -1
+ 1 -1 1 -1 1 1 1 1 -1 -1 1
+ 1 -1 1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 -1 1 1 1
+ 1 -1 1 -1 1 1 1 -1 1 1 -1
+ 1 -1 1 -1 1 1 1 -1 1 -1 1
+ 1 -1 1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 1 1 -1 -1 1 1
+ 1 -1 1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 1 1 1
+ 1 -1 1 -1 1 1 -1 1 1 1 -1
+ 1 -1 1 -1 1 1 -1 1 1 -1 1
+ 1 -1 1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 -1 1 1
+ 1 -1 1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 -1 -1 1 1 1
+ 1 -1 1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 1 1 1
+ 1 -1 1 -1 1 -1 1 1 1 1 -1
+ 1 -1 1 -1 1 -1 1 1 1 -1 1
+ 1 -1 1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 -1 1 1
+ 1 -1 1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 -1 1 1 1
+ 1 -1 1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 1 1 1
+ 1 -1 1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 1 1 1
+ 1 -1 1 -1 -1 1 1 1 1 1 -1
+ 1 -1 1 -1 -1 1 1 1 1 -1 1
+ 1 -1 1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 -1 1 1
+ 1 -1 1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 -1 1 1 1
+ 1 -1 1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 1 1 1
+ 1 -1 1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 1 1 1
+ 1 -1 1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 1 1 1 1
+ 1 -1 -1 1 1 1 1 1 1 1 -1
+ 1 -1 -1 1 1 1 1 1 1 -1 1
+ 1 -1 -1 1 1 1 1 1 1 -1 -1
+ 1 -1 -1 1 1 1 1 1 -1 1 1
+ 1 -1 -1 1 1 1 1 1 -1 1 -1
+ 1 -1 -1 1 1 1 1 1 -1 -1 1
+ 1 -1 -1 1 1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 -1 1 1 1
+ 1 -1 -1 1 1 1 1 -1 1 1 -1
+ 1 -1 -1 1 1 1 1 -1 1 -1 1
+ 1 -1 -1 1 1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 1 1 -1 -1 1 1
+ 1 -1 -1 1 1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 1 1 1
+ 1 -1 -1 1 1 1 -1 1 1 1 -1
+ 1 -1 -1 1 1 1 -1 1 1 -1 1
+ 1 -1 -1 1 1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 -1 1 1
+ 1 -1 -1 1 1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 1 1 -1 -1 1 1 1
+ 1 -1 -1 1 1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 1 1 1
+ 1 -1 -1 1 1 -1 1 1 1 1 -1
+ 1 -1 -1 1 1 -1 1 1 1 -1 1
+ 1 -1 -1 1 1 -1 1 1 1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 -1 1 1
+ 1 -1 -1 1 1 -1 1 1 -1 1 -1
+ 1 -1 -1 1 1 -1 1 1 -1 -1 1
+ 1 -1 -1 1 1 -1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 -1 1 1 1
+ 1 -1 -1 1 1 -1 1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 1 1 1
+ 1 -1 -1 1 1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1 1 1
+ 1 -1 -1 1 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 1 1 1
+ 1 -1 -1 1 -1 1 1 1 1 1 -1
+ 1 -1 -1 1 -1 1 1 1 1 -1 1
+ 1 -1 -1 1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 -1 1 1
+ 1 -1 -1 1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 -1 1 1 1
+ 1 -1 -1 1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 1 1 1
+ 1 -1 -1 1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 1 1 1
+ 1 -1 -1 1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 1 1 1
+ 1 -1 -1 -1 1 1 1 1 1 1 -1
+ 1 -1 -1 -1 1 1 1 1 1 -1 1
+ 1 -1 -1 -1 1 1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 -1 1 1
+ 1 -1 -1 -1 1 1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 -1 1 1 1
+ 1 -1 -1 -1 1 1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 1 1 1
+ 1 -1 -1 -1 1 1 -1 1 1 1 -1
+ 1 -1 -1 -1 1 1 -1 1 1 -1 1
+ 1 -1 -1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 1 1 1
+ 1 -1 -1 -1 1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 1 1 1
+ 1 -1 -1 -1 -1 1 1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1 1 1
+ 1 -1 -1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+end
+
diff --git a/third_party/cddlib/examples-ine/cross12.ine b/third_party/cddlib/examples-ine/cross12.ine
new file mode 100644
index 0000000..108d9e4
--- /dev/null
+++ b/third_party/cddlib/examples-ine/cross12.ine
@@ -0,0 +1,4102 @@
+* 12-dim cross polytope
+H-representation
+begin
+4096  13   integer 
+ 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1
+ 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1 -1 1 1 1
+ 1 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1 1 -1 1 1
+ 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1
+ 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 -1 1 1 1 1
+ 1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1 -1 1 1 1
+ 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 1 1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1 1 -1 1 1
+ 1 1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1 1 1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 -1 -1 1 1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1 -1 1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1 1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1 1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 -1 1 1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1 1 1 1 1
+ 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 -1 1 1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 -1 1 1 1 1
+ 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 1 1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 1 1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 1 -1 1 1 1
+ 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 1 1 -1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 1 1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 1 1 1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 1 1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 1 1 1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 1 -1 -1 -1 1 1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 -1 1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1 -1 1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1 1 -1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1 1 1 -1 1
+ 1 1 -1 -1 -1 1 -1 -1 1 1 1 1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1 1 1 1 1
+ 1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 -1 1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 -1 1 1 1 1
+ 1 1 -1 -1 -1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 1 -1 -1 1 1
+ 1 1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 -1 -1 1 -1 1 1 -1 1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 1 -1 1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 1 -1 1 1 1
+ 1 1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 1 1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 1 1 -1 1 1
+ 1 1 -1 -1 -1 1 -1 1 1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 -1 1 1 1 1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 1 1 1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 1 1 1 1 1
+ 1 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 1 1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 1 1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 1 1 -1 -1 1 1 1 1
+ 1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 -1 1 1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 -1 1 1 -1 1 -1 1 1 1
+ 1 1 -1 -1 -1 1 1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 1 -1 1 1 -1 1 1
+ 1 1 -1 -1 -1 1 1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 1 1 1 -1 1
+ 1 1 -1 -1 -1 1 1 -1 1 1 1 1 -1
+ 1 1 -1 -1 -1 1 1 -1 1 1 1 1 1
+ 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 1 1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 1 1 1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 1 1 1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 1 1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 1 1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 1 1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 1 1 1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 1 1 1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 1 1 1 -1 1 1 1 1
+ 1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 1 1 1 1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 1 1 1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 1 1 1 -1 -1 1 1
+ 1 1 -1 -1 -1 1 1 1 1 -1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 1 1 -1 1 -1 1
+ 1 1 -1 -1 -1 1 1 1 1 -1 1 1 -1
+ 1 1 -1 -1 -1 1 1 1 1 -1 1 1 1
+ 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 1 1 1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 1 1 1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 1 1 1 1 -1 1 1
+ 1 1 -1 -1 -1 1 1 1 1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 1 1 1 1 -1 1
+ 1 1 -1 -1 -1 1 1 1 1 1 1 1 -1
+ 1 1 -1 -1 -1 1 1 1 1 1 1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 1 -1 -1 -1 -1 1 1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1 -1 1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1 1 -1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1 1 1 -1 1
+ 1 1 -1 -1 1 -1 -1 -1 1 1 1 1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1 1 1 1 1
+ 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 -1 -1 1 1 1
+ 1 1 -1 -1 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 -1 1 -1 1 1
+ 1 1 -1 -1 1 -1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 -1 1 -1 -1 1 -1 1 1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 -1 1 1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 -1 1 1 1 1
+ 1 1 -1 -1 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 1 -1 1 1 1
+ 1 1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 1 1 1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 1 1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 1 1 -1 1 1
+ 1 1 -1 -1 1 -1 -1 1 1 1 1 -1 -1
+ 1 1 -1 -1 1 -1 -1 1 1 1 1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 1 1 1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 1 1 1 1 1
+ 1 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 1 -1 1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 1 -1 1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 1 -1 1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 1 -1 1 -1 -1 1 1 1 1
+ 1 1 -1 -1 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 1 -1 1 -1 1 1 1
+ 1 1 -1 -1 1 -1 1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 1 -1 1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 1 -1 1 -1 1 1 -1 1 1
+ 1 1 -1 -1 1 -1 1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 1 1 1 -1 1
+ 1 1 -1 -1 1 -1 1 -1 1 1 1 1 -1
+ 1 1 -1 -1 1 -1 1 -1 1 1 1 1 1
+ 1 1 -1 -1 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 1 1 -1 -1 1 1 1
+ 1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 -1
+ 1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1
+ 1 1 -1 -1 1 -1 1 1 -1 1 -1 1 -1
+ 1 1 -1 -1 1 -1 1 1 -1 1 -1 1 1
+ 1 1 -1 -1 1 -1 1 1 -1 1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 1 -1 1 1 -1 1
+ 1 1 -1 -1 1 -1 1 1 -1 1 1 1 -1
+ 1 1 -1 -1 1 -1 1 1 -1 1 1 1 1
+ 1 1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 1 1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 1 1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 1 1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 1 1 1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 1 1 1 -1 1 1 1
+ 1 1 -1 -1 1 -1 1 1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 -1 1 1 1 1 -1 -1 1
+ 1 1 -1 -1 1 -1 1 1 1 1 -1 1 -1
+ 1 1 -1 -1 1 -1 1 1 1 1 -1 1 1
+ 1 1 -1 -1 1 -1 1 1 1 1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 1 1 1 1 -1 1
+ 1 1 -1 -1 1 -1 1 1 1 1 1 1 -1
+ 1 1 -1 -1 1 -1 1 1 1 1 1 1 1
+ 1 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 1 1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 1 1 -1 -1 -1 1 1 1 1
+ 1 1 -1 -1 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 1 1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 1 1 -1 -1 1 -1 1 1 1
+ 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 -1 1 1 -1 1 1
+ 1 1 -1 -1 1 1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 1 1 1 -1 1
+ 1 1 -1 -1 1 1 -1 -1 1 1 1 1 -1
+ 1 1 -1 -1 1 1 -1 -1 1 1 1 1 1
+ 1 1 -1 -1 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 1 -1 1 -1 -1 1 1 1
+ 1 1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 1 -1 1 -1 1 1
+ 1 1 -1 -1 1 1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 -1 1 1 -1 1 -1 1 1 -1 1
+ 1 1 -1 -1 1 1 -1 1 -1 1 1 1 -1
+ 1 1 -1 -1 1 1 -1 1 -1 1 1 1 1
+ 1 1 -1 -1 1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 1 1 -1 -1 1 1
+ 1 1 -1 -1 1 1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 1 -1 1 1 -1 1 -1 1
+ 1 1 -1 -1 1 1 -1 1 1 -1 1 1 -1
+ 1 1 -1 -1 1 1 -1 1 1 -1 1 1 1
+ 1 1 -1 -1 1 1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 1 1 1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 1 1 1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 1 1 1 -1 1 1
+ 1 1 -1 -1 1 1 -1 1 1 1 1 -1 -1
+ 1 1 -1 -1 1 1 -1 1 1 1 1 -1 1
+ 1 1 -1 -1 1 1 -1 1 1 1 1 1 -1
+ 1 1 -1 -1 1 1 -1 1 1 1 1 1 1
+ 1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 1 1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 1 1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 1 1 1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 1 1 1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 1 1 1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 1 1 1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 1 1 1 -1 -1 1 1 1 1
+ 1 1 -1 -1 1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 1 1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 1 1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 1 1 1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 1 1 1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 1 1 1 -1 1 -1 1 1 1
+ 1 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 1 1 1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 1 1 1 -1 1 1 -1 1 1
+ 1 1 -1 -1 1 1 1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 1 1 1 -1 1
+ 1 1 -1 -1 1 1 1 -1 1 1 1 1 -1
+ 1 1 -1 -1 1 1 1 -1 1 1 1 1 1
+ 1 1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 1 1 1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 1 1 1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 1 1 1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 1 1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 1 1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 1 1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 1 1 1 -1 -1 1 1 1
+ 1 1 -1 -1 1 1 1 1 -1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 1 1 -1 1 -1 -1 1
+ 1 1 -1 -1 1 1 1 1 -1 1 -1 1 -1
+ 1 1 -1 -1 1 1 1 1 -1 1 -1 1 1
+ 1 1 -1 -1 1 1 1 1 -1 1 1 -1 -1
+ 1 1 -1 -1 1 1 1 1 -1 1 1 -1 1
+ 1 1 -1 -1 1 1 1 1 -1 1 1 1 -1
+ 1 1 -1 -1 1 1 1 1 -1 1 1 1 1
+ 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 1 1 1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 1 1 1 1 -1 -1 1 1
+ 1 1 -1 -1 1 1 1 1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 1 1 1 1 -1 1 -1 1
+ 1 1 -1 -1 1 1 1 1 1 -1 1 1 -1
+ 1 1 -1 -1 1 1 1 1 1 -1 1 1 1
+ 1 1 -1 -1 1 1 1 1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 1 1 1 1 -1 -1 1
+ 1 1 -1 -1 1 1 1 1 1 1 -1 1 -1
+ 1 1 -1 -1 1 1 1 1 1 1 -1 1 1
+ 1 1 -1 -1 1 1 1 1 1 1 1 -1 -1
+ 1 1 -1 -1 1 1 1 1 1 1 1 -1 1
+ 1 1 -1 -1 1 1 1 1 1 1 1 1 -1
+ 1 1 -1 -1 1 1 1 1 1 1 1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 1 -1 -1 -1 -1 -1 1 1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1 -1 1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1 1 -1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1 1 1 -1 1
+ 1 1 -1 1 -1 -1 -1 -1 1 1 1 1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1 1 1 1 1
+ 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 -1 -1 1 1 1
+ 1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 -1 1 -1 1 1
+ 1 1 -1 1 -1 -1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 -1 -1 1 -1 1 1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 -1 1 1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 -1 1 1 1 1
+ 1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 -1 1 1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 1 -1 1 1 1
+ 1 1 -1 1 -1 -1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 1 1 1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 1 1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 1 1 -1 1 1
+ 1 1 -1 1 -1 -1 -1 1 1 1 1 -1 -1
+ 1 1 -1 1 -1 -1 -1 1 1 1 1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 1 1 1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 1 1 1 1 1
+ 1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 1 -1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 1 -1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 1 -1 -1 -1 1 1 1
+ 1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 -1 1 -1 -1 1 -1 1 1
+ 1 1 -1 1 -1 -1 1 -1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 -1 1 1 -1 1
+ 1 1 -1 1 -1 -1 1 -1 -1 1 1 1 -1
+ 1 1 -1 1 -1 -1 1 -1 -1 1 1 1 1
+ 1 1 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 1 -1 1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 1 -1 1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 1 -1 1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 1 -1 1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 1 -1 1 -1 1 1 1
+ 1 1 -1 1 -1 -1 1 -1 1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 1 1 -1 -1 1
+ 1 1 -1 1 -1 -1 1 -1 1 1 -1 1 -1
+ 1 1 -1 1 -1 -1 1 -1 1 1 -1 1 1
+ 1 1 -1 1 -1 -1 1 -1 1 1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 1 1 1 -1 1
+ 1 1 -1 1 -1 -1 1 -1 1 1 1 1 -1
+ 1 1 -1 1 -1 -1 1 -1 1 1 1 1 1
+ 1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 1 1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 1 1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 1 1 -1 -1 1 1 1
+ 1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1 1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 -1 1 1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 -1 1 1 -1 1 -1 1 1
+ 1 1 -1 1 -1 -1 1 1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 1 -1 1 1 -1 1
+ 1 1 -1 1 -1 -1 1 1 -1 1 1 1 -1
+ 1 1 -1 1 -1 -1 1 1 -1 1 1 1 1
+ 1 1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1 1 1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 1 1 1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 1 1 1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 1 1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 1 1 1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 1 1 1 -1 1 1 1
+ 1 1 -1 1 -1 -1 1 1 1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1 1 1 1 -1 -1 1
+ 1 1 -1 1 -1 -1 1 1 1 1 -1 1 -1
+ 1 1 -1 1 -1 -1 1 1 1 1 -1 1 1
+ 1 1 -1 1 -1 -1 1 1 1 1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 1 1 1 1 -1 1
+ 1 1 -1 1 -1 -1 1 1 1 1 1 1 -1
+ 1 1 -1 1 -1 -1 1 1 1 1 1 1 1
+ 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 1 -1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 1 -1 1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 1 -1 1 -1 -1 -1 1 1 1 1
+ 1 1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 1 -1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 1 -1 1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 1 -1 1 -1 -1 1 -1 1 1 1
+ 1 1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 -1 1 1 -1 1 1
+ 1 1 -1 1 -1 1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 1 1 1 -1 1
+ 1 1 -1 1 -1 1 -1 -1 1 1 1 1 -1
+ 1 1 -1 1 -1 1 -1 -1 1 1 1 1 1
+ 1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 1
+ 1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 1 -1 1 -1 1 1
+ 1 1 -1 1 -1 1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 1 -1 1 -1 1 1 -1 1
+ 1 1 -1 1 -1 1 -1 1 -1 1 1 1 -1
+ 1 1 -1 1 -1 1 -1 1 -1 1 1 1 1
+ 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 1 1 -1 -1 1 1
+ 1 1 -1 1 -1 1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 1 -1 1 -1 1 1 -1 1 -1 1
+ 1 1 -1 1 -1 1 -1 1 1 -1 1 1 -1
+ 1 1 -1 1 -1 1 -1 1 1 -1 1 1 1
+ 1 1 -1 1 -1 1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 1 1 1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 1 1 1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 1 1 1 -1 1 1
+ 1 1 -1 1 -1 1 -1 1 1 1 1 -1 -1
+ 1 1 -1 1 -1 1 -1 1 1 1 1 -1 1
+ 1 1 -1 1 -1 1 -1 1 1 1 1 1 -1
+ 1 1 -1 1 -1 1 -1 1 1 1 1 1 1
+ 1 1 -1 1 -1 1 1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 1 1 -1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 1 1 -1 -1 -1 1 1 1
+ 1 1 -1 1 -1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 1 1 -1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 1 1 -1 -1 1 -1 1 1
+ 1 1 -1 1 -1 1 1 -1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 -1 1 1 -1 1
+ 1 1 -1 1 -1 1 1 -1 -1 1 1 1 -1
+ 1 1 -1 1 -1 1 1 -1 -1 1 1 1 1
+ 1 1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 1 -1 -1 -1 1
+ 1 1 -1 1 -1 1 1 -1 1 -1 -1 1 -1
+ 1 1 -1 1 -1 1 1 -1 1 -1 -1 1 1
+ 1 1 -1 1 -1 1 1 -1 1 -1 1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 1 -1 1 -1 1
+ 1 1 -1 1 -1 1 1 -1 1 -1 1 1 -1
+ 1 1 -1 1 -1 1 1 -1 1 -1 1 1 1
+ 1 1 -1 1 -1 1 1 -1 1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 1 1 -1 -1 1
+ 1 1 -1 1 -1 1 1 -1 1 1 -1 1 -1
+ 1 1 -1 1 -1 1 1 -1 1 1 -1 1 1
+ 1 1 -1 1 -1 1 1 -1 1 1 1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 1 1 1 -1 1
+ 1 1 -1 1 -1 1 1 -1 1 1 1 1 -1
+ 1 1 -1 1 -1 1 1 -1 1 1 1 1 1
+ 1 1 -1 1 -1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 1 1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 1 1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 1 1 1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 1 1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 1 1 1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 1 1 1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 1 1 1 -1 -1 1 1 1
+ 1 1 -1 1 -1 1 1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 1 1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 1 1 1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 1 1 1 -1 1 -1 1 1
+ 1 1 -1 1 -1 1 1 1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 1 1 1 -1 1 1 -1 1
+ 1 1 -1 1 -1 1 1 1 -1 1 1 1 -1
+ 1 1 -1 1 -1 1 1 1 -1 1 1 1 1
+ 1 1 -1 1 -1 1 1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 -1 1 1 1 1 -1 -1 -1 1
+ 1 1 -1 1 -1 1 1 1 1 -1 -1 1 -1
+ 1 1 -1 1 -1 1 1 1 1 -1 -1 1 1
+ 1 1 -1 1 -1 1 1 1 1 -1 1 -1 -1
+ 1 1 -1 1 -1 1 1 1 1 -1 1 -1 1
+ 1 1 -1 1 -1 1 1 1 1 -1 1 1 -1
+ 1 1 -1 1 -1 1 1 1 1 -1 1 1 1
+ 1 1 -1 1 -1 1 1 1 1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 1 1 1 1 -1 -1 1
+ 1 1 -1 1 -1 1 1 1 1 1 -1 1 -1
+ 1 1 -1 1 -1 1 1 1 1 1 -1 1 1
+ 1 1 -1 1 -1 1 1 1 1 1 1 -1 -1
+ 1 1 -1 1 -1 1 1 1 1 1 1 -1 1
+ 1 1 -1 1 -1 1 1 1 1 1 1 1 -1
+ 1 1 -1 1 -1 1 1 1 1 1 1 1 1
+ 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 1 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 1 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 1 1 -1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 1 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 1 1 -1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 1 1 -1 -1 -1 -1 1 1 1 1
+ 1 1 -1 1 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 1 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 1 1 -1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 1 1 -1 -1 -1 1 -1 1 1 1
+ 1 1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 -1 1 1 -1 1 1
+ 1 1 -1 1 1 -1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 1 1 1 -1 1
+ 1 1 -1 1 1 -1 -1 -1 1 1 1 1 -1
+ 1 1 -1 1 1 -1 -1 -1 1 1 1 1 1
+ 1 1 -1 1 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 1 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 1 1 -1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 1 1 -1 -1 1 -1 -1 1 1 1
+ 1 1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 1 -1 1 -1 1 1
+ 1 1 -1 1 1 -1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 1 1 -1 -1 1 -1 1 1 -1 1
+ 1 1 -1 1 1 -1 -1 1 -1 1 1 1 -1
+ 1 1 -1 1 1 -1 -1 1 -1 1 1 1 1
+ 1 1 -1 1 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 1 1 -1 -1 1 1
+ 1 1 -1 1 1 -1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 -1 1 1 -1 1 -1 1
+ 1 1 -1 1 1 -1 -1 1 1 -1 1 1 -1
+ 1 1 -1 1 1 -1 -1 1 1 -1 1 1 1
+ 1 1 -1 1 1 -1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 1 1 1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 1 1 1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 1 1 1 -1 1 1
+ 1 1 -1 1 1 -1 -1 1 1 1 1 -1 -1
+ 1 1 -1 1 1 -1 -1 1 1 1 1 -1 1
+ 1 1 -1 1 1 -1 -1 1 1 1 1 1 -1
+ 1 1 -1 1 1 -1 -1 1 1 1 1 1 1
+ 1 1 -1 1 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 1 -1 -1 -1 -1 1 1
+ 1 1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 -1 -1 1 -1 1
+ 1 1 -1 1 1 -1 1 -1 -1 -1 1 1 -1
+ 1 1 -1 1 1 -1 1 -1 -1 -1 1 1 1
+ 1 1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 -1 1 -1 -1 1
+ 1 1 -1 1 1 -1 1 -1 -1 1 -1 1 -1
+ 1 1 -1 1 1 -1 1 -1 -1 1 -1 1 1
+ 1 1 -1 1 1 -1 1 -1 -1 1 1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 -1 1 1 -1 1
+ 1 1 -1 1 1 -1 1 -1 -1 1 1 1 -1
+ 1 1 -1 1 1 -1 1 -1 -1 1 1 1 1
+ 1 1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 1 -1 1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 1 -1 1 -1 -1 1 1
+ 1 1 -1 1 1 -1 1 -1 1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 1 -1 1 -1 1
+ 1 1 -1 1 1 -1 1 -1 1 -1 1 1 -1
+ 1 1 -1 1 1 -1 1 -1 1 -1 1 1 1
+ 1 1 -1 1 1 -1 1 -1 1 1 -1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 1 1 -1 -1 1
+ 1 1 -1 1 1 -1 1 -1 1 1 -1 1 -1
+ 1 1 -1 1 1 -1 1 -1 1 1 -1 1 1
+ 1 1 -1 1 1 -1 1 -1 1 1 1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 1 1 1 -1 1
+ 1 1 -1 1 1 -1 1 -1 1 1 1 1 -1
+ 1 1 -1 1 1 -1 1 -1 1 1 1 1 1
+ 1 1 -1 1 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 1 1 -1 -1 -1 1 1
+ 1 1 -1 1 1 -1 1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 1 1 -1 -1 1 -1 1
+ 1 1 -1 1 1 -1 1 1 -1 -1 1 1 -1
+ 1 1 -1 1 1 -1 1 1 -1 -1 1 1 1
+ 1 1 -1 1 1 -1 1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 1 -1 1 1 -1 1 -1 -1 1
+ 1 1 -1 1 1 -1 1 1 -1 1 -1 1 -1
+ 1 1 -1 1 1 -1 1 1 -1 1 -1 1 1
+ 1 1 -1 1 1 -1 1 1 -1 1 1 -1 -1
+ 1 1 -1 1 1 -1 1 1 -1 1 1 -1 1
+ 1 1 -1 1 1 -1 1 1 -1 1 1 1 -1
+ 1 1 -1 1 1 -1 1 1 -1 1 1 1 1
+ 1 1 -1 1 1 -1 1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 1 1 1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 1 1 1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 1 1 1 -1 -1 1 1
+ 1 1 -1 1 1 -1 1 1 1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 1 1 1 -1 1 -1 1
+ 1 1 -1 1 1 -1 1 1 1 -1 1 1 -1
+ 1 1 -1 1 1 -1 1 1 1 -1 1 1 1
+ 1 1 -1 1 1 -1 1 1 1 1 -1 -1 -1
+ 1 1 -1 1 1 -1 1 1 1 1 -1 -1 1
+ 1 1 -1 1 1 -1 1 1 1 1 -1 1 -1
+ 1 1 -1 1 1 -1 1 1 1 1 -1 1 1
+ 1 1 -1 1 1 -1 1 1 1 1 1 -1 -1
+ 1 1 -1 1 1 -1 1 1 1 1 1 -1 1
+ 1 1 -1 1 1 -1 1 1 1 1 1 1 -1
+ 1 1 -1 1 1 -1 1 1 1 1 1 1 1
+ 1 1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 1 1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 1 1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 1 1 1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 1 1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 1 1 1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 1 1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 1 1 1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 1 1 1 -1 -1 -1 1 1 1 1
+ 1 1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 1 1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 1 1 1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 1 1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 1 1 1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 1 1 1 -1 -1 1 -1 1 1 1
+ 1 1 -1 1 1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 1 1 1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 1 1 1 -1 -1 1 1 -1 1 1
+ 1 1 -1 1 1 1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 1 1 1 -1 1
+ 1 1 -1 1 1 1 -1 -1 1 1 1 1 -1
+ 1 1 -1 1 1 1 -1 -1 1 1 1 1 1
+ 1 1 -1 1 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 1 1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 1 1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 1 1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 1 1 1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 1 1 1 -1 1 -1 -1 1 1 1
+ 1 1 -1 1 1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 1 1 1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 1 1 1 -1 1 -1 1 -1 1 1
+ 1 1 -1 1 1 1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 1 1 1 -1 1 -1 1 1 -1 1
+ 1 1 -1 1 1 1 -1 1 -1 1 1 1 -1
+ 1 1 -1 1 1 1 -1 1 -1 1 1 1 1
+ 1 1 -1 1 1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 1 1 1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 1 1 1 -1 1 1 -1 -1 1 1
+ 1 1 -1 1 1 1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 1 1 1 -1 1 1 -1 1 -1 1
+ 1 1 -1 1 1 1 -1 1 1 -1 1 1 -1
+ 1 1 -1 1 1 1 -1 1 1 -1 1 1 1
+ 1 1 -1 1 1 1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 1 1 1 -1 -1 1
+ 1 1 -1 1 1 1 -1 1 1 1 -1 1 -1
+ 1 1 -1 1 1 1 -1 1 1 1 -1 1 1
+ 1 1 -1 1 1 1 -1 1 1 1 1 -1 -1
+ 1 1 -1 1 1 1 -1 1 1 1 1 -1 1
+ 1 1 -1 1 1 1 -1 1 1 1 1 1 -1
+ 1 1 -1 1 1 1 -1 1 1 1 1 1 1
+ 1 1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 1 1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 -1 1 1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 -1 1 1 1 1 -1 -1 -1 -1 1 1
+ 1 1 -1 1 1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 -1 1 1 1 1 -1 -1 -1 1 -1 1
+ 1 1 -1 1 1 1 1 -1 -1 -1 1 1 -1
+ 1 1 -1 1 1 1 1 -1 -1 -1 1 1 1
+ 1 1 -1 1 1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 -1 1 1 1 1 -1 -1 1 -1 -1 1
+ 1 1 -1 1 1 1 1 -1 -1 1 -1 1 -1
+ 1 1 -1 1 1 1 1 -1 -1 1 -1 1 1
+ 1 1 -1 1 1 1 1 -1 -1 1 1 -1 -1
+ 1 1 -1 1 1 1 1 -1 -1 1 1 -1 1
+ 1 1 -1 1 1 1 1 -1 -1 1 1 1 -1
+ 1 1 -1 1 1 1 1 -1 -1 1 1 1 1
+ 1 1 -1 1 1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 1 1 -1 1 -1 -1 -1 1
+ 1 1 -1 1 1 1 1 -1 1 -1 -1 1 -1
+ 1 1 -1 1 1 1 1 -1 1 -1 -1 1 1
+ 1 1 -1 1 1 1 1 -1 1 -1 1 -1 -1
+ 1 1 -1 1 1 1 1 -1 1 -1 1 -1 1
+ 1 1 -1 1 1 1 1 -1 1 -1 1 1 -1
+ 1 1 -1 1 1 1 1 -1 1 -1 1 1 1
+ 1 1 -1 1 1 1 1 -1 1 1 -1 -1 -1
+ 1 1 -1 1 1 1 1 -1 1 1 -1 -1 1
+ 1 1 -1 1 1 1 1 -1 1 1 -1 1 -1
+ 1 1 -1 1 1 1 1 -1 1 1 -1 1 1
+ 1 1 -1 1 1 1 1 -1 1 1 1 -1 -1
+ 1 1 -1 1 1 1 1 -1 1 1 1 -1 1
+ 1 1 -1 1 1 1 1 -1 1 1 1 1 -1
+ 1 1 -1 1 1 1 1 -1 1 1 1 1 1
+ 1 1 -1 1 1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 1 1 1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 1 1 1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 1 1 1 1 -1 -1 -1 1 1
+ 1 1 -1 1 1 1 1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 1 1 1 1 -1 -1 1 -1 1
+ 1 1 -1 1 1 1 1 1 -1 -1 1 1 -1
+ 1 1 -1 1 1 1 1 1 -1 -1 1 1 1
+ 1 1 -1 1 1 1 1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 1 1 1 1 -1 1 -1 -1 1
+ 1 1 -1 1 1 1 1 1 -1 1 -1 1 -1
+ 1 1 -1 1 1 1 1 1 -1 1 -1 1 1
+ 1 1 -1 1 1 1 1 1 -1 1 1 -1 -1
+ 1 1 -1 1 1 1 1 1 -1 1 1 -1 1
+ 1 1 -1 1 1 1 1 1 -1 1 1 1 -1
+ 1 1 -1 1 1 1 1 1 -1 1 1 1 1
+ 1 1 -1 1 1 1 1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 1 1 1 1 -1 -1 -1 1
+ 1 1 -1 1 1 1 1 1 1 -1 -1 1 -1
+ 1 1 -1 1 1 1 1 1 1 -1 -1 1 1
+ 1 1 -1 1 1 1 1 1 1 -1 1 -1 -1
+ 1 1 -1 1 1 1 1 1 1 -1 1 -1 1
+ 1 1 -1 1 1 1 1 1 1 -1 1 1 -1
+ 1 1 -1 1 1 1 1 1 1 -1 1 1 1
+ 1 1 -1 1 1 1 1 1 1 1 -1 -1 -1
+ 1 1 -1 1 1 1 1 1 1 1 -1 -1 1
+ 1 1 -1 1 1 1 1 1 1 1 -1 1 -1
+ 1 1 -1 1 1 1 1 1 1 1 -1 1 1
+ 1 1 -1 1 1 1 1 1 1 1 1 -1 -1
+ 1 1 -1 1 1 1 1 1 1 1 1 -1 1
+ 1 1 -1 1 1 1 1 1 1 1 1 1 -1
+ 1 1 -1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1
+ 1 1 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 -1 -1 1 -1 1
+ 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 -1
+ 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1
+ 1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 -1 -1 1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 -1 -1 1 -1 1 1
+ 1 1 1 1 -1 -1 -1 -1 -1 1 1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 -1 1 1 -1 1
+ 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1
+ 1 1 1 1 -1 -1 -1 -1 -1 1 1 1 1
+ 1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 -1 1 -1 -1 1 1
+ 1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 1 -1 1 -1 1
+ 1 1 1 1 -1 -1 -1 -1 1 -1 1 1 -1
+ 1 1 1 1 -1 -1 -1 -1 1 -1 1 1 1
+ 1 1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 1 1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 -1 1 1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 -1 1 1 -1 1 1
+ 1 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 1 1 1 -1 1
+ 1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1
+ 1 1 1 1 -1 -1 -1 -1 1 1 1 1 1
+ 1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 1 -1 -1 -1 1 1
+ 1 1 1 1 -1 -1 -1 1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 -1 1 -1 -1 1 -1 1
+ 1 1 1 1 -1 -1 -1 1 -1 -1 1 1 -1
+ 1 1 1 1 -1 -1 -1 1 -1 -1 1 1 1
+ 1 1 1 1 -1 -1 -1 1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 1 -1 1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 1 -1 1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 1 -1 1 -1 1 1
+ 1 1 1 1 -1 -1 -1 1 -1 1 1 -1 -1
+ 1 1 1 1 -1 -1 -1 1 -1 1 1 -1 1
+ 1 1 1 1 -1 -1 -1 1 -1 1 1 1 -1
+ 1 1 1 1 -1 -1 -1 1 -1 1 1 1 1
+ 1 1 1 1 -1 -1 -1 1 1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 1 1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 1 1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 1 1 -1 -1 1 1
+ 1 1 1 1 -1 -1 -1 1 1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 -1 1 1 -1 1 -1 1
+ 1 1 1 1 -1 -1 -1 1 1 -1 1 1 -1
+ 1 1 1 1 -1 -1 -1 1 1 -1 1 1 1
+ 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 1 1 1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 1 1 1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 1 1 1 -1 1 1
+ 1 1 1 1 -1 -1 -1 1 1 1 1 -1 -1
+ 1 1 1 1 -1 -1 -1 1 1 1 1 -1 1
+ 1 1 1 1 -1 -1 -1 1 1 1 1 1 -1
+ 1 1 1 1 -1 -1 -1 1 1 1 1 1 1
+ 1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 1
+ 1 1 1 1 -1 -1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 -1 -1 1 -1 1
+ 1 1 1 1 -1 -1 1 -1 -1 -1 1 1 -1
+ 1 1 1 1 -1 -1 1 -1 -1 -1 1 1 1
+ 1 1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 -1 1 -1 -1 1
+ 1 1 1 1 -1 -1 1 -1 -1 1 -1 1 -1
+ 1 1 1 1 -1 -1 1 -1 -1 1 -1 1 1
+ 1 1 1 1 -1 -1 1 -1 -1 1 1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 -1 1 1 -1 1
+ 1 1 1 1 -1 -1 1 -1 -1 1 1 1 -1
+ 1 1 1 1 -1 -1 1 -1 -1 1 1 1 1
+ 1 1 1 1 -1 -1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 1 -1 1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 1 -1 1 -1 -1 1 1
+ 1 1 1 1 -1 -1 1 -1 1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 1 -1 1 -1 1
+ 1 1 1 1 -1 -1 1 -1 1 -1 1 1 -1
+ 1 1 1 1 -1 -1 1 -1 1 -1 1 1 1
+ 1 1 1 1 -1 -1 1 -1 1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 1 1 -1 -1 1
+ 1 1 1 1 -1 -1 1 -1 1 1 -1 1 -1
+ 1 1 1 1 -1 -1 1 -1 1 1 -1 1 1
+ 1 1 1 1 -1 -1 1 -1 1 1 1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 1 1 1 -1 1
+ 1 1 1 1 -1 -1 1 -1 1 1 1 1 -1
+ 1 1 1 1 -1 -1 1 -1 1 1 1 1 1
+ 1 1 1 1 -1 -1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 1 1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 1 1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 1 1 -1 -1 -1 1 1
+ 1 1 1 1 -1 -1 1 1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 1 1 -1 -1 1 -1 1
+ 1 1 1 1 -1 -1 1 1 -1 -1 1 1 -1
+ 1 1 1 1 -1 -1 1 1 -1 -1 1 1 1
+ 1 1 1 1 -1 -1 1 1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 1 1 -1 1 -1 -1 1
+ 1 1 1 1 -1 -1 1 1 -1 1 -1 1 -1
+ 1 1 1 1 -1 -1 1 1 -1 1 -1 1 1
+ 1 1 1 1 -1 -1 1 1 -1 1 1 -1 -1
+ 1 1 1 1 -1 -1 1 1 -1 1 1 -1 1
+ 1 1 1 1 -1 -1 1 1 -1 1 1 1 -1
+ 1 1 1 1 -1 -1 1 1 -1 1 1 1 1
+ 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 1 1 1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 1 1 1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 1 1 1 -1 -1 1 1
+ 1 1 1 1 -1 -1 1 1 1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 1 1 1 -1 1 -1 1
+ 1 1 1 1 -1 -1 1 1 1 -1 1 1 -1
+ 1 1 1 1 -1 -1 1 1 1 -1 1 1 1
+ 1 1 1 1 -1 -1 1 1 1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 1 1 1 1 -1 -1 1
+ 1 1 1 1 -1 -1 1 1 1 1 -1 1 -1
+ 1 1 1 1 -1 -1 1 1 1 1 -1 1 1
+ 1 1 1 1 -1 -1 1 1 1 1 1 -1 -1
+ 1 1 1 1 -1 -1 1 1 1 1 1 -1 1
+ 1 1 1 1 -1 -1 1 1 1 1 1 1 -1
+ 1 1 1 1 -1 -1 1 1 1 1 1 1 1
+ 1 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 1 1 -1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 1 1 -1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 1 1 -1 1 -1 -1 -1 -1 1 1 1
+ 1 1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 1 1 -1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 1 1 -1 1 -1 -1 -1 1 -1 1 1
+ 1 1 1 1 -1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 -1 1 1 -1 1
+ 1 1 1 1 -1 1 -1 -1 -1 1 1 1 -1
+ 1 1 1 1 -1 1 -1 -1 -1 1 1 1 1
+ 1 1 1 1 -1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 1 1 -1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 1 1 -1 1 -1 -1 1 -1 -1 1 1
+ 1 1 1 1 -1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 1 -1 1 -1 1
+ 1 1 1 1 -1 1 -1 -1 1 -1 1 1 -1
+ 1 1 1 1 -1 1 -1 -1 1 -1 1 1 1
+ 1 1 1 1 -1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 1 1 -1 -1 1
+ 1 1 1 1 -1 1 -1 -1 1 1 -1 1 -1
+ 1 1 1 1 -1 1 -1 -1 1 1 -1 1 1
+ 1 1 1 1 -1 1 -1 -1 1 1 1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 1 1 1 -1 1
+ 1 1 1 1 -1 1 -1 -1 1 1 1 1 -1
+ 1 1 1 1 -1 1 -1 -1 1 1 1 1 1
+ 1 1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 1 -1 1 -1 -1 -1 1 1
+ 1 1 1 1 -1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 1 -1 1 -1 -1 1 -1 1
+ 1 1 1 1 -1 1 -1 1 -1 -1 1 1 -1
+ 1 1 1 1 -1 1 -1 1 -1 -1 1 1 1
+ 1 1 1 1 -1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 1 -1 1 -1 -1 1
+ 1 1 1 1 -1 1 -1 1 -1 1 -1 1 -1
+ 1 1 1 1 -1 1 -1 1 -1 1 -1 1 1
+ 1 1 1 1 -1 1 -1 1 -1 1 1 -1 -1
+ 1 1 1 1 -1 1 -1 1 -1 1 1 -1 1
+ 1 1 1 1 -1 1 -1 1 -1 1 1 1 -1
+ 1 1 1 1 -1 1 -1 1 -1 1 1 1 1
+ 1 1 1 1 -1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 1 1 -1 -1 -1 1
+ 1 1 1 1 -1 1 -1 1 1 -1 -1 1 -1
+ 1 1 1 1 -1 1 -1 1 1 -1 -1 1 1
+ 1 1 1 1 -1 1 -1 1 1 -1 1 -1 -1
+ 1 1 1 1 -1 1 -1 1 1 -1 1 -1 1
+ 1 1 1 1 -1 1 -1 1 1 -1 1 1 -1
+ 1 1 1 1 -1 1 -1 1 1 -1 1 1 1
+ 1 1 1 1 -1 1 -1 1 1 1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 1 1 1 -1 -1 1
+ 1 1 1 1 -1 1 -1 1 1 1 -1 1 -1
+ 1 1 1 1 -1 1 -1 1 1 1 -1 1 1
+ 1 1 1 1 -1 1 -1 1 1 1 1 -1 -1
+ 1 1 1 1 -1 1 -1 1 1 1 1 -1 1
+ 1 1 1 1 -1 1 -1 1 1 1 1 1 -1
+ 1 1 1 1 -1 1 -1 1 1 1 1 1 1
+ 1 1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 1 1 -1 -1 -1 -1 1 1
+ 1 1 1 1 -1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 1 1 -1 -1 -1 1 -1 1
+ 1 1 1 1 -1 1 1 -1 -1 -1 1 1 -1
+ 1 1 1 1 -1 1 1 -1 -1 -1 1 1 1
+ 1 1 1 1 -1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 1 1 -1 -1 1 -1 -1 1
+ 1 1 1 1 -1 1 1 -1 -1 1 -1 1 -1
+ 1 1 1 1 -1 1 1 -1 -1 1 -1 1 1
+ 1 1 1 1 -1 1 1 -1 -1 1 1 -1 -1
+ 1 1 1 1 -1 1 1 -1 -1 1 1 -1 1
+ 1 1 1 1 -1 1 1 -1 -1 1 1 1 -1
+ 1 1 1 1 -1 1 1 -1 -1 1 1 1 1
+ 1 1 1 1 -1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 1 -1 1 1 -1 1 -1 -1 -1 1
+ 1 1 1 1 -1 1 1 -1 1 -1 -1 1 -1
+ 1 1 1 1 -1 1 1 -1 1 -1 -1 1 1
+ 1 1 1 1 -1 1 1 -1 1 -1 1 -1 -1
+ 1 1 1 1 -1 1 1 -1 1 -1 1 -1 1
+ 1 1 1 1 -1 1 1 -1 1 -1 1 1 -1
+ 1 1 1 1 -1 1 1 -1 1 -1 1 1 1
+ 1 1 1 1 -1 1 1 -1 1 1 -1 -1 -1
+ 1 1 1 1 -1 1 1 -1 1 1 -1 -1 1
+ 1 1 1 1 -1 1 1 -1 1 1 -1 1 -1
+ 1 1 1 1 -1 1 1 -1 1 1 -1 1 1
+ 1 1 1 1 -1 1 1 -1 1 1 1 -1 -1
+ 1 1 1 1 -1 1 1 -1 1 1 1 -1 1
+ 1 1 1 1 -1 1 1 -1 1 1 1 1 -1
+ 1 1 1 1 -1 1 1 -1 1 1 1 1 1
+ 1 1 1 1 -1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 1 1 1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 1 1 1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 1 1 1 -1 -1 -1 1 1
+ 1 1 1 1 -1 1 1 1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 1 1 1 -1 -1 1 -1 1
+ 1 1 1 1 -1 1 1 1 -1 -1 1 1 -1
+ 1 1 1 1 -1 1 1 1 -1 -1 1 1 1
+ 1 1 1 1 -1 1 1 1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 1 1 1 -1 1 -1 -1 1
+ 1 1 1 1 -1 1 1 1 -1 1 -1 1 -1
+ 1 1 1 1 -1 1 1 1 -1 1 -1 1 1
+ 1 1 1 1 -1 1 1 1 -1 1 1 -1 -1
+ 1 1 1 1 -1 1 1 1 -1 1 1 -1 1
+ 1 1 1 1 -1 1 1 1 -1 1 1 1 -1
+ 1 1 1 1 -1 1 1 1 -1 1 1 1 1
+ 1 1 1 1 -1 1 1 1 1 -1 -1 -1 -1
+ 1 1 1 1 -1 1 1 1 1 -1 -1 -1 1
+ 1 1 1 1 -1 1 1 1 1 -1 -1 1 -1
+ 1 1 1 1 -1 1 1 1 1 -1 -1 1 1
+ 1 1 1 1 -1 1 1 1 1 -1 1 -1 -1
+ 1 1 1 1 -1 1 1 1 1 -1 1 -1 1
+ 1 1 1 1 -1 1 1 1 1 -1 1 1 -1
+ 1 1 1 1 -1 1 1 1 1 -1 1 1 1
+ 1 1 1 1 -1 1 1 1 1 1 -1 -1 -1
+ 1 1 1 1 -1 1 1 1 1 1 -1 -1 1
+ 1 1 1 1 -1 1 1 1 1 1 -1 1 -1
+ 1 1 1 1 -1 1 1 1 1 1 -1 1 1
+ 1 1 1 1 -1 1 1 1 1 1 1 -1 -1
+ 1 1 1 1 -1 1 1 1 1 1 1 -1 1
+ 1 1 1 1 -1 1 1 1 1 1 1 1 -1
+ 1 1 1 1 -1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 1 1 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 1 1 1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 1 1 1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 1 1 1 1 -1 -1 -1 -1 1 1 1
+ 1 1 1 1 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 1 1 1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 1 1 1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 1 1 1 1 -1 -1 -1 1 -1 1 1
+ 1 1 1 1 1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 1 1 1 1 -1 -1 -1 1 1 -1 1
+ 1 1 1 1 1 1 -1 -1 -1 1 1 1 -1
+ 1 1 1 1 1 1 -1 -1 -1 1 1 1 1
+ 1 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 1 1 1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 1 1 1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 1 1 1 1 -1 -1 1 -1 -1 1 1
+ 1 1 1 1 1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 1 1 1 1 -1 -1 1 -1 1 -1 1
+ 1 1 1 1 1 1 -1 -1 1 -1 1 1 -1
+ 1 1 1 1 1 1 -1 -1 1 -1 1 1 1
+ 1 1 1 1 1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 1 1 1 1 -1 -1 1 1 -1 -1 1
+ 1 1 1 1 1 1 -1 -1 1 1 -1 1 -1
+ 1 1 1 1 1 1 -1 -1 1 1 -1 1 1
+ 1 1 1 1 1 1 -1 -1 1 1 1 -1 -1
+ 1 1 1 1 1 1 -1 -1 1 1 1 -1 1
+ 1 1 1 1 1 1 -1 -1 1 1 1 1 -1
+ 1 1 1 1 1 1 -1 -1 1 1 1 1 1
+ 1 1 1 1 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 1 1 1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 1 1 1 1 -1 1 -1 -1 -1 1 1
+ 1 1 1 1 1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 1 1 1 1 -1 1 -1 -1 1 -1 1
+ 1 1 1 1 1 1 -1 1 -1 -1 1 1 -1
+ 1 1 1 1 1 1 -1 1 -1 -1 1 1 1
+ 1 1 1 1 1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 1 1 1 1 -1 1 -1 1 -1 -1 1
+ 1 1 1 1 1 1 -1 1 -1 1 -1 1 -1
+ 1 1 1 1 1 1 -1 1 -1 1 -1 1 1
+ 1 1 1 1 1 1 -1 1 -1 1 1 -1 -1
+ 1 1 1 1 1 1 -1 1 -1 1 1 -1 1
+ 1 1 1 1 1 1 -1 1 -1 1 1 1 -1
+ 1 1 1 1 1 1 -1 1 -1 1 1 1 1
+ 1 1 1 1 1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 1 1 1 1 -1 1 1 -1 -1 -1 1
+ 1 1 1 1 1 1 -1 1 1 -1 -1 1 -1
+ 1 1 1 1 1 1 -1 1 1 -1 -1 1 1
+ 1 1 1 1 1 1 -1 1 1 -1 1 -1 -1
+ 1 1 1 1 1 1 -1 1 1 -1 1 -1 1
+ 1 1 1 1 1 1 -1 1 1 -1 1 1 -1
+ 1 1 1 1 1 1 -1 1 1 -1 1 1 1
+ 1 1 1 1 1 1 -1 1 1 1 -1 -1 -1
+ 1 1 1 1 1 1 -1 1 1 1 -1 -1 1
+ 1 1 1 1 1 1 -1 1 1 1 -1 1 -1
+ 1 1 1 1 1 1 -1 1 1 1 -1 1 1
+ 1 1 1 1 1 1 -1 1 1 1 1 -1 -1
+ 1 1 1 1 1 1 -1 1 1 1 1 -1 1
+ 1 1 1 1 1 1 -1 1 1 1 1 1 -1
+ 1 1 1 1 1 1 -1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 1 1 1 1 -1 -1 -1 -1 1
+ 1 1 1 1 1 1 1 1 -1 -1 -1 1 -1
+ 1 1 1 1 1 1 1 1 -1 -1 -1 1 1
+ 1 1 1 1 1 1 1 1 -1 -1 1 -1 -1
+ 1 1 1 1 1 1 1 1 -1 -1 1 -1 1
+ 1 1 1 1 1 1 1 1 -1 -1 1 1 -1
+ 1 1 1 1 1 1 1 1 -1 -1 1 1 1
+ 1 1 1 1 1 1 1 1 -1 1 -1 -1 -1
+ 1 1 1 1 1 1 1 1 -1 1 -1 -1 1
+ 1 1 1 1 1 1 1 1 -1 1 -1 1 -1
+ 1 1 1 1 1 1 1 1 -1 1 -1 1 1
+ 1 1 1 1 1 1 1 1 -1 1 1 -1 -1
+ 1 1 1 1 1 1 1 1 -1 1 1 -1 1
+ 1 1 1 1 1 1 1 1 -1 1 1 1 -1
+ 1 1 1 1 1 1 1 1 -1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 -1 -1 -1
+ 1 1 1 1 1 1 1 1 1 1 -1 -1 1
+ 1 1 1 1 1 1 1 1 1 1 -1 1 -1
+ 1 1 1 1 1 1 1 1 1 1 -1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 1 -1
+ 1 1 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1 -1 1
+ 1 1 1 1 1 1 1 1 1 1 1 -1 -1
+ 1 1 1 1 1 1 1 1 1 -1 1 1 1
+ 1 1 1 1 1 1 1 1 1 -1 1 1 -1
+ 1 1 1 1 1 1 1 1 1 -1 1 -1 1
+ 1 1 1 1 1 1 1 1 1 -1 1 -1 -1
+ 1 1 1 1 1 1 1 1 1 -1 -1 1 1
+ 1 1 1 1 1 1 1 1 1 -1 -1 1 -1
+ 1 1 1 1 1 1 1 1 1 -1 -1 -1 1
+ 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1
+ 1 1 1 1 1 1 1 -1 1 1 1 1 1
+ 1 1 1 1 1 1 1 -1 1 1 1 1 -1
+ 1 1 1 1 1 1 1 -1 1 1 1 -1 1
+ 1 1 1 1 1 1 1 -1 1 1 1 -1 -1
+ 1 1 1 1 1 1 1 -1 1 1 -1 1 1
+ 1 1 1 1 1 1 1 -1 1 1 -1 1 -1
+ 1 1 1 1 1 1 1 -1 1 1 -1 -1 1
+ 1 1 1 1 1 1 1 -1 1 1 -1 -1 -1
+ 1 1 1 1 1 1 1 -1 1 -1 1 1 1
+ 1 1 1 1 1 1 1 -1 1 -1 1 1 -1
+ 1 1 1 1 1 1 1 -1 1 -1 1 -1 1
+ 1 1 1 1 1 1 1 -1 1 -1 1 -1 -1
+ 1 1 1 1 1 1 1 -1 1 -1 -1 1 1
+ 1 1 1 1 1 1 1 -1 1 -1 -1 1 -1
+ 1 1 1 1 1 1 1 -1 1 -1 -1 -1 1
+ 1 1 1 1 1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 1 1 1 1 -1 -1 1 1 1 1
+ 1 1 1 1 1 1 1 -1 -1 1 1 1 -1
+ 1 1 1 1 1 1 1 -1 -1 1 1 -1 1
+ 1 1 1 1 1 1 1 -1 -1 1 1 -1 -1
+ 1 1 1 1 1 1 1 -1 -1 1 -1 1 1
+ 1 1 1 1 1 1 1 -1 -1 1 -1 1 -1
+ 1 1 1 1 1 1 1 -1 -1 1 -1 -1 1
+ 1 1 1 1 1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 1 1 1 1 -1 -1 -1 1 1 1
+ 1 1 1 1 1 1 1 -1 -1 -1 1 1 -1
+ 1 1 1 1 1 1 1 -1 -1 -1 1 -1 1
+ 1 1 1 1 1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 1 1 1 1 -1 -1 -1 -1 1 1
+ 1 1 1 1 1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 1 1 1 1 -1 1 1 1 1 1 1 1
+ 1 1 1 1 1 -1 1 1 1 1 1 1 -1
+ 1 1 1 1 1 -1 1 1 1 1 1 -1 1
+ 1 1 1 1 1 -1 1 1 1 1 1 -1 -1
+ 1 1 1 1 1 -1 1 1 1 1 -1 1 1
+ 1 1 1 1 1 -1 1 1 1 1 -1 1 -1
+ 1 1 1 1 1 -1 1 1 1 1 -1 -1 1
+ 1 1 1 1 1 -1 1 1 1 1 -1 -1 -1
+ 1 1 1 1 1 -1 1 1 1 -1 1 1 1
+ 1 1 1 1 1 -1 1 1 1 -1 1 1 -1
+ 1 1 1 1 1 -1 1 1 1 -1 1 -1 1
+ 1 1 1 1 1 -1 1 1 1 -1 1 -1 -1
+ 1 1 1 1 1 -1 1 1 1 -1 -1 1 1
+ 1 1 1 1 1 -1 1 1 1 -1 -1 1 -1
+ 1 1 1 1 1 -1 1 1 1 -1 -1 -1 1
+ 1 1 1 1 1 -1 1 1 1 -1 -1 -1 -1
+ 1 1 1 1 1 -1 1 1 -1 1 1 1 1
+ 1 1 1 1 1 -1 1 1 -1 1 1 1 -1
+ 1 1 1 1 1 -1 1 1 -1 1 1 -1 1
+ 1 1 1 1 1 -1 1 1 -1 1 1 -1 -1
+ 1 1 1 1 1 -1 1 1 -1 1 -1 1 1
+ 1 1 1 1 1 -1 1 1 -1 1 -1 1 -1
+ 1 1 1 1 1 -1 1 1 -1 1 -1 -1 1
+ 1 1 1 1 1 -1 1 1 -1 1 -1 -1 -1
+ 1 1 1 1 1 -1 1 1 -1 -1 1 1 1
+ 1 1 1 1 1 -1 1 1 -1 -1 1 1 -1
+ 1 1 1 1 1 -1 1 1 -1 -1 1 -1 1
+ 1 1 1 1 1 -1 1 1 -1 -1 1 -1 -1
+ 1 1 1 1 1 -1 1 1 -1 -1 -1 1 1
+ 1 1 1 1 1 -1 1 1 -1 -1 -1 1 -1
+ 1 1 1 1 1 -1 1 1 -1 -1 -1 -1 1
+ 1 1 1 1 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 1 -1 1 -1 1 1 1 1 1
+ 1 1 1 1 1 -1 1 -1 1 1 1 1 -1
+ 1 1 1 1 1 -1 1 -1 1 1 1 -1 1
+ 1 1 1 1 1 -1 1 -1 1 1 1 -1 -1
+ 1 1 1 1 1 -1 1 -1 1 1 -1 1 1
+ 1 1 1 1 1 -1 1 -1 1 1 -1 1 -1
+ 1 1 1 1 1 -1 1 -1 1 1 -1 -1 1
+ 1 1 1 1 1 -1 1 -1 1 1 -1 -1 -1
+ 1 1 1 1 1 -1 1 -1 1 -1 1 1 1
+ 1 1 1 1 1 -1 1 -1 1 -1 1 1 -1
+ 1 1 1 1 1 -1 1 -1 1 -1 1 -1 1
+ 1 1 1 1 1 -1 1 -1 1 -1 1 -1 -1
+ 1 1 1 1 1 -1 1 -1 1 -1 -1 1 1
+ 1 1 1 1 1 -1 1 -1 1 -1 -1 1 -1
+ 1 1 1 1 1 -1 1 -1 1 -1 -1 -1 1
+ 1 1 1 1 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 1 1 -1 1 -1 -1 1 1 1 1
+ 1 1 1 1 1 -1 1 -1 -1 1 1 1 -1
+ 1 1 1 1 1 -1 1 -1 -1 1 1 -1 1
+ 1 1 1 1 1 -1 1 -1 -1 1 1 -1 -1
+ 1 1 1 1 1 -1 1 -1 -1 1 -1 1 1
+ 1 1 1 1 1 -1 1 -1 -1 1 -1 1 -1
+ 1 1 1 1 1 -1 1 -1 -1 1 -1 -1 1
+ 1 1 1 1 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 1 1 -1 1 -1 -1 -1 1 1 1
+ 1 1 1 1 1 -1 1 -1 -1 -1 1 1 -1
+ 1 1 1 1 1 -1 1 -1 -1 -1 1 -1 1
+ 1 1 1 1 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 1 1 -1 1 -1 -1 -1 -1 1 1
+ 1 1 1 1 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 1 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 1 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 1 1 1 1 -1 -1 1 1 1 1 1 1
+ 1 1 1 1 1 -1 -1 1 1 1 1 1 -1
+ 1 1 1 1 1 -1 -1 1 1 1 1 -1 1
+ 1 1 1 1 1 -1 -1 1 1 1 1 -1 -1
+ 1 1 1 1 1 -1 -1 1 1 1 -1 1 1
+ 1 1 1 1 1 -1 -1 1 1 1 -1 1 -1
+ 1 1 1 1 1 -1 -1 1 1 1 -1 -1 1
+ 1 1 1 1 1 -1 -1 1 1 1 -1 -1 -1
+ 1 1 1 1 1 -1 -1 1 1 -1 1 1 1
+ 1 1 1 1 1 -1 -1 1 1 -1 1 1 -1
+ 1 1 1 1 1 -1 -1 1 1 -1 1 -1 1
+ 1 1 1 1 1 -1 -1 1 1 -1 1 -1 -1
+ 1 1 1 1 1 -1 -1 1 1 -1 -1 1 1
+ 1 1 1 1 1 -1 -1 1 1 -1 -1 1 -1
+ 1 1 1 1 1 -1 -1 1 1 -1 -1 -1 1
+ 1 1 1 1 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 1 1 1 1 -1 -1 1 -1 1 1 1 1
+ 1 1 1 1 1 -1 -1 1 -1 1 1 1 -1
+ 1 1 1 1 1 -1 -1 1 -1 1 1 -1 1
+ 1 1 1 1 1 -1 -1 1 -1 1 1 -1 -1
+ 1 1 1 1 1 -1 -1 1 -1 1 -1 1 1
+ 1 1 1 1 1 -1 -1 1 -1 1 -1 1 -1
+ 1 1 1 1 1 -1 -1 1 -1 1 -1 -1 1
+ 1 1 1 1 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 1 1 1 1 -1 -1 1 -1 -1 1 1 1
+ 1 1 1 1 1 -1 -1 1 -1 -1 1 1 -1
+ 1 1 1 1 1 -1 -1 1 -1 -1 1 -1 1
+ 1 1 1 1 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 1 1 1 1 -1 -1 1 -1 -1 -1 1 1
+ 1 1 1 1 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 1 -1 -1 -1 1 1 1 1 1
+ 1 1 1 1 1 -1 -1 -1 1 1 1 1 -1
+ 1 1 1 1 1 -1 -1 -1 1 1 1 -1 1
+ 1 1 1 1 1 -1 -1 -1 1 1 1 -1 -1
+ 1 1 1 1 1 -1 -1 -1 1 1 -1 1 1
+ 1 1 1 1 1 -1 -1 -1 1 1 -1 1 -1
+ 1 1 1 1 1 -1 -1 -1 1 1 -1 -1 1
+ 1 1 1 1 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 1 1 1 1 -1 -1 -1 1 -1 1 1 1
+ 1 1 1 1 1 -1 -1 -1 1 -1 1 1 -1
+ 1 1 1 1 1 -1 -1 -1 1 -1 1 -1 1
+ 1 1 1 1 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 1 1 1 1 -1 -1 -1 1 -1 -1 1 1
+ 1 1 1 1 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 1 1 1 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 1 1 1 1 -1 -1 -1 -1 1 1 1 1
+ 1 1 1 1 1 -1 -1 -1 -1 1 1 1 -1
+ 1 1 1 1 1 -1 -1 -1 -1 1 1 -1 1
+ 1 1 1 1 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 1 1 1 1 -1 -1 -1 -1 1 -1 1 1
+ 1 1 1 1 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 1 1 1 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 1
+ 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 1 1 1 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 1 1 1 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 1 1 1 1 1 1 1
+ 1 1 1 -1 1 1 1 1 1 1 1 1 -1
+ 1 1 1 -1 1 1 1 1 1 1 1 -1 1
+ 1 1 1 -1 1 1 1 1 1 1 1 -1 -1
+ 1 1 1 -1 1 1 1 1 1 1 -1 1 1
+ 1 1 1 -1 1 1 1 1 1 1 -1 1 -1
+ 1 1 1 -1 1 1 1 1 1 1 -1 -1 1
+ 1 1 1 -1 1 1 1 1 1 1 -1 -1 -1
+ 1 1 1 -1 1 1 1 1 1 -1 1 1 1
+ 1 1 1 -1 1 1 1 1 1 -1 1 1 -1
+ 1 1 1 -1 1 1 1 1 1 -1 1 -1 1
+ 1 1 1 -1 1 1 1 1 1 -1 1 -1 -1
+ 1 1 1 -1 1 1 1 1 1 -1 -1 1 1
+ 1 1 1 -1 1 1 1 1 1 -1 -1 1 -1
+ 1 1 1 -1 1 1 1 1 1 -1 -1 -1 1
+ 1 1 1 -1 1 1 1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 1 1 -1 1 1 1 1
+ 1 1 1 -1 1 1 1 1 -1 1 1 1 -1
+ 1 1 1 -1 1 1 1 1 -1 1 1 -1 1
+ 1 1 1 -1 1 1 1 1 -1 1 1 -1 -1
+ 1 1 1 -1 1 1 1 1 -1 1 -1 1 1
+ 1 1 1 -1 1 1 1 1 -1 1 -1 1 -1
+ 1 1 1 -1 1 1 1 1 -1 1 -1 -1 1
+ 1 1 1 -1 1 1 1 1 -1 1 -1 -1 -1
+ 1 1 1 -1 1 1 1 1 -1 -1 1 1 1
+ 1 1 1 -1 1 1 1 1 -1 -1 1 1 -1
+ 1 1 1 -1 1 1 1 1 -1 -1 1 -1 1
+ 1 1 1 -1 1 1 1 1 -1 -1 1 -1 -1
+ 1 1 1 -1 1 1 1 1 -1 -1 -1 1 1
+ 1 1 1 -1 1 1 1 1 -1 -1 -1 1 -1
+ 1 1 1 -1 1 1 1 1 -1 -1 -1 -1 1
+ 1 1 1 -1 1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 1 -1 1 1 1 1 1
+ 1 1 1 -1 1 1 1 -1 1 1 1 1 -1
+ 1 1 1 -1 1 1 1 -1 1 1 1 -1 1
+ 1 1 1 -1 1 1 1 -1 1 1 1 -1 -1
+ 1 1 1 -1 1 1 1 -1 1 1 -1 1 1
+ 1 1 1 -1 1 1 1 -1 1 1 -1 1 -1
+ 1 1 1 -1 1 1 1 -1 1 1 -1 -1 1
+ 1 1 1 -1 1 1 1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 1 1 1 -1 1 -1 1 1 1
+ 1 1 1 -1 1 1 1 -1 1 -1 1 1 -1
+ 1 1 1 -1 1 1 1 -1 1 -1 1 -1 1
+ 1 1 1 -1 1 1 1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 1 1 1 -1 1 -1 -1 1 1
+ 1 1 1 -1 1 1 1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 1 1 1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 1 -1 -1 1 1 1 1
+ 1 1 1 -1 1 1 1 -1 -1 1 1 1 -1
+ 1 1 1 -1 1 1 1 -1 -1 1 1 -1 1
+ 1 1 1 -1 1 1 1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 1 1 1 -1 -1 1 -1 1 1
+ 1 1 1 -1 1 1 1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 1 1 1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 1 1 1 -1 -1 -1 1 1 1
+ 1 1 1 -1 1 1 1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 1 1 1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 -1 1 1 1 1 1 1
+ 1 1 1 -1 1 1 -1 1 1 1 1 1 -1
+ 1 1 1 -1 1 1 -1 1 1 1 1 -1 1
+ 1 1 1 -1 1 1 -1 1 1 1 1 -1 -1
+ 1 1 1 -1 1 1 -1 1 1 1 -1 1 1
+ 1 1 1 -1 1 1 -1 1 1 1 -1 1 -1
+ 1 1 1 -1 1 1 -1 1 1 1 -1 -1 1
+ 1 1 1 -1 1 1 -1 1 1 1 -1 -1 -1
+ 1 1 1 -1 1 1 -1 1 1 -1 1 1 1
+ 1 1 1 -1 1 1 -1 1 1 -1 1 1 -1
+ 1 1 1 -1 1 1 -1 1 1 -1 1 -1 1
+ 1 1 1 -1 1 1 -1 1 1 -1 1 -1 -1
+ 1 1 1 -1 1 1 -1 1 1 -1 -1 1 1
+ 1 1 1 -1 1 1 -1 1 1 -1 -1 1 -1
+ 1 1 1 -1 1 1 -1 1 1 -1 -1 -1 1
+ 1 1 1 -1 1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 -1 1 -1 1 1 1 1
+ 1 1 1 -1 1 1 -1 1 -1 1 1 1 -1
+ 1 1 1 -1 1 1 -1 1 -1 1 1 -1 1
+ 1 1 1 -1 1 1 -1 1 -1 1 1 -1 -1
+ 1 1 1 -1 1 1 -1 1 -1 1 -1 1 1
+ 1 1 1 -1 1 1 -1 1 -1 1 -1 1 -1
+ 1 1 1 -1 1 1 -1 1 -1 1 -1 -1 1
+ 1 1 1 -1 1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 1 -1 1 1 -1 1 -1 -1 1 1 1
+ 1 1 1 -1 1 1 -1 1 -1 -1 1 1 -1
+ 1 1 1 -1 1 1 -1 1 -1 -1 1 -1 1
+ 1 1 1 -1 1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 1 -1 1 1 -1 1 -1 -1 -1 1 1
+ 1 1 1 -1 1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 1 -1 1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 1 -1 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 -1 -1 1 1 1 1 1
+ 1 1 1 -1 1 1 -1 -1 1 1 1 1 -1
+ 1 1 1 -1 1 1 -1 -1 1 1 1 -1 1
+ 1 1 1 -1 1 1 -1 -1 1 1 1 -1 -1
+ 1 1 1 -1 1 1 -1 -1 1 1 -1 1 1
+ 1 1 1 -1 1 1 -1 -1 1 1 -1 1 -1
+ 1 1 1 -1 1 1 -1 -1 1 1 -1 -1 1
+ 1 1 1 -1 1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 1 1 -1 -1 1 -1 1 1 1
+ 1 1 1 -1 1 1 -1 -1 1 -1 1 1 -1
+ 1 1 1 -1 1 1 -1 -1 1 -1 1 -1 1
+ 1 1 1 -1 1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 1 1 -1 -1 1 -1 -1 1 1
+ 1 1 1 -1 1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 -1 -1 -1 1 1 1 1
+ 1 1 1 -1 1 1 -1 -1 -1 1 1 1 -1
+ 1 1 1 -1 1 1 -1 -1 -1 1 1 -1 1
+ 1 1 1 -1 1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 1 1 -1 -1 -1 1 -1 1 1
+ 1 1 1 -1 1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 1 1 -1 -1 -1 -1 1 1 1
+ 1 1 1 -1 1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 1 1 1 1 1 1
+ 1 1 1 -1 1 -1 1 1 1 1 1 1 -1
+ 1 1 1 -1 1 -1 1 1 1 1 1 -1 1
+ 1 1 1 -1 1 -1 1 1 1 1 1 -1 -1
+ 1 1 1 -1 1 -1 1 1 1 1 -1 1 1
+ 1 1 1 -1 1 -1 1 1 1 1 -1 1 -1
+ 1 1 1 -1 1 -1 1 1 1 1 -1 -1 1
+ 1 1 1 -1 1 -1 1 1 1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 1 1 -1 1 1 1
+ 1 1 1 -1 1 -1 1 1 1 -1 1 1 -1
+ 1 1 1 -1 1 -1 1 1 1 -1 1 -1 1
+ 1 1 1 -1 1 -1 1 1 1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 1 1 1 -1 -1 1 1
+ 1 1 1 -1 1 -1 1 1 1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 1 1 1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 1 -1 1 1 1 1
+ 1 1 1 -1 1 -1 1 1 -1 1 1 1 -1
+ 1 1 1 -1 1 -1 1 1 -1 1 1 -1 1
+ 1 1 1 -1 1 -1 1 1 -1 1 1 -1 -1
+ 1 1 1 -1 1 -1 1 1 -1 1 -1 1 1
+ 1 1 1 -1 1 -1 1 1 -1 1 -1 1 -1
+ 1 1 1 -1 1 -1 1 1 -1 1 -1 -1 1
+ 1 1 1 -1 1 -1 1 1 -1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 1 -1 -1 1 1 1
+ 1 1 1 -1 1 -1 1 1 -1 -1 1 1 -1
+ 1 1 1 -1 1 -1 1 1 -1 -1 1 -1 1
+ 1 1 1 -1 1 -1 1 1 -1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 1 1 -1 -1 -1 1 1
+ 1 1 1 -1 1 -1 1 1 -1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 1 1 -1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 -1 1 1 1 1 1
+ 1 1 1 -1 1 -1 1 -1 1 1 1 1 -1
+ 1 1 1 -1 1 -1 1 -1 1 1 1 -1 1
+ 1 1 1 -1 1 -1 1 -1 1 1 1 -1 -1
+ 1 1 1 -1 1 -1 1 -1 1 1 -1 1 1
+ 1 1 1 -1 1 -1 1 -1 1 1 -1 1 -1
+ 1 1 1 -1 1 -1 1 -1 1 1 -1 -1 1
+ 1 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 -1 1 -1 1 1 1
+ 1 1 1 -1 1 -1 1 -1 1 -1 1 1 -1
+ 1 1 1 -1 1 -1 1 -1 1 -1 1 -1 1
+ 1 1 1 -1 1 -1 1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1
+ 1 1 1 -1 1 -1 1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 -1 -1 1 1 1 1
+ 1 1 1 -1 1 -1 1 -1 -1 1 1 1 -1
+ 1 1 1 -1 1 -1 1 -1 -1 1 1 -1 1
+ 1 1 1 -1 1 -1 1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 1 -1 1 -1 -1 1 -1 1 1
+ 1 1 1 -1 1 -1 1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 1 -1 1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 -1 -1 -1 1 1 1
+ 1 1 1 -1 1 -1 1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 1 -1 1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 1 1 1 1 1
+ 1 1 1 -1 1 -1 -1 1 1 1 1 1 -1
+ 1 1 1 -1 1 -1 -1 1 1 1 1 -1 1
+ 1 1 1 -1 1 -1 -1 1 1 1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 1 1 -1 1 1
+ 1 1 1 -1 1 -1 -1 1 1 1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 1 1 1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 1 1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 1 -1 1 1 1
+ 1 1 1 -1 1 -1 -1 1 1 -1 1 1 -1
+ 1 1 1 -1 1 -1 -1 1 1 -1 1 -1 1
+ 1 1 1 -1 1 -1 -1 1 1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 1 -1 -1 1 1
+ 1 1 1 -1 1 -1 -1 1 1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 -1 1 1 1 1
+ 1 1 1 -1 1 -1 -1 1 -1 1 1 1 -1
+ 1 1 1 -1 1 -1 -1 1 -1 1 1 -1 1
+ 1 1 1 -1 1 -1 -1 1 -1 1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 -1 1 -1 1 1
+ 1 1 1 -1 1 -1 -1 1 -1 1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 1 -1 1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 -1 -1 1 1 1
+ 1 1 1 -1 1 -1 -1 1 -1 -1 1 1 -1
+ 1 1 1 -1 1 -1 -1 1 -1 -1 1 -1 1
+ 1 1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 -1 -1 -1 1 1
+ 1 1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 1 1 -1 1 -1 -1 -1 1 1 1 1 1
+ 1 1 1 -1 1 -1 -1 -1 1 1 1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 1 1 1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 1 1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 -1 1 1 -1 1 1
+ 1 1 1 -1 1 -1 -1 -1 1 1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 1 1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 -1 -1 1 -1 1 1 1
+ 1 1 1 -1 1 -1 -1 -1 1 -1 1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 1 -1 1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 -1 1 -1 -1 1 1
+ 1 1 1 -1 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 -1 -1 -1 -1 1 1 1 1
+ 1 1 1 -1 1 -1 -1 -1 -1 1 1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 -1 1 1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 -1 -1 1 -1 1 1
+ 1 1 1 -1 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 -1 -1 -1 -1 1 1 1
+ 1 1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 1 1 1 1 1 1
+ 1 1 1 -1 -1 1 1 1 1 1 1 1 -1
+ 1 1 1 -1 -1 1 1 1 1 1 1 -1 1
+ 1 1 1 -1 -1 1 1 1 1 1 1 -1 -1
+ 1 1 1 -1 -1 1 1 1 1 1 -1 1 1
+ 1 1 1 -1 -1 1 1 1 1 1 -1 1 -1
+ 1 1 1 -1 -1 1 1 1 1 1 -1 -1 1
+ 1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 1 1 -1 1 1 1
+ 1 1 1 -1 -1 1 1 1 1 -1 1 1 -1
+ 1 1 1 -1 -1 1 1 1 1 -1 1 -1 1
+ 1 1 1 -1 -1 1 1 1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 1 1 1 -1 -1 1 1
+ 1 1 1 -1 -1 1 1 1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 1 1 1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 1 1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 1 -1 1 1 1 1
+ 1 1 1 -1 -1 1 1 1 -1 1 1 1 -1
+ 1 1 1 -1 -1 1 1 1 -1 1 1 -1 1
+ 1 1 1 -1 -1 1 1 1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 1 1 1 -1 1 -1 1 1
+ 1 1 1 -1 -1 1 1 1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 1 1 1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 1 1 1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 1 -1 -1 1 1 1
+ 1 1 1 -1 -1 1 1 1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 1 1 1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 1 1 1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 1 1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 1 1 1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 -1 1 1 1 1 1
+ 1 1 1 -1 -1 1 1 -1 1 1 1 1 -1
+ 1 1 1 -1 -1 1 1 -1 1 1 1 -1 1
+ 1 1 1 -1 -1 1 1 -1 1 1 1 -1 -1
+ 1 1 1 -1 -1 1 1 -1 1 1 -1 1 1
+ 1 1 1 -1 -1 1 1 -1 1 1 -1 1 -1
+ 1 1 1 -1 -1 1 1 -1 1 1 -1 -1 1
+ 1 1 1 -1 -1 1 1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 -1 1 -1 1 1 1
+ 1 1 1 -1 -1 1 1 -1 1 -1 1 1 -1
+ 1 1 1 -1 -1 1 1 -1 1 -1 1 -1 1
+ 1 1 1 -1 -1 1 1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 1 -1 1 -1 -1 1 1
+ 1 1 1 -1 -1 1 1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 1 1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 -1 -1 1 1 1 1
+ 1 1 1 -1 -1 1 1 -1 -1 1 1 1 -1
+ 1 1 1 -1 -1 1 1 -1 -1 1 1 -1 1
+ 1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 1 1 -1 -1 1 -1 1 1
+ 1 1 1 -1 -1 1 1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 1 1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 -1 -1 -1 1 1 1
+ 1 1 1 -1 -1 1 1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 1 1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 1 1 1 1 1
+ 1 1 1 -1 -1 1 -1 1 1 1 1 1 -1
+ 1 1 1 -1 -1 1 -1 1 1 1 1 -1 1
+ 1 1 1 -1 -1 1 -1 1 1 1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 1 1 -1 1 1
+ 1 1 1 -1 -1 1 -1 1 1 1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 1 1 1 -1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 1 -1 1 1 1
+ 1 1 1 -1 -1 1 -1 1 1 -1 1 1 -1
+ 1 1 1 -1 -1 1 -1 1 1 -1 1 -1 1
+ 1 1 1 -1 -1 1 -1 1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 1 -1 -1 1 1
+ 1 1 1 -1 -1 1 -1 1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 -1 1 1 1 1
+ 1 1 1 -1 -1 1 -1 1 -1 1 1 1 -1
+ 1 1 1 -1 -1 1 -1 1 -1 1 1 -1 1
+ 1 1 1 -1 -1 1 -1 1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 -1 1 -1 1 1
+ 1 1 1 -1 -1 1 -1 1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 -1 -1 1 1 1
+ 1 1 1 -1 -1 1 -1 1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 1 -1 1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 -1 -1 1 1 1 1 1
+ 1 1 1 -1 -1 1 -1 -1 1 1 1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 1 1 1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 1 1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 -1 1 1 -1 1 1
+ 1 1 1 -1 -1 1 -1 -1 1 1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 1 1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 -1 1 -1 -1 1 -1 1 1 1
+ 1 1 1 -1 -1 1 -1 -1 1 -1 1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 1 -1 1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 -1 1 -1 -1 1 1
+ 1 1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 -1 -1 -1 1 1 1 1
+ 1 1 1 -1 -1 1 -1 -1 -1 1 1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 -1 1 1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 -1 -1 1 -1 1 1
+ 1 1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 1 -1 -1 -1 -1 1 1 1
+ 1 1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 1 1 1 1 1
+ 1 1 1 -1 -1 -1 1 1 1 1 1 1 -1
+ 1 1 1 -1 -1 -1 1 1 1 1 1 -1 1
+ 1 1 1 -1 -1 -1 1 1 1 1 1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 1 1 -1 1 1
+ 1 1 1 -1 -1 -1 1 1 1 1 -1 1 -1
+ 1 1 1 -1 -1 -1 1 1 1 1 -1 -1 1
+ 1 1 1 -1 -1 -1 1 1 1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 1 -1 1 1 1
+ 1 1 1 -1 -1 -1 1 1 1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 1 1 1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 1 1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 1 1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 -1 1 1 1 1
+ 1 1 1 -1 -1 -1 1 1 -1 1 1 1 -1
+ 1 1 1 -1 -1 -1 1 1 -1 1 1 -1 1
+ 1 1 1 -1 -1 -1 1 1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 -1 1 -1 1 1
+ 1 1 1 -1 -1 -1 1 1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 -1 1 1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 -1 -1 1 1 1
+ 1 1 1 -1 -1 -1 1 1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 1 1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 1 1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 1 1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 -1 1 1 1 1 1
+ 1 1 1 -1 -1 -1 1 -1 1 1 1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 1 1 1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 1 1 1 -1 -1
+ 1 1 1 -1 -1 -1 1 -1 1 1 -1 1 1
+ 1 1 1 -1 -1 -1 1 -1 1 1 -1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 1 1 -1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 -1 1 -1 1 1 1
+ 1 1 1 -1 -1 -1 1 -1 1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 1 -1 1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 -1 -1 1 1 1 1
+ 1 1 1 -1 -1 -1 1 -1 -1 1 1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 -1 1 1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 -1 1 -1 -1 1 -1 1 1
+ 1 1 1 -1 -1 -1 1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 -1 -1 -1 1 1 1
+ 1 1 1 -1 -1 -1 1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 1 1 1 1 1
+ 1 1 1 -1 -1 -1 -1 1 1 1 1 1 -1
+ 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 1
+ 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 1 1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 1 1 1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 1 -1 1 1 1
+ 1 1 1 -1 -1 -1 -1 1 1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 -1 1 1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 -1 1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 -1 1 1 1 1
+ 1 1 1 -1 -1 -1 -1 1 -1 1 1 1 -1
+ 1 1 1 -1 -1 -1 -1 1 -1 1 1 -1 1
+ 1 1 1 -1 -1 -1 -1 1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 -1 1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 -1 -1 1 1 1
+ 1 1 1 -1 -1 -1 -1 1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1
+ 1 1 1 -1 -1 -1 -1 -1 1 1 1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1 1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1 -1 1 1 1
+ 1 1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 -1 1 1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 -1 -1 1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 1 1 1 1 1 1 1
+ 1 -1 1 1 1 1 1 1 1 1 1 1 -1
+ 1 -1 1 1 1 1 1 1 1 1 1 -1 1
+ 1 -1 1 1 1 1 1 1 1 1 1 -1 -1
+ 1 -1 1 1 1 1 1 1 1 1 -1 1 1
+ 1 -1 1 1 1 1 1 1 1 1 -1 1 -1
+ 1 -1 1 1 1 1 1 1 1 1 -1 -1 1
+ 1 -1 1 1 1 1 1 1 1 1 -1 -1 -1
+ 1 -1 1 1 1 1 1 1 1 -1 1 1 1
+ 1 -1 1 1 1 1 1 1 1 -1 1 1 -1
+ 1 -1 1 1 1 1 1 1 1 -1 1 -1 1
+ 1 -1 1 1 1 1 1 1 1 -1 1 -1 -1
+ 1 -1 1 1 1 1 1 1 1 -1 -1 1 1
+ 1 -1 1 1 1 1 1 1 1 -1 -1 1 -1
+ 1 -1 1 1 1 1 1 1 1 -1 -1 -1 1
+ 1 -1 1 1 1 1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 1 1 -1 1 1 1 1
+ 1 -1 1 1 1 1 1 1 -1 1 1 1 -1
+ 1 -1 1 1 1 1 1 1 -1 1 1 -1 1
+ 1 -1 1 1 1 1 1 1 -1 1 1 -1 -1
+ 1 -1 1 1 1 1 1 1 -1 1 -1 1 1
+ 1 -1 1 1 1 1 1 1 -1 1 -1 1 -1
+ 1 -1 1 1 1 1 1 1 -1 1 -1 -1 1
+ 1 -1 1 1 1 1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 1 1 1 1 -1 -1 1 1 1
+ 1 -1 1 1 1 1 1 1 -1 -1 1 1 -1
+ 1 -1 1 1 1 1 1 1 -1 -1 1 -1 1
+ 1 -1 1 1 1 1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 1 1 1 1 -1 -1 -1 1 1
+ 1 -1 1 1 1 1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 1 1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 1 1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 1 -1 1 1 1 1 1
+ 1 -1 1 1 1 1 1 -1 1 1 1 1 -1
+ 1 -1 1 1 1 1 1 -1 1 1 1 -1 1
+ 1 -1 1 1 1 1 1 -1 1 1 1 -1 -1
+ 1 -1 1 1 1 1 1 -1 1 1 -1 1 1
+ 1 -1 1 1 1 1 1 -1 1 1 -1 1 -1
+ 1 -1 1 1 1 1 1 -1 1 1 -1 -1 1
+ 1 -1 1 1 1 1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 1 1 1 1 -1 1 -1 1 1 1
+ 1 -1 1 1 1 1 1 -1 1 -1 1 1 -1
+ 1 -1 1 1 1 1 1 -1 1 -1 1 -1 1
+ 1 -1 1 1 1 1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 1 1 1 1 -1 1 -1 -1 1 1
+ 1 -1 1 1 1 1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 1 1 1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 1 1 1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 1 -1 -1 1 1 1 1
+ 1 -1 1 1 1 1 1 -1 -1 1 1 1 -1
+ 1 -1 1 1 1 1 1 -1 -1 1 1 -1 1
+ 1 -1 1 1 1 1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 1 1 1 1 -1 -1 1 -1 1 1
+ 1 -1 1 1 1 1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 1 1 1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 1 1 1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 1 1 1 1 -1 -1 -1 1 1 1
+ 1 -1 1 1 1 1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 1 1 1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 1 1 1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 1 1 1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 1 1 1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 -1 1 1 1 1 1 1
+ 1 -1 1 1 1 1 -1 1 1 1 1 1 -1
+ 1 -1 1 1 1 1 -1 1 1 1 1 -1 1
+ 1 -1 1 1 1 1 -1 1 1 1 1 -1 -1
+ 1 -1 1 1 1 1 -1 1 1 1 -1 1 1
+ 1 -1 1 1 1 1 -1 1 1 1 -1 1 -1
+ 1 -1 1 1 1 1 -1 1 1 1 -1 -1 1
+ 1 -1 1 1 1 1 -1 1 1 1 -1 -1 -1
+ 1 -1 1 1 1 1 -1 1 1 -1 1 1 1
+ 1 -1 1 1 1 1 -1 1 1 -1 1 1 -1
+ 1 -1 1 1 1 1 -1 1 1 -1 1 -1 1
+ 1 -1 1 1 1 1 -1 1 1 -1 1 -1 -1
+ 1 -1 1 1 1 1 -1 1 1 -1 -1 1 1
+ 1 -1 1 1 1 1 -1 1 1 -1 -1 1 -1
+ 1 -1 1 1 1 1 -1 1 1 -1 -1 -1 1
+ 1 -1 1 1 1 1 -1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 -1 1 -1 1 1 1 1
+ 1 -1 1 1 1 1 -1 1 -1 1 1 1 -1
+ 1 -1 1 1 1 1 -1 1 -1 1 1 -1 1
+ 1 -1 1 1 1 1 -1 1 -1 1 1 -1 -1
+ 1 -1 1 1 1 1 -1 1 -1 1 -1 1 1
+ 1 -1 1 1 1 1 -1 1 -1 1 -1 1 -1
+ 1 -1 1 1 1 1 -1 1 -1 1 -1 -1 1
+ 1 -1 1 1 1 1 -1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 1 1 -1 1 -1 -1 1 1 1
+ 1 -1 1 1 1 1 -1 1 -1 -1 1 1 -1
+ 1 -1 1 1 1 1 -1 1 -1 -1 1 -1 1
+ 1 -1 1 1 1 1 -1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 1 1 -1 1 -1 -1 -1 1 1
+ 1 -1 1 1 1 1 -1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 1 1 -1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 -1 -1 1 1 1 1 1
+ 1 -1 1 1 1 1 -1 -1 1 1 1 1 -1
+ 1 -1 1 1 1 1 -1 -1 1 1 1 -1 1
+ 1 -1 1 1 1 1 -1 -1 1 1 1 -1 -1
+ 1 -1 1 1 1 1 -1 -1 1 1 -1 1 1
+ 1 -1 1 1 1 1 -1 -1 1 1 -1 1 -1
+ 1 -1 1 1 1 1 -1 -1 1 1 -1 -1 1
+ 1 -1 1 1 1 1 -1 -1 1 1 -1 -1 -1
+ 1 -1 1 1 1 1 -1 -1 1 -1 1 1 1
+ 1 -1 1 1 1 1 -1 -1 1 -1 1 1 -1
+ 1 -1 1 1 1 1 -1 -1 1 -1 1 -1 1
+ 1 -1 1 1 1 1 -1 -1 1 -1 1 -1 -1
+ 1 -1 1 1 1 1 -1 -1 1 -1 -1 1 1
+ 1 -1 1 1 1 1 -1 -1 1 -1 -1 1 -1
+ 1 -1 1 1 1 1 -1 -1 1 -1 -1 -1 1
+ 1 -1 1 1 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 -1 -1 -1 1 1 1 1
+ 1 -1 1 1 1 1 -1 -1 -1 1 1 1 -1
+ 1 -1 1 1 1 1 -1 -1 -1 1 1 -1 1
+ 1 -1 1 1 1 1 -1 -1 -1 1 1 -1 -1
+ 1 -1 1 1 1 1 -1 -1 -1 1 -1 1 1
+ 1 -1 1 1 1 1 -1 -1 -1 1 -1 1 -1
+ 1 -1 1 1 1 1 -1 -1 -1 1 -1 -1 1
+ 1 -1 1 1 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 1 1 1 1 -1 -1 -1 -1 1 1 1
+ 1 -1 1 1 1 1 -1 -1 -1 -1 1 1 -1
+ 1 -1 1 1 1 1 -1 -1 -1 -1 1 -1 1
+ 1 -1 1 1 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 1 1 1 1 -1 -1 -1 -1 -1 1 1
+ 1 -1 1 1 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 1 1 1 1 1 1
+ 1 -1 1 1 1 -1 1 1 1 1 1 1 -1
+ 1 -1 1 1 1 -1 1 1 1 1 1 -1 1
+ 1 -1 1 1 1 -1 1 1 1 1 1 -1 -1
+ 1 -1 1 1 1 -1 1 1 1 1 -1 1 1
+ 1 -1 1 1 1 -1 1 1 1 1 -1 1 -1
+ 1 -1 1 1 1 -1 1 1 1 1 -1 -1 1
+ 1 -1 1 1 1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 1 1 -1 1 1 1
+ 1 -1 1 1 1 -1 1 1 1 -1 1 1 -1
+ 1 -1 1 1 1 -1 1 1 1 -1 1 -1 1
+ 1 -1 1 1 1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 1 1 1 -1 -1 1 1
+ 1 -1 1 1 1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 1 -1 1 1 1 1
+ 1 -1 1 1 1 -1 1 1 -1 1 1 1 -1
+ 1 -1 1 1 1 -1 1 1 -1 1 1 -1 1
+ 1 -1 1 1 1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 1 1 1 -1 1 1 -1 1 -1 1 1
+ 1 -1 1 1 1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 1 1 1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 1 1 1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 1 -1 -1 1 1 1
+ 1 -1 1 1 1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 1 1 1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 1 1 1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 1 1 1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 -1 1 1 1 1 1
+ 1 -1 1 1 1 -1 1 -1 1 1 1 1 -1
+ 1 -1 1 1 1 -1 1 -1 1 1 1 -1 1
+ 1 -1 1 1 1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 1 1 1 -1 1 -1 1 1 -1 1 1
+ 1 -1 1 1 1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 1 1 1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 1 1 1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 -1 1 -1 1 1 1
+ 1 -1 1 1 1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 1 1 1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 1 1 1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 1 1 1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 -1 -1 1 1 1 1
+ 1 -1 1 1 1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 1 1 1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 1 1 1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 1 1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 1 1 1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 1 1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 1 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 1 1 1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 1 1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 1 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 1 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 1 1 1 1 1
+ 1 -1 1 1 1 -1 -1 1 1 1 1 1 -1
+ 1 -1 1 1 1 -1 -1 1 1 1 1 -1 1
+ 1 -1 1 1 1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 1 1 -1 1 1
+ 1 -1 1 1 1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 1 -1 1 1 1
+ 1 -1 1 1 1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 1 1 1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 1 1 1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 1 1 1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 -1 1 1 1 1
+ 1 -1 1 1 1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 1 1 1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 1 1 1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 1 1 1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 1 1 1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 1 1 1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 1 1 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 1 1 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 -1 -1 -1 1 1 1 1 1
+ 1 -1 1 1 1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 1 1 1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 1 1 1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 1 1 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 1 1 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 1 1 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 1 1 1 1 1 1
+ 1 -1 1 1 -1 1 1 1 1 1 1 1 -1
+ 1 -1 1 1 -1 1 1 1 1 1 1 -1 1
+ 1 -1 1 1 -1 1 1 1 1 1 1 -1 -1
+ 1 -1 1 1 -1 1 1 1 1 1 -1 1 1
+ 1 -1 1 1 -1 1 1 1 1 1 -1 1 -1
+ 1 -1 1 1 -1 1 1 1 1 1 -1 -1 1
+ 1 -1 1 1 -1 1 1 1 1 1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 1 1 -1 1 1 1
+ 1 -1 1 1 -1 1 1 1 1 -1 1 1 -1
+ 1 -1 1 1 -1 1 1 1 1 -1 1 -1 1
+ 1 -1 1 1 -1 1 1 1 1 -1 1 -1 -1
+ 1 -1 1 1 -1 1 1 1 1 -1 -1 1 1
+ 1 -1 1 1 -1 1 1 1 1 -1 -1 1 -1
+ 1 -1 1 1 -1 1 1 1 1 -1 -1 -1 1
+ 1 -1 1 1 -1 1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 1 -1 1 1 1 1
+ 1 -1 1 1 -1 1 1 1 -1 1 1 1 -1
+ 1 -1 1 1 -1 1 1 1 -1 1 1 -1 1
+ 1 -1 1 1 -1 1 1 1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 1 1 1 -1 1 -1 1 1
+ 1 -1 1 1 -1 1 1 1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 1 1 1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 1 -1 -1 1 1 1
+ 1 -1 1 1 -1 1 1 1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 1 1 1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 1 1 1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 -1 1 1 1 1 1
+ 1 -1 1 1 -1 1 1 -1 1 1 1 1 -1
+ 1 -1 1 1 -1 1 1 -1 1 1 1 -1 1
+ 1 -1 1 1 -1 1 1 -1 1 1 1 -1 -1
+ 1 -1 1 1 -1 1 1 -1 1 1 -1 1 1
+ 1 -1 1 1 -1 1 1 -1 1 1 -1 1 -1
+ 1 -1 1 1 -1 1 1 -1 1 1 -1 -1 1
+ 1 -1 1 1 -1 1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 -1 1 -1 1 1 1
+ 1 -1 1 1 -1 1 1 -1 1 -1 1 1 -1
+ 1 -1 1 1 -1 1 1 -1 1 -1 1 -1 1
+ 1 -1 1 1 -1 1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 1 -1 1 1 -1 1 -1 -1 1 1
+ 1 -1 1 1 -1 1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 1 -1 1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 1 -1 1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 -1 -1 1 1 1 1
+ 1 -1 1 1 -1 1 1 -1 -1 1 1 1 -1
+ 1 -1 1 1 -1 1 1 -1 -1 1 1 -1 1
+ 1 -1 1 1 -1 1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 1 1 -1 -1 1 -1 1 1
+ 1 -1 1 1 -1 1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 -1 -1 -1 1 1 1
+ 1 -1 1 1 -1 1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 1 1 1 1 1
+ 1 -1 1 1 -1 1 -1 1 1 1 1 1 -1
+ 1 -1 1 1 -1 1 -1 1 1 1 1 -1 1
+ 1 -1 1 1 -1 1 -1 1 1 1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 1 1 -1 1 1
+ 1 -1 1 1 -1 1 -1 1 1 1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 1 1 1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 1 1 1 -1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 1 -1 1 1 1
+ 1 -1 1 1 -1 1 -1 1 1 -1 1 1 -1
+ 1 -1 1 1 -1 1 -1 1 1 -1 1 -1 1
+ 1 -1 1 1 -1 1 -1 1 1 -1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 1 -1 -1 1 1
+ 1 -1 1 1 -1 1 -1 1 1 -1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 1 1 -1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 -1 1 1 1 1
+ 1 -1 1 1 -1 1 -1 1 -1 1 1 1 -1
+ 1 -1 1 1 -1 1 -1 1 -1 1 1 -1 1
+ 1 -1 1 1 -1 1 -1 1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 -1 1 -1 1 1
+ 1 -1 1 1 -1 1 -1 1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 -1 -1 1 1 1
+ 1 -1 1 1 -1 1 -1 1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 1 -1 1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 1 -1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 1 -1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 -1 -1 1 1 1 1 1
+ 1 -1 1 1 -1 1 -1 -1 1 1 1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 1 1 1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 1 1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 -1 1 1 -1 1 1
+ 1 -1 1 1 -1 1 -1 -1 1 1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 -1
+ 1 -1 1 1 -1 1 -1 -1 1 -1 1 1 1
+ 1 -1 1 1 -1 1 -1 -1 1 -1 1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 1 -1 1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 1 -1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 -1 1 -1 -1 1 1
+ 1 -1 1 1 -1 1 -1 -1 1 -1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 -1 -1 -1 1 1 1 1
+ 1 -1 1 1 -1 1 -1 -1 -1 1 1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 -1 1 1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 -1 -1 1 -1 1 1
+ 1 -1 1 1 -1 1 -1 -1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 1 -1 -1 -1 -1 1 1 1
+ 1 -1 1 1 -1 1 -1 -1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 -1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 1 1 1 1 1
+ 1 -1 1 1 -1 -1 1 1 1 1 1 1 -1
+ 1 -1 1 1 -1 -1 1 1 1 1 1 -1 1
+ 1 -1 1 1 -1 -1 1 1 1 1 1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 1 1 -1 1 1
+ 1 -1 1 1 -1 -1 1 1 1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 1 1 1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 1 -1 1 1 1
+ 1 -1 1 1 -1 -1 1 1 1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 1 1 1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 -1 1 1 1 1
+ 1 -1 1 1 -1 -1 1 1 -1 1 1 1 -1
+ 1 -1 1 1 -1 -1 1 1 -1 1 1 -1 1
+ 1 -1 1 1 -1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 -1 1 -1 1 1
+ 1 -1 1 1 -1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 -1 -1 1 1 1
+ 1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 -1 1 1 1 1 1
+ 1 -1 1 1 -1 -1 1 -1 1 1 1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 1 1 1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 1 1 -1 -1 1 -1 1 1 -1 1 1
+ 1 -1 1 1 -1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 -1 1 -1 1 1 1
+ 1 -1 1 1 -1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 -1 -1 1 1 1 1
+ 1 -1 1 1 -1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 1 1 -1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 1 1 -1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 1 1 1 1 1
+ 1 -1 1 1 -1 -1 -1 1 1 1 1 1 -1
+ 1 -1 1 1 -1 -1 -1 1 1 1 1 -1 1
+ 1 -1 1 1 -1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 1 1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 1 -1 1 1 1
+ 1 -1 1 1 -1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 -1 1 1 1 1
+ 1 -1 1 1 -1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 1 1 -1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 1 1 -1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 1 1 -1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1 1 1 1 1
+ 1 -1 1 1 -1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 1 1 -1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 1 1 1 1 1 1
+ 1 -1 1 -1 1 1 1 1 1 1 1 1 -1
+ 1 -1 1 -1 1 1 1 1 1 1 1 -1 1
+ 1 -1 1 -1 1 1 1 1 1 1 1 -1 -1
+ 1 -1 1 -1 1 1 1 1 1 1 -1 1 1
+ 1 -1 1 -1 1 1 1 1 1 1 -1 1 -1
+ 1 -1 1 -1 1 1 1 1 1 1 -1 -1 1
+ 1 -1 1 -1 1 1 1 1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 1 1 -1 1 1 1
+ 1 -1 1 -1 1 1 1 1 1 -1 1 1 -1
+ 1 -1 1 -1 1 1 1 1 1 -1 1 -1 1
+ 1 -1 1 -1 1 1 1 1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 1 1 1 1 -1 -1 1 1
+ 1 -1 1 -1 1 1 1 1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 1 1 1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 1 -1 1 1 1 1
+ 1 -1 1 -1 1 1 1 1 -1 1 1 1 -1
+ 1 -1 1 -1 1 1 1 1 -1 1 1 -1 1
+ 1 -1 1 -1 1 1 1 1 -1 1 1 -1 -1
+ 1 -1 1 -1 1 1 1 1 -1 1 -1 1 1
+ 1 -1 1 -1 1 1 1 1 -1 1 -1 1 -1
+ 1 -1 1 -1 1 1 1 1 -1 1 -1 -1 1
+ 1 -1 1 -1 1 1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 1 -1 -1 1 1 1
+ 1 -1 1 -1 1 1 1 1 -1 -1 1 1 -1
+ 1 -1 1 -1 1 1 1 1 -1 -1 1 -1 1
+ 1 -1 1 -1 1 1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 -1 1 1 1 1 -1 -1 -1 1 1
+ 1 -1 1 -1 1 1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 -1 1 1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 -1 1 1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 -1 1 1 1 1 1
+ 1 -1 1 -1 1 1 1 -1 1 1 1 1 -1
+ 1 -1 1 -1 1 1 1 -1 1 1 1 -1 1
+ 1 -1 1 -1 1 1 1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 1 1 1 -1 1 1 -1 1 1
+ 1 -1 1 -1 1 1 1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 1 1 1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 1 1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 -1 1 -1 1 1 1
+ 1 -1 1 -1 1 1 1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 1 1 1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 1 1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 1 1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 1 1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 -1 -1 1 1 1 1
+ 1 -1 1 -1 1 1 1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 1 1 1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 1 1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 1 1 1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 1 1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 1 1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 1 1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 1 1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 1 1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 1 1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 1 1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 1 1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 1 1 1 1 1
+ 1 -1 1 -1 1 1 -1 1 1 1 1 1 -1
+ 1 -1 1 -1 1 1 -1 1 1 1 1 -1 1
+ 1 -1 1 -1 1 1 -1 1 1 1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 1 1 -1 1 1
+ 1 -1 1 -1 1 1 -1 1 1 1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 1 1 1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 1 -1 1 1 1
+ 1 -1 1 -1 1 1 -1 1 1 -1 1 1 -1
+ 1 -1 1 -1 1 1 -1 1 1 -1 1 -1 1
+ 1 -1 1 -1 1 1 -1 1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 1 -1 -1 1 1
+ 1 -1 1 -1 1 1 -1 1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 1 1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 -1 1 1 1 1
+ 1 -1 1 -1 1 1 -1 1 -1 1 1 1 -1
+ 1 -1 1 -1 1 1 -1 1 -1 1 1 -1 1
+ 1 -1 1 -1 1 1 -1 1 -1 1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 -1 1 -1 1 1
+ 1 -1 1 -1 1 1 -1 1 -1 1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 1 -1 1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 1 -1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 -1 -1 1 1 1
+ 1 -1 1 -1 1 1 -1 1 -1 -1 1 1 -1
+ 1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 1
+ 1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 -1 -1 -1 1 1
+ 1 -1 1 -1 1 1 -1 1 -1 -1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 -1 -1 1 1 1 1 1
+ 1 -1 1 -1 1 1 -1 -1 1 1 1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 1 1 1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 -1 1 1 -1 1 1
+ 1 -1 1 -1 1 1 -1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 -1 -1 1 -1 1 1 1
+ 1 -1 1 -1 1 1 -1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 1 1 -1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 -1 -1 -1 1 1 1 1
+ 1 -1 1 -1 1 1 -1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 1 1 -1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 -1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 1 1 -1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 1 1 1 1 1
+ 1 -1 1 -1 1 -1 1 1 1 1 1 1 -1
+ 1 -1 1 -1 1 -1 1 1 1 1 1 -1 1
+ 1 -1 1 -1 1 -1 1 1 1 1 1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 1 1 -1 1 1
+ 1 -1 1 -1 1 -1 1 1 1 1 -1 1 -1
+ 1 -1 1 -1 1 -1 1 1 1 1 -1 -1 1
+ 1 -1 1 -1 1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 1 -1 1 1 1
+ 1 -1 1 -1 1 -1 1 1 1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 1 1 1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 -1 1 1 1 1
+ 1 -1 1 -1 1 -1 1 1 -1 1 1 1 -1
+ 1 -1 1 -1 1 -1 1 1 -1 1 1 -1 1
+ 1 -1 1 -1 1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 -1 1 -1 1 1
+ 1 -1 1 -1 1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 1 -1 1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 1 -1 1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 -1 -1 1 1 1
+ 1 -1 1 -1 1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 -1 1 1 1 1 1
+ 1 -1 1 -1 1 -1 1 -1 1 1 1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 1 1 1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 1 -1 1 -1 1 1 -1 1 1
+ 1 -1 1 -1 1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 -1 1 -1 1 1 1
+ 1 -1 1 -1 1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 -1 -1 1 1 1 1
+ 1 -1 1 -1 1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 1 1 1 1 1
+ 1 -1 1 -1 1 -1 -1 1 1 1 1 1 -1
+ 1 -1 1 -1 1 -1 -1 1 1 1 1 -1 1
+ 1 -1 1 -1 1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 1 1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 1 -1 1 1 1
+ 1 -1 1 -1 1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 -1 1 1 1 1
+ 1 -1 1 -1 1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 1 -1 1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 1 -1 1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 1 -1 1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1 1 1 1 1
+ 1 -1 1 -1 1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 1 -1 1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 1 1 1 1 1
+ 1 -1 1 -1 -1 1 1 1 1 1 1 1 -1
+ 1 -1 1 -1 -1 1 1 1 1 1 1 -1 1
+ 1 -1 1 -1 -1 1 1 1 1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 1 1 -1 1 1
+ 1 -1 1 -1 -1 1 1 1 1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 1 1 1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 1 1 1 1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 1 -1 1 1 1
+ 1 -1 1 -1 -1 1 1 1 1 -1 1 1 -1
+ 1 -1 1 -1 -1 1 1 1 1 -1 1 -1 1
+ 1 -1 1 -1 -1 1 1 1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 1 1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 1 1 1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 -1 1 1 1 1
+ 1 -1 1 -1 -1 1 1 1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 1 1 1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 1 1 1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 1 1 1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 1 1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 1 1 1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 -1 1 1 1 1 1
+ 1 -1 1 -1 -1 1 1 -1 1 1 1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 1 1 1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 1 -1 1 1 -1 1 1
+ 1 -1 1 -1 -1 1 1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 -1 1 -1 1 1 1
+ 1 -1 1 -1 -1 1 1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 -1 -1 1 1 1 1
+ 1 -1 1 -1 -1 1 1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 1 1 1 1 1
+ 1 -1 1 -1 -1 1 -1 1 1 1 1 1 -1
+ 1 -1 1 -1 -1 1 -1 1 1 1 1 -1 1
+ 1 -1 1 -1 -1 1 -1 1 1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 1 1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 1 1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 1 1 1 -1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 1 -1 1 1 1
+ 1 -1 1 -1 -1 1 -1 1 1 -1 1 1 -1
+ 1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 1
+ 1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 -1 1 1 1 1
+ 1 -1 1 -1 -1 1 -1 1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 1 -1 1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 1 -1 1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 1 -1 1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 1 -1 1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 1 -1 1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1 1 1 1 1
+ 1 -1 1 -1 -1 1 -1 -1 1 1 1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1 1 1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1 1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1 -1 1 1 1
+ 1 -1 1 -1 -1 1 -1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 -1 -1 -1 1 1 1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 1 1 1 1 1
+ 1 -1 1 -1 -1 -1 1 1 1 1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 1 1 1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 1 1 1 1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 1 1 -1 1 1
+ 1 -1 1 -1 -1 -1 1 1 1 1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1 1 1 1 -1 -1 1
+ 1 -1 1 -1 -1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 1 1 1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 1 1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 -1 1 1 1 1
+ 1 -1 1 -1 -1 -1 1 1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1 1 1 1 1
+ 1 -1 1 -1 -1 -1 1 -1 1 1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1 1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1 1 -1 1 1
+ 1 -1 1 -1 -1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 -1 -1 1 1 1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1 1 1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 1 1 1 1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1 1 1 -1 1
+ 1 -1 1 -1 -1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1 1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 -1 1 1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1 1 1 1 1
+ 1 -1 1 -1 -1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 1 1 1 1 1 1
+ 1 -1 -1 1 1 1 1 1 1 1 1 1 -1
+ 1 -1 -1 1 1 1 1 1 1 1 1 -1 1
+ 1 -1 -1 1 1 1 1 1 1 1 1 -1 -1
+ 1 -1 -1 1 1 1 1 1 1 1 -1 1 1
+ 1 -1 -1 1 1 1 1 1 1 1 -1 1 -1
+ 1 -1 -1 1 1 1 1 1 1 1 -1 -1 1
+ 1 -1 -1 1 1 1 1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 1 1 -1 1 1 1
+ 1 -1 -1 1 1 1 1 1 1 -1 1 1 -1
+ 1 -1 -1 1 1 1 1 1 1 -1 1 -1 1
+ 1 -1 -1 1 1 1 1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 1 1 1 1 -1 -1 1 1
+ 1 -1 -1 1 1 1 1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 1 1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 1 1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 1 -1 1 1 1 1
+ 1 -1 -1 1 1 1 1 1 -1 1 1 1 -1
+ 1 -1 -1 1 1 1 1 1 -1 1 1 -1 1
+ 1 -1 -1 1 1 1 1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 1 1 1 1 -1 1 -1 1 1
+ 1 -1 -1 1 1 1 1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 1 1 1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 1 1 1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 1 -1 -1 1 1 1
+ 1 -1 -1 1 1 1 1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 1 1 1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 1 1 1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 1 1 1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 1 1 1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 -1 1 1 1 1 1
+ 1 -1 -1 1 1 1 1 -1 1 1 1 1 -1
+ 1 -1 -1 1 1 1 1 -1 1 1 1 -1 1
+ 1 -1 -1 1 1 1 1 -1 1 1 1 -1 -1
+ 1 -1 -1 1 1 1 1 -1 1 1 -1 1 1
+ 1 -1 -1 1 1 1 1 -1 1 1 -1 1 -1
+ 1 -1 -1 1 1 1 1 -1 1 1 -1 -1 1
+ 1 -1 -1 1 1 1 1 -1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 -1 1 -1 1 1 1
+ 1 -1 -1 1 1 1 1 -1 1 -1 1 1 -1
+ 1 -1 -1 1 1 1 1 -1 1 -1 1 -1 1
+ 1 -1 -1 1 1 1 1 -1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 1 1 -1 1 -1 -1 1 1
+ 1 -1 -1 1 1 1 1 -1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 1 1 -1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 1 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 -1 -1 1 1 1 1
+ 1 -1 -1 1 1 1 1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 1 1 1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 1 1 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 1 1 1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 1 1 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 1 1 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 1 1 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 -1 -1 -1 1 1 1
+ 1 -1 -1 1 1 1 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 1 1 1 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 1 1 1 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 1 1 1 1 1
+ 1 -1 -1 1 1 1 -1 1 1 1 1 1 -1
+ 1 -1 -1 1 1 1 -1 1 1 1 1 -1 1
+ 1 -1 -1 1 1 1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 1 1 -1 1 1
+ 1 -1 -1 1 1 1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 1 -1 1 1 1
+ 1 -1 -1 1 1 1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 1 1 1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 1 1 1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 1 1 1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 -1 1 1 1 1
+ 1 -1 -1 1 1 1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 1 1 1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 1 1 1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 1 1 1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 1 1 1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 1 1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 1 1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 1 1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 -1 -1 1 1 1 1 1
+ 1 -1 -1 1 1 1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 1 1 1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 1 1 1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 1 1 1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 1 1 1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 1 1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 1 1 1 1 1
+ 1 -1 -1 1 1 -1 1 1 1 1 1 1 -1
+ 1 -1 -1 1 1 -1 1 1 1 1 1 -1 1
+ 1 -1 -1 1 1 -1 1 1 1 1 1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 1 1 -1 1 1
+ 1 -1 -1 1 1 -1 1 1 1 1 -1 1 -1
+ 1 -1 -1 1 1 -1 1 1 1 1 -1 -1 1
+ 1 -1 -1 1 1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 1 -1 1 1 1
+ 1 -1 -1 1 1 -1 1 1 1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 1 1 1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 -1 1 1 1 1
+ 1 -1 -1 1 1 -1 1 1 -1 1 1 1 -1
+ 1 -1 -1 1 1 -1 1 1 -1 1 1 -1 1
+ 1 -1 -1 1 1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 -1 1 -1 1 1
+ 1 -1 -1 1 1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 -1 -1 1 1 1
+ 1 -1 -1 1 1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1
+ 1 -1 -1 1 1 -1 1 -1 1 1 1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 1 1 1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 -1 1 1 -1 1 -1 1 1 -1 1 1
+ 1 -1 -1 1 1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 -1 1 -1 1 1 1
+ 1 -1 -1 1 1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 -1 -1 1 1 1 1
+ 1 -1 -1 1 1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 -1 1 1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 1 1 1 1 1
+ 1 -1 -1 1 1 -1 -1 1 1 1 1 1 -1
+ 1 -1 -1 1 1 -1 -1 1 1 1 1 -1 1
+ 1 -1 -1 1 1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 1 1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 1 -1 1 1 1
+ 1 -1 -1 1 1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 -1 1 1 1 1
+ 1 -1 -1 1 1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 1 1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 1 1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1 1 1 1 1
+ 1 -1 -1 1 1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 1 1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 1 1 1 1 1
+ 1 -1 -1 1 -1 1 1 1 1 1 1 1 -1
+ 1 -1 -1 1 -1 1 1 1 1 1 1 -1 1
+ 1 -1 -1 1 -1 1 1 1 1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 1 1 -1 1 1
+ 1 -1 -1 1 -1 1 1 1 1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 1 1 1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 1 -1 1 1 1
+ 1 -1 -1 1 -1 1 1 1 1 -1 1 1 -1
+ 1 -1 -1 1 -1 1 1 1 1 -1 1 -1 1
+ 1 -1 -1 1 -1 1 1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 1 -1 -1 1 1
+ 1 -1 -1 1 -1 1 1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 -1 1 1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 -1 1 1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 -1 1 1 1 1
+ 1 -1 -1 1 -1 1 1 1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 1 1 1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 1 1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 1 1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 1 1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 1 1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 -1 1 1 1 1 1
+ 1 -1 -1 1 -1 1 1 -1 1 1 1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 1 1 1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 1 -1 1 1 -1 1 1
+ 1 -1 -1 1 -1 1 1 -1 1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 1 1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 -1 1 -1 1 1 1
+ 1 -1 -1 1 -1 1 1 -1 1 -1 1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 1 -1 1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 1 -1 1 -1 -1
+ 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 1
+ 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 1 -1 -1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 -1 -1 1 1 1 1
+ 1 -1 -1 1 -1 1 1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 1 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 -1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 1 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 1 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 1 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 1 1 1 1 1
+ 1 -1 -1 1 -1 1 -1 1 1 1 1 1 -1
+ 1 -1 -1 1 -1 1 -1 1 1 1 1 -1 1
+ 1 -1 -1 1 -1 1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 1 1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 1 -1 1 1 1
+ 1 -1 -1 1 -1 1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 1 -1 1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 1 -1 1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 -1 1 1 1 1
+ 1 -1 -1 1 -1 1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1 1 1 1 1
+ 1 -1 -1 1 -1 1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 1 -1 1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 1 1 1 1 1
+ 1 -1 -1 1 -1 -1 1 1 1 1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 1 1 1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 1 1 1 1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 1 1 -1 1 1
+ 1 -1 -1 1 -1 -1 1 1 1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1 1 1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 1 1 1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 1 1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 -1 1 1 1 1
+ 1 -1 -1 1 -1 -1 1 1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1 1 1 1 1
+ 1 -1 -1 1 -1 -1 1 -1 1 1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1 1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1 1 -1 1 1
+ 1 -1 -1 1 -1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 -1 -1 1 1 1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1 1 1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 1 1 1 1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1 1 1 -1 1
+ 1 -1 -1 1 -1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1 1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 -1 1 1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1 1 1 1 1
+ 1 -1 -1 1 -1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 1 1 1 1 1
+ 1 -1 -1 -1 1 1 1 1 1 1 1 1 -1
+ 1 -1 -1 -1 1 1 1 1 1 1 1 -1 1
+ 1 -1 -1 -1 1 1 1 1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 1 1 -1 1 1
+ 1 -1 -1 -1 1 1 1 1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 1 1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 1 1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 1 -1 1 1 1
+ 1 -1 -1 -1 1 1 1 1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 1 1 1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 1 1 1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 1 1 1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 -1 1 1 1 1
+ 1 -1 -1 -1 1 1 1 1 -1 1 1 1 -1
+ 1 -1 -1 -1 1 1 1 1 -1 1 1 -1 1
+ 1 -1 -1 -1 1 1 1 1 -1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 -1 1 -1 1 1
+ 1 -1 -1 -1 1 1 1 1 -1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 1 1 -1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 1 1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 1 1 1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 1 1 1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 1 1 1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 -1 -1 -1 1 1
+ 1 -1 -1 -1 1 1 1 1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 -1 1 1 1 1 1
+ 1 -1 -1 -1 1 1 1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 1 1 1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 1 1 1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 1 1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 1 1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 1 1 1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 1 1 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 1 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 1 1 1 1 1
+ 1 -1 -1 -1 1 1 -1 1 1 1 1 1 -1
+ 1 -1 -1 -1 1 1 -1 1 1 1 1 -1 1
+ 1 -1 -1 -1 1 1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 1 1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 1 -1 1 1 1
+ 1 -1 -1 -1 1 1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 -1 1 1 1 1
+ 1 -1 -1 -1 1 1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 -1 1 1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 -1 1 1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1 1 1 1 1
+ 1 -1 -1 -1 1 1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 1 1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 1 1 1 1 1
+ 1 -1 -1 -1 1 -1 1 1 1 1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 1 1 1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 1 1 -1 1 1
+ 1 -1 -1 -1 1 -1 1 1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 -1 1 1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 1 1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 -1 1 1 1 1
+ 1 -1 -1 -1 1 -1 1 1 -1 1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 1 -1 1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 -1 1 -1 1 1
+ 1 -1 -1 -1 1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1 1 1 1 1
+ 1 -1 -1 -1 1 -1 1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1 1 1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 1 1 1 1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1 1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1 1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 -1 1 1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 -1 1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1 1 1 1 1
+ 1 -1 -1 -1 1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 1 1 1 1 1
+ 1 -1 -1 -1 -1 1 1 1 1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 1 1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 1 1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 1 1 1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 1 -1 1 1 1
+ 1 -1 -1 -1 -1 1 1 1 1 -1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 1 1 -1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 1 1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 1 1 1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 1 1 1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 1 1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 1 1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 1 1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 1 1 1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1 1 1 1 1
+ 1 -1 -1 -1 -1 1 1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 -1 1 1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1 1 1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1 -1 1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1 1 1 1 1
+ 1 -1 -1 -1 -1 1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 -1 1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1 1 -1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 1 1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1 1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+end
+
diff --git a/third_party/cddlib/examples-ine/cross6.ine b/third_party/cddlib/examples-ine/cross6.ine
new file mode 100644
index 0000000..661b7ef
--- /dev/null
+++ b/third_party/cddlib/examples-ine/cross6.ine
@@ -0,0 +1,69 @@
+* 6-dim cross polytope
+H-representation
+begin
+64  7  integer 
+ 1 1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 1
+ 1 1 -1 -1 1 1 -1
+ 1 1 -1 -1 1 1 1
+ 1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 1 1
+ 1 1 -1 1 1 -1 -1
+ 1 1 -1 1 1 -1 1
+ 1 1 -1 1 1 1 -1
+ 1 1 -1 1 1 1 1
+ 1 1 1 1 -1 -1 -1
+ 1 1 1 1 -1 -1 1
+ 1 1 1 1 -1 1 -1
+ 1 1 1 1 -1 1 1
+ 1 1 1 1 1 1 -1
+ 1 1 1 1 1 1 1
+ 1 1 1 1 1 -1 1
+ 1 1 1 1 1 -1 -1
+ 1 1 1 -1 1 1 1
+ 1 1 1 -1 1 1 -1
+ 1 1 1 -1 1 -1 1
+ 1 1 1 -1 1 -1 -1
+ 1 1 1 -1 -1 1 1
+ 1 1 1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 1
+ 1 -1 1 1 1 1 -1
+ 1 -1 1 1 1 -1 1
+ 1 -1 1 1 1 -1 -1
+ 1 -1 1 1 -1 1 1
+ 1 -1 1 1 -1 1 -1
+ 1 -1 1 1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 1 1
+ 1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 1
+ 1 -1 -1 1 1 1 -1
+ 1 -1 -1 1 1 -1 1
+ 1 -1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1
+end
diff --git a/third_party/cddlib/examples-ine/cross8.ine b/third_party/cddlib/examples-ine/cross8.ine
new file mode 100644
index 0000000..e296629
--- /dev/null
+++ b/third_party/cddlib/examples-ine/cross8.ine
@@ -0,0 +1,261 @@
+* 8-dim cross polytope
+H-representation
+begin
+256  9  integer 
+ 1 1 -1 -1 -1 -1 -1 -1 -1
+ 1 1 -1 -1 -1 -1 -1 -1 1
+ 1 1 -1 -1 -1 -1 -1 1 -1
+ 1 1 -1 -1 -1 -1 -1 1 1
+ 1 1 -1 -1 -1 -1 1 -1 -1
+ 1 1 -1 -1 -1 -1 1 -1 1
+ 1 1 -1 -1 -1 -1 1 1 -1
+ 1 1 -1 -1 -1 -1 1 1 1
+ 1 1 -1 -1 -1 1 -1 -1 -1
+ 1 1 -1 -1 -1 1 -1 -1 1
+ 1 1 -1 -1 -1 1 -1 1 -1
+ 1 1 -1 -1 -1 1 -1 1 1
+ 1 1 -1 -1 -1 1 1 -1 -1
+ 1 1 -1 -1 -1 1 1 -1 1
+ 1 1 -1 -1 -1 1 1 1 -1
+ 1 1 -1 -1 -1 1 1 1 1
+ 1 1 -1 -1 1 -1 -1 -1 -1
+ 1 1 -1 -1 1 -1 -1 -1 1
+ 1 1 -1 -1 1 -1 -1 1 -1
+ 1 1 -1 -1 1 -1 -1 1 1
+ 1 1 -1 -1 1 -1 1 -1 -1
+ 1 1 -1 -1 1 -1 1 -1 1
+ 1 1 -1 -1 1 -1 1 1 -1
+ 1 1 -1 -1 1 -1 1 1 1
+ 1 1 -1 -1 1 1 -1 -1 -1
+ 1 1 -1 -1 1 1 -1 -1 1
+ 1 1 -1 -1 1 1 -1 1 -1
+ 1 1 -1 -1 1 1 -1 1 1
+ 1 1 -1 -1 1 1 1 -1 -1
+ 1 1 -1 -1 1 1 1 -1 1
+ 1 1 -1 -1 1 1 1 1 -1
+ 1 1 -1 -1 1 1 1 1 1
+ 1 1 -1 1 -1 -1 -1 -1 -1
+ 1 1 -1 1 -1 -1 -1 -1 1
+ 1 1 -1 1 -1 -1 -1 1 -1
+ 1 1 -1 1 -1 -1 -1 1 1
+ 1 1 -1 1 -1 -1 1 -1 -1
+ 1 1 -1 1 -1 -1 1 -1 1
+ 1 1 -1 1 -1 -1 1 1 -1
+ 1 1 -1 1 -1 -1 1 1 1
+ 1 1 -1 1 -1 1 -1 -1 -1
+ 1 1 -1 1 -1 1 -1 -1 1
+ 1 1 -1 1 -1 1 -1 1 -1
+ 1 1 -1 1 -1 1 -1 1 1
+ 1 1 -1 1 -1 1 1 -1 -1
+ 1 1 -1 1 -1 1 1 -1 1
+ 1 1 -1 1 -1 1 1 1 -1
+ 1 1 -1 1 -1 1 1 1 1
+ 1 1 -1 1 1 -1 -1 -1 -1
+ 1 1 -1 1 1 -1 -1 -1 1
+ 1 1 -1 1 1 -1 -1 1 -1
+ 1 1 -1 1 1 -1 -1 1 1
+ 1 1 -1 1 1 -1 1 -1 -1
+ 1 1 -1 1 1 -1 1 -1 1
+ 1 1 -1 1 1 -1 1 1 -1
+ 1 1 -1 1 1 -1 1 1 1
+ 1 1 -1 1 1 1 -1 -1 -1
+ 1 1 -1 1 1 1 -1 -1 1
+ 1 1 -1 1 1 1 -1 1 -1
+ 1 1 -1 1 1 1 -1 1 1
+ 1 1 -1 1 1 1 1 -1 -1
+ 1 1 -1 1 1 1 1 -1 1
+ 1 1 -1 1 1 1 1 1 -1
+ 1 1 -1 1 1 1 1 1 1
+ 1 1 1 1 -1 -1 -1 -1 -1
+ 1 1 1 1 -1 -1 -1 -1 1
+ 1 1 1 1 -1 -1 -1 1 -1
+ 1 1 1 1 -1 -1 -1 1 1
+ 1 1 1 1 -1 -1 1 -1 -1
+ 1 1 1 1 -1 -1 1 -1 1
+ 1 1 1 1 -1 -1 1 1 -1
+ 1 1 1 1 -1 -1 1 1 1
+ 1 1 1 1 -1 1 -1 -1 -1
+ 1 1 1 1 -1 1 -1 -1 1
+ 1 1 1 1 -1 1 -1 1 -1
+ 1 1 1 1 -1 1 -1 1 1
+ 1 1 1 1 -1 1 1 -1 -1
+ 1 1 1 1 -1 1 1 -1 1
+ 1 1 1 1 -1 1 1 1 -1
+ 1 1 1 1 -1 1 1 1 1
+ 1 1 1 1 1 1 -1 -1 -1
+ 1 1 1 1 1 1 -1 -1 1
+ 1 1 1 1 1 1 -1 1 -1
+ 1 1 1 1 1 1 -1 1 1
+ 1 1 1 1 1 1 1 1 -1
+ 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 -1 1
+ 1 1 1 1 1 1 1 -1 -1
+ 1 1 1 1 1 -1 1 1 1
+ 1 1 1 1 1 -1 1 1 -1
+ 1 1 1 1 1 -1 1 -1 1
+ 1 1 1 1 1 -1 1 -1 -1
+ 1 1 1 1 1 -1 -1 1 1
+ 1 1 1 1 1 -1 -1 1 -1
+ 1 1 1 1 1 -1 -1 -1 1
+ 1 1 1 1 1 -1 -1 -1 -1
+ 1 1 1 -1 1 1 1 1 1
+ 1 1 1 -1 1 1 1 1 -1
+ 1 1 1 -1 1 1 1 -1 1
+ 1 1 1 -1 1 1 1 -1 -1
+ 1 1 1 -1 1 1 -1 1 1
+ 1 1 1 -1 1 1 -1 1 -1
+ 1 1 1 -1 1 1 -1 -1 1
+ 1 1 1 -1 1 1 -1 -1 -1
+ 1 1 1 -1 1 -1 1 1 1
+ 1 1 1 -1 1 -1 1 1 -1
+ 1 1 1 -1 1 -1 1 -1 1
+ 1 1 1 -1 1 -1 1 -1 -1
+ 1 1 1 -1 1 -1 -1 1 1
+ 1 1 1 -1 1 -1 -1 1 -1
+ 1 1 1 -1 1 -1 -1 -1 1
+ 1 1 1 -1 1 -1 -1 -1 -1
+ 1 1 1 -1 -1 1 1 1 1
+ 1 1 1 -1 -1 1 1 1 -1
+ 1 1 1 -1 -1 1 1 -1 1
+ 1 1 1 -1 -1 1 1 -1 -1
+ 1 1 1 -1 -1 1 -1 1 1
+ 1 1 1 -1 -1 1 -1 1 -1
+ 1 1 1 -1 -1 1 -1 -1 1
+ 1 1 1 -1 -1 1 -1 -1 -1
+ 1 1 1 -1 -1 -1 1 1 1
+ 1 1 1 -1 -1 -1 1 1 -1
+ 1 1 1 -1 -1 -1 1 -1 1
+ 1 1 1 -1 -1 -1 1 -1 -1
+ 1 1 1 -1 -1 -1 -1 1 1
+ 1 1 1 -1 -1 -1 -1 1 -1
+ 1 1 1 -1 -1 -1 -1 -1 1
+ 1 1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 1 1 1 1 1 1 1
+ 1 -1 1 1 1 1 1 1 -1
+ 1 -1 1 1 1 1 1 -1 1
+ 1 -1 1 1 1 1 1 -1 -1
+ 1 -1 1 1 1 1 -1 1 1
+ 1 -1 1 1 1 1 -1 1 -1
+ 1 -1 1 1 1 1 -1 -1 1
+ 1 -1 1 1 1 1 -1 -1 -1
+ 1 -1 1 1 1 -1 1 1 1
+ 1 -1 1 1 1 -1 1 1 -1
+ 1 -1 1 1 1 -1 1 -1 1
+ 1 -1 1 1 1 -1 1 -1 -1
+ 1 -1 1 1 1 -1 -1 1 1
+ 1 -1 1 1 1 -1 -1 1 -1
+ 1 -1 1 1 1 -1 -1 -1 1
+ 1 -1 1 1 1 -1 -1 -1 -1
+ 1 -1 1 1 -1 1 1 1 1
+ 1 -1 1 1 -1 1 1 1 -1
+ 1 -1 1 1 -1 1 1 -1 1
+ 1 -1 1 1 -1 1 1 -1 -1
+ 1 -1 1 1 -1 1 -1 1 1
+ 1 -1 1 1 -1 1 -1 1 -1
+ 1 -1 1 1 -1 1 -1 -1 1
+ 1 -1 1 1 -1 1 -1 -1 -1
+ 1 -1 1 1 -1 -1 1 1 1
+ 1 -1 1 1 -1 -1 1 1 -1
+ 1 -1 1 1 -1 -1 1 -1 1
+ 1 -1 1 1 -1 -1 1 -1 -1
+ 1 -1 1 1 -1 -1 -1 1 1
+ 1 -1 1 1 -1 -1 -1 1 -1
+ 1 -1 1 1 -1 -1 -1 -1 1
+ 1 -1 1 1 -1 -1 -1 -1 -1
+ 1 -1 1 -1 1 1 1 1 1
+ 1 -1 1 -1 1 1 1 1 -1
+ 1 -1 1 -1 1 1 1 -1 1
+ 1 -1 1 -1 1 1 1 -1 -1
+ 1 -1 1 -1 1 1 -1 1 1
+ 1 -1 1 -1 1 1 -1 1 -1
+ 1 -1 1 -1 1 1 -1 -1 1
+ 1 -1 1 -1 1 1 -1 -1 -1
+ 1 -1 1 -1 1 -1 1 1 1
+ 1 -1 1 -1 1 -1 1 1 -1
+ 1 -1 1 -1 1 -1 1 -1 1
+ 1 -1 1 -1 1 -1 1 -1 -1
+ 1 -1 1 -1 1 -1 -1 1 1
+ 1 -1 1 -1 1 -1 -1 1 -1
+ 1 -1 1 -1 1 -1 -1 -1 1
+ 1 -1 1 -1 1 -1 -1 -1 -1
+ 1 -1 1 -1 -1 1 1 1 1
+ 1 -1 1 -1 -1 1 1 1 -1
+ 1 -1 1 -1 -1 1 1 -1 1
+ 1 -1 1 -1 -1 1 1 -1 -1
+ 1 -1 1 -1 -1 1 -1 1 1
+ 1 -1 1 -1 -1 1 -1 1 -1
+ 1 -1 1 -1 -1 1 -1 -1 1
+ 1 -1 1 -1 -1 1 -1 -1 -1
+ 1 -1 1 -1 -1 -1 1 1 1
+ 1 -1 1 -1 -1 -1 1 1 -1
+ 1 -1 1 -1 -1 -1 1 -1 1
+ 1 -1 1 -1 -1 -1 1 -1 -1
+ 1 -1 1 -1 -1 -1 -1 1 1
+ 1 -1 1 -1 -1 -1 -1 1 -1
+ 1 -1 1 -1 -1 -1 -1 -1 1
+ 1 -1 1 -1 -1 -1 -1 -1 -1
+ 1 -1 -1 1 1 1 1 1 1
+ 1 -1 -1 1 1 1 1 1 -1
+ 1 -1 -1 1 1 1 1 -1 1
+ 1 -1 -1 1 1 1 1 -1 -1
+ 1 -1 -1 1 1 1 -1 1 1
+ 1 -1 -1 1 1 1 -1 1 -1
+ 1 -1 -1 1 1 1 -1 -1 1
+ 1 -1 -1 1 1 1 -1 -1 -1
+ 1 -1 -1 1 1 -1 1 1 1
+ 1 -1 -1 1 1 -1 1 1 -1
+ 1 -1 -1 1 1 -1 1 -1 1
+ 1 -1 -1 1 1 -1 1 -1 -1
+ 1 -1 -1 1 1 -1 -1 1 1
+ 1 -1 -1 1 1 -1 -1 1 -1
+ 1 -1 -1 1 1 -1 -1 -1 1
+ 1 -1 -1 1 1 -1 -1 -1 -1
+ 1 -1 -1 1 -1 1 1 1 1
+ 1 -1 -1 1 -1 1 1 1 -1
+ 1 -1 -1 1 -1 1 1 -1 1
+ 1 -1 -1 1 -1 1 1 -1 -1
+ 1 -1 -1 1 -1 1 -1 1 1
+ 1 -1 -1 1 -1 1 -1 1 -1
+ 1 -1 -1 1 -1 1 -1 -1 1
+ 1 -1 -1 1 -1 1 -1 -1 -1
+ 1 -1 -1 1 -1 -1 1 1 1
+ 1 -1 -1 1 -1 -1 1 1 -1
+ 1 -1 -1 1 -1 -1 1 -1 1
+ 1 -1 -1 1 -1 -1 1 -1 -1
+ 1 -1 -1 1 -1 -1 -1 1 1
+ 1 -1 -1 1 -1 -1 -1 1 -1
+ 1 -1 -1 1 -1 -1 -1 -1 1
+ 1 -1 -1 1 -1 -1 -1 -1 -1
+ 1 -1 -1 -1 1 1 1 1 1
+ 1 -1 -1 -1 1 1 1 1 -1
+ 1 -1 -1 -1 1 1 1 -1 1
+ 1 -1 -1 -1 1 1 1 -1 -1
+ 1 -1 -1 -1 1 1 -1 1 1
+ 1 -1 -1 -1 1 1 -1 1 -1
+ 1 -1 -1 -1 1 1 -1 -1 1
+ 1 -1 -1 -1 1 1 -1 -1 -1
+ 1 -1 -1 -1 1 -1 1 1 1
+ 1 -1 -1 -1 1 -1 1 1 -1
+ 1 -1 -1 -1 1 -1 1 -1 1
+ 1 -1 -1 -1 1 -1 1 -1 -1
+ 1 -1 -1 -1 1 -1 -1 1 1
+ 1 -1 -1 -1 1 -1 -1 1 -1
+ 1 -1 -1 -1 1 -1 -1 -1 1
+ 1 -1 -1 -1 1 -1 -1 -1 -1
+ 1 -1 -1 -1 -1 1 1 1 1
+ 1 -1 -1 -1 -1 1 1 1 -1
+ 1 -1 -1 -1 -1 1 1 -1 1
+ 1 -1 -1 -1 -1 1 1 -1 -1
+ 1 -1 -1 -1 -1 1 -1 1 1
+ 1 -1 -1 -1 -1 1 -1 1 -1
+ 1 -1 -1 -1 -1 1 -1 -1 1
+ 1 -1 -1 -1 -1 1 -1 -1 -1
+ 1 -1 -1 -1 -1 -1 1 1 1
+ 1 -1 -1 -1 -1 -1 1 1 -1
+ 1 -1 -1 -1 -1 -1 1 -1 1
+ 1 -1 -1 -1 -1 -1 1 -1 -1
+ 1 -1 -1 -1 -1 -1 -1 1 1
+ 1 -1 -1 -1 -1 -1 -1 1 -1
+ 1 -1 -1 -1 -1 -1 -1 -1 1
+ 1 -1 -1 -1 -1 -1 -1 -1 -1
+end
diff --git a/third_party/cddlib/examples-ine/cube10.ine b/third_party/cddlib/examples-ine/cube10.ine
new file mode 100644
index 0000000..b2094a5
--- /dev/null
+++ b/third_party/cddlib/examples-ine/cube10.ine
@@ -0,0 +1,27 @@
+H-representation
+begin
+ 20 11 integer
+  1  0  0  0  0  0  0  0  0  0  1
+  1  1  0  0  0  0  0  0  0  0  0
+  1  0  1  0  0  0  0  0  0  0  0
+  1  0  0  1  0  0  0  0  0  0  0
+  1  0  0  0  1  0  0  0  0  0  0
+  1  0  0  0  0  1  0  0  0  0  0
+  1  0  0  0  0  0  1  0  0  0  0
+  1  0  0  0  0  0  0  1  0  0  0
+  1  0  0  0  0  0  0  0  1  0  0
+  1  0  0  0  0  0  0  0  0  1  0
+  1  0  0  0  0  0  0  0  0  0 -1
+  1  0  0  0  0  0  0  0  0 -1  0
+  1  0  0  0  0  0  0  0 -1  0  0
+  1  0  0  0  0  0  0 -1  0  0  0
+  1  0  0  0  0  0 -1  0  0  0  0
+  1  0  0  0  0 -1  0  0  0  0  0
+  1  0  0  0 -1  0  0  0  0  0  0
+  1  0  0 -1  0  0  0  0  0  0  0
+  1  0 -1  0  0  0  0  0  0  0  0
+ -2 -1  0  0  0  0  0  0  0  0  0
+end
+minimize
+ -2 -1  0  0  0  0  0  0  0  0  0
+  
diff --git a/third_party/cddlib/examples-ine/cube12.ine b/third_party/cddlib/examples-ine/cube12.ine
new file mode 100644
index 0000000..4206e39
--- /dev/null
+++ b/third_party/cddlib/examples-ine/cube12.ine
@@ -0,0 +1,29 @@
+* 12-dim hypercube
+H-representation
+begin
+   24  13  integer
+  1  1  0  0  0  0  0  0  0  0  0  0  0
+  1  0  1  0  0  0  0  0  0  0  0  0  0
+  1  0  0  1  0  0  0  0  0  0  0  0  0
+  1  0  0  0  1  0  0  0  0  0  0  0  0
+  1  0  0  0  0  1  0  0  0  0  0  0  0
+  1  0  0  0  0  0  1  0  0  0  0  0  0
+  1  0  0  0  0  0  0  1  0  0  0  0  0
+  1  0  0  0  0  0  0  0  1  0  0  0  0
+  1  0  0  0  0  0  0  0  0  1  0  0  0
+  1  0  0  0  0  0  0  0  0  0  1  0  0
+  1  0  0  0  0  0  0  0  0  0  0  1  0
+  1  0  0  0  0  0  0  0  0  0  0  0  1
+  1 -1  0  0  0  0  0  0  0  0  0  0  0
+  1  0 -1  0  0  0  0  0  0  0  0  0  0
+  1  0  0 -1  0  0  0  0  0  0  0  0  0
+  1  0  0  0 -1  0  0  0  0  0  0  0  0
+  1  0  0  0  0 -1  0  0  0  0  0  0  0
+  1  0  0  0  0  0 -1  0  0  0  0  0  0
+  1  0  0  0  0  0  0 -1  0  0  0  0  0
+  1  0  0  0  0  0  0  0 -1  0  0  0  0
+  1  0  0  0  0  0  0  0  0 -1  0  0  0
+  1  0  0  0  0  0  0  0  0  0 -1  0  0
+  1  0  0  0  0  0  0  0  0  0  0 -1  0
+  1  0  0  0  0  0  0  0  0  0  0  0 -1
+end
diff --git a/third_party/cddlib/examples-ine/cube6.ine b/third_party/cddlib/examples-ine/cube6.ine
new file mode 100644
index 0000000..98b2553
--- /dev/null
+++ b/third_party/cddlib/examples-ine/cube6.ine
@@ -0,0 +1,17 @@
+* 6-dim hypercube
+H-representation
+begin
+    12    7    integer
+ 1  1  0  0  0  0  0
+ 1  0  1  0  0  0  0
+ 1  0  0  1  0  0  0
+ 1  0  0  0  1  0  0
+ 1  0  0  0  0  1  0
+ 1  0  0  0  0  0  1
+ 1 -1  0  0  0  0  0
+ 1  0 -1  0  0  0  0
+ 1  0  0 -1  0  0  0
+ 1  0  0  0 -1  0  0
+ 1  0  0  0  0 -1  0
+ 1  0  0  0  0  0 -1
+end
diff --git a/third_party/cddlib/examples-ine/cube8.ine b/third_party/cddlib/examples-ine/cube8.ine
new file mode 100644
index 0000000..2028c83
--- /dev/null
+++ b/third_party/cddlib/examples-ine/cube8.ine
@@ -0,0 +1,21 @@
+* 8-dim hypercube
+H-representation
+begin
+   16  9  integer
+  1  1  0  0  0  0  0  0  0
+  1  0  1  0  0  0  0  0  0
+  1  0  0  1  0  0  0  0  0
+  1  0  0  0  1  0  0  0  0
+  1  0  0  0  0  1  0  0  0
+  1  0  0  0  0  0  1  0  0
+  1  0  0  0  0  0  0  1  0
+  1  0  0  0  0  0  0  0  1
+  1 -1  0  0  0  0  0  0  0
+  1  0 -1  0  0  0  0  0  0
+  1  0  0 -1  0  0  0  0  0
+  1  0  0  0 -1  0  0  0  0
+  1  0  0  0  0 -1  0  0  0
+  1  0  0  0  0  0 -1  0  0
+  1  0  0  0  0  0  0 -1  0
+  1  0  0  0  0  0  0  0 -1
+end
diff --git a/third_party/cddlib/examples-ine/cubocta.ine b/third_party/cddlib/examples-ine/cubocta.ine
new file mode 100644
index 0000000..954666c
--- /dev/null
+++ b/third_party/cddlib/examples-ine/cubocta.ine
@@ -0,0 +1,20 @@
+filename: cubocta.ine
+Cuboctahedron
+H-representation
+begin
+  14    4   integer 
+   1  1  0  0
+   1  0  1  0
+   1  0  0  1
+   1 -1  0  0
+   1  0 -1  0
+   1  0  0 -1
+   2  1  1  1
+   2 -1  1  1
+   2  1 -1  1
+   2  1  1 -1
+   2 -1 -1  1
+   2  1 -1 -1
+   2 -1  1 -1
+   2 -1 -1 -1
+end
diff --git a/third_party/cddlib/examples-ine/ex1.ine b/third_party/cddlib/examples-ine/ex1.ine
new file mode 100644
index 0000000..e04d917
--- /dev/null
+++ b/third_party/cddlib/examples-ine/ex1.ine
@@ -0,0 +1,11 @@
+* file name: ex1.ine
+*   2 dimensional polyhedron with three vertices (0,3), (-1, 4) and (-1,10) and 
+*   two extremal rays (2,1) and (1,2).
+H-representation
+begin
+  4   3   integer
+ 12   2  -1
+ -6  -1   2
+ -3   1   1
+  1   1   0 
+end
diff --git a/third_party/cddlib/examples-ine/infeas.ine b/third_party/cddlib/examples-ine/infeas.ine
new file mode 100644
index 0000000..394fc50
--- /dev/null
+++ b/third_party/cddlib/examples-ine/infeas.ine
@@ -0,0 +1,23 @@
+* File name: infeas.ine
+* The empty polytope. No vertices and rays.
+H-representation
+begin
+   13   7   integer
+ 0  1  0  0  0  0  0
+ 0  0  1  0  0  0  0
+ 0  0  0  1  0  0  0
+ 0  0  0  0  1  0  0
+ 0  0  0  0  0  1  0
+ -2 1  0  0  0  0   0
+ 0  0  0  0  0  0  1
+ 1 -1  0  0  0  0  0
+ 1  0 -1  0  0  0  0
+ 1  0  0 -1  0  0  0
+ 1  0  0  0 -1  0  0
+ 1  0  0  0  0 -1  0
+ 1  0  0  0  0  0  -1
+end
+minimize
+  0 1  1  1  1  1  1
+debug
+
diff --git a/third_party/cddlib/examples-ine/integralpoints.ine b/third_party/cddlib/examples-ine/integralpoints.ine
new file mode 100644
index 0000000..f7ace73
--- /dev/null
+++ b/third_party/cddlib/examples-ine/integralpoints.ine
@@ -0,0 +1,36 @@
+* This input file is an example for generating
+* integral solutions to the following system of linear inequalities:
+* 10 x1 + 7 x2  <= 70
+* 11 x1 + 5 x2  >= 55
+*    x1 >= 0,  x2 >= 0
+* By using the fact that  0<=x1<=7 and 0<=x2<=10, we apply
+* the (binary representation) substitution:
+    x1 =         4 x13 + 2 x12 + x11  (all binary variables)
+    x2 = 8 x24 + 4 x23 + 2 x22 + x21  (all binary variables) 
+* The reduced system of linear inequalities is the input data.
+* Since all integral (i.e. 0-1) solutions are extreme points,
+* the integral extreme points are in one-to-one correspondence
+* with the integral solutions to the original system.  In this
+* example, there are 194 extreme points among which 10 are
+* integral (0-1) solutions. 
+
+H-representation
+begin
+ 16  8   integer
+ 0  1  0  0  0  0  0  0
+ 0  0  1  0  0  0  0  0
+ 0  0  0  1  0  0  0  0
+ 0  0  0  0  1  0  0  0
+ 0  0  0  0  0  1  0  0
+ 0  0  0  0  0  0  1  0
+ 0  0  0  0  0  0  0  1
+ 1 -1  0  0  0  0  0  0
+ 1  0 -1  0  0  0  0  0
+ 1  0  0 -1  0  0  0  0
+ 1  0  0  0 -1  0  0  0
+ 1  0  0  0  0 -1  0  0
+ 1  0  0  0  0  0 -1  0
+ 1  0  0  0  0  0  0 -1
+  70 -40 -20 -10 -56 -28 -14 -7
+ -55  44  22  11  40  20  10  5
+end
diff --git a/third_party/cddlib/examples-ine/kkd18_4.ine b/third_party/cddlib/examples-ine/kkd18_4.ine
new file mode 100644
index 0000000..22a4560
--- /dev/null
+++ b/third_party/cddlib/examples-ine/kkd18_4.ine
@@ -0,0 +1,26 @@
+* kkd18_4.ine
+* This must be computed with rational arithmetic.
+H-representation
+begin
+18   5   integer
+3976210973720   -5964591245895   -33802508475500   -161110322828670   
+-745886931169976
+5   -10   -50   -220   -974
+5   -5   -35   -185   -899
+5   0   -10   -90   -574
+5   5   25   95   301
+5   10   70   400   2146
+5   15   125   855   5501
+5   20   190   1490   11026
+5   25   265   2335   19501
+5   30   350   3420   31826
+5   35   445   4775   49021
+5   40   550   6430   72226
+5   45   665   8415   102701
+5   50   790   10760   141826
+5   55   925   13495   191101
+5   60   1070   16650   252146
+5   65   1225   20255   326701
+-3976210973719   5964591245895   33802508475500   161110322828670   
+745886931169976
+end
diff --git a/third_party/cddlib/examples-ine/kkd27_5.ine b/third_party/cddlib/examples-ine/kkd27_5.ine
new file mode 100644
index 0000000..708d9aa
--- /dev/null
+++ b/third_party/cddlib/examples-ine/kkd27_5.ine
@@ -0,0 +1,35 @@
+* kkd27_5.ine
+* This must be computed with rational arithmetic.
+H-representation
+begin
+27 6 integer
+1172039901841798080   -1758060515119739835   -12306436783413558955   
+-72080893223436992535   -406122552605284841587   -2275777153240670950215
+6   -15   -85   -435   -2269   -12195
+6   -9   -67   -393   -2179   -12009
+6   -3   -37   -279   -1789   -10743
+6   3   5   -57   -739   -6057
+6   9   59   309   1475   6549
+6   15   125   855   5501   34455
+6   21   203   1617   12131   88641
+6   27   293   2631   22301   184407
+6   33   395   3933   37091   342093
+6   39   509   5559   57725   587799
+6   45   635   7545   85571   954105
+6   51   773   9927   122141   1480791
+6   57   923   12741   169091   2215557
+6   63   1085   16023   228221   3214743
+6   69   1259   19809   301475   4544049
+6   75   1445   24135   390941   6279255
+6   81   1643   29037   498851   8506941
+6   87   1853   34551   627581   11325207
+6   93   2075   40713   779651   14844393
+6   99   2309   47559   957725   19187799
+6   105   2555   55125   1164611   24492405
+6   111   2813   63447   1403261   30909591
+6   117   3083   72561   1676771   38605857
+6   123   3365   82503   1988381   47763543
+6   129   3659   93309   2341475   58581549
+-1172039901841798079   1758060515119739835   12306436783413558955   
+72080893223436992535   406122552605284841587   2275777153240670950215
+end
diff --git a/third_party/cddlib/examples-ine/kkd38_6.ine b/third_party/cddlib/examples-ine/kkd38_6.ine
new file mode 100644
index 0000000..e6b62f1
--- /dev/null
+++ b/third_party/cddlib/examples-ine/kkd38_6.ine
@@ -0,0 +1,50 @@
+* kkd38_6.ine
+* This must be computed with rational arithmetic.
+H-representation
+begin
+38 7 integer
+2919394390774395218459334   -4379091595292464054287507   
+-36492430237104184038520181   -253987324572060483286422939   
+-1691789494531258045567157717   -11149182918946980113429731347   
+-73511950112254277868261780941
+7   -21   -133   -777   -4669   -29001   -184813
+7   -14   -112   -728   -4564   -28784   -184372
+7   -7   -77   -595   -4109   -27307   -179717
+7   0   -28   -336   -2884   -21840   -156148
+7   7   35   91   -301   -7133   -75445
+7   14   112   728   4396   25424   141772
+7   21   203   1617   12131   88641   638723
+7   28   308   2800   23996   200368   1650188
+7   35   427   4319   41251   384335   3535267
+7   42   560   6216   65324   670992   6815180
+7   49   707   8533   97811   1098349   12216107
+7   56   868   11312   140476   1712816   20717068
+7   63   1043   14595   195251   2570043   33602843
+7   70   1232   18424   264236   3735760   52521932
+7   77   1435   22841   349699   5286617   79549555
+7   84   1652   27888   454076   7311024   117255692
+7   91   1883   33607   579971   9909991   168778163
+7   98   2128   40040   730156   13197968   237900748
+7   105   2387   47229   907571   17303685   329136347
+7   112   2660   55216   1115324   22370992   447815180
+7   119   2947   64043   1356691   28559699   600178027
+7   126   3248   73752   1635116   36046416   793474508
+7   133   3563   84385   1954211   45025393   1036066403
+7   140   3892   95984   2317756   55709360   1337536012
+7   147   4235   108591   2729699   68330367   1708799555
+7   154   4592   122248   3194156   83140624   2162225612
+7   161   4963   136997   3715411   100413341   2711758603
+7   168   5348   152880   4297916   120443568   3373047308
+7   175   5747   169939   4946291   143549035   4163578427
+7   182   6160   188216   5665324   170070992   5102815180
+7   189   6587   207753   6459971   200375049   6212340947
+7   196   7028   228592   7335356   234852016   7516007948
+7   203   7483   250775   8296771   273918743   9040090963
+7   210   7952   274344   9349676   318018960   10813446092
+7   217   8435   299341   10499699   367624117   12867674555
+7   224   8932   325808   11752636   423234224   15237291532
+-2919394390774395218459333   4379091595292464054287507   
+36492430237104184038520181   253987324572060483286422939   
+1691789494531258045567157717   11149182918946980113429731347   
+73511950112254277868261780941
+end
diff --git a/third_party/cddlib/examples-ine/nonfull.ine b/third_party/cddlib/examples-ine/nonfull.ine
new file mode 100644
index 0000000..3a66e17
--- /dev/null
+++ b/third_party/cddlib/examples-ine/nonfull.ine
@@ -0,0 +1,12 @@
+* filename: nonfull.ine
+* non full-dimensional polyhedron
+H-representation
+begin
+    6      4    integer
+  2   -1   0   0
+ -2    1   0   0
+  2    0  -1   0
+ -1    1   0   0
+ -1    0   1   0
+ -1    0   0   1
+end
diff --git a/third_party/cddlib/examples-ine/origin.ine b/third_party/cddlib/examples-ine/origin.ine
new file mode 100644
index 0000000..fc06da0
--- /dev/null
+++ b/third_party/cddlib/examples-ine/origin.ine
@@ -0,0 +1,15 @@
+* filename: origin.ine
+* The polytope consists of a single point, the origin.
+* cddlib now works properly for this input (version 090c and up).
+H-representation
+begin
+    7   7     integer
+ 0  1  0  0  0  0  0
+ 0  0  1  0  0  0  0
+ 0  0  0  1  0  0  0
+ 0  0  0  0  1  0  0
+ 0  0  0  0  0  1  0
+ 0  0  0  0  0  0  1
+ 0 -1 -1 -1 -1 -1 -1
+end
+ 
diff --git a/third_party/cddlib/examples-ine/reg24-5.ine b/third_party/cddlib/examples-ine/reg24-5.ine
new file mode 100644
index 0000000..e8185d4
--- /dev/null
+++ b/third_party/cddlib/examples-ine/reg24-5.ine
@@ -0,0 +1,30 @@
+* The facets of a self-dual 4-dim regular polytope
+* with 24 octahedron facets.  
+H-representation
+begin
+  24  5  integer
+ 1  1  1  1  1
+ 1  1  1  1 -1
+ 1  1  1 -1  1
+ 1  1  1 -1 -1
+ 1  1 -1  1  1
+ 1  1 -1  1 -1
+ 1  1 -1 -1  1
+ 1  1 -1 -1 -1
+ 1 -1  1  1  1
+ 1 -1  1  1 -1
+ 1 -1  1 -1  1
+ 1 -1  1 -1 -1
+ 1 -1 -1  1  1
+ 1 -1 -1  1 -1
+ 1 -1 -1 -1  1
+ 1 -1 -1 -1 -1
+ 1  2  0  0  0
+ 1  0  2  0  0
+ 1  0  0  2  0
+ 1  0  0  0  2
+ 1 -2  0  0  0
+ 1  0 -2  0  0
+ 1  0  0 -2  0
+ 1  0  0  0 -2
+end
diff --git a/third_party/cddlib/examples-ine/sampleh1.ine b/third_party/cddlib/examples-ine/sampleh1.ine
new file mode 100644
index 0000000..2ca4c63
--- /dev/null
+++ b/third_party/cddlib/examples-ine/sampleh1.ine
@@ -0,0 +1,10 @@
+* file name: sampleh1.ine
+* a 3-D cone containing no vertices and a line
+H-representation
+begin
+    3    4   integer
+ 2 -1 -1  0 
+ 0  1  0  0
+ 0  0  1  0
+end
+
diff --git a/third_party/cddlib/examples-ine/sampleh2.ine b/third_party/cddlib/examples-ine/sampleh2.ine
new file mode 100644
index 0000000..44b8b64
--- /dev/null
+++ b/third_party/cddlib/examples-ine/sampleh2.ine
@@ -0,0 +1,8 @@
+* file name: sampleh2.ine
+* a hyperplane with no vertices and rays
+H-representation
+begin
+    1    4   integer
+-1  0  0  1
+end
+
diff --git a/third_party/cddlib/examples-ine/sampleh3.ine b/third_party/cddlib/examples-ine/sampleh3.ine
new file mode 100644
index 0000000..705870f
--- /dev/null
+++ b/third_party/cddlib/examples-ine/sampleh3.ine
@@ -0,0 +1,8 @@
+* file name: sampleh3.ine
+* a 3-D homogeneous cone with no vertices
+H-representation
+begin
+    2    4   integer
+ 0  1  1  0 
+ 0  0  1  0 
+end
diff --git a/third_party/cddlib/examples-ine/sampleh4.ine b/third_party/cddlib/examples-ine/sampleh4.ine
new file mode 100644
index 0000000..d205777
--- /dev/null
+++ b/third_party/cddlib/examples-ine/sampleh4.ine
@@ -0,0 +1,15 @@
+* File name: sampleh4.ine
+* trivial inequalities: the polyhedron is the whole space.
+H-representation
+begin
+    6   4    integer
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+end
+maximize
+ 0  1  1  1
+ 
diff --git a/third_party/cddlib/examples-ine/sampleh5.ine b/third_party/cddlib/examples-ine/sampleh5.ine
new file mode 100644
index 0000000..63834fb
--- /dev/null
+++ b/third_party/cddlib/examples-ine/sampleh5.ine
@@ -0,0 +1,19 @@
+* file name: sampleh5.ine
+* test file for redundancy removal
+H-representation
+linearity 1 3
+begin
+    10   4   integer
+ 0  1  0  0
+ 0  0  1  0
+ 0  0  0  1
+ 0  2  0  0
+ 0  0  0  3
+ 1 -1 -1 -1
+ 1 -1 -1  0
+ 1  0 -1 -1
+ 1 -1  0 -1
+ 2 -1 -1 -1
+end
+maximize
+ 0  1  1  1
diff --git a/third_party/cddlib/examples-ine/sampleh6.ine b/third_party/cddlib/examples-ine/sampleh6.ine
new file mode 100644
index 0000000..fff163a
--- /dev/null
+++ b/third_party/cddlib/examples-ine/sampleh6.ine
@@ -0,0 +1,12 @@
+* file name: sampleh6.ine
+* test file for forced-equality checking
+H-representation
+begin
+    5   4   integer
+ 0  1  0  0
+ 0  0  1  0
+ 0  0  0  1
+ 1 -1 -1 -1 
+-1  1  1  0
+end
+
diff --git a/third_party/cddlib/examples-ine/sampleh7.ine b/third_party/cddlib/examples-ine/sampleh7.ine
new file mode 100644
index 0000000..16f9130
--- /dev/null
+++ b/third_party/cddlib/examples-ine/sampleh7.ine
@@ -0,0 +1,19 @@
+* test file for redundancy removal
+* the redundant rows are
+* 3 4 5 9 10
+* LP type =  1   Seed = 123
+H-representation
+begin
+  10  3  integer 
+ 0 1 0
+ 0 0 1
+ -10000 651 693
+ -10000 697 637
+ -10000 368 824
+ -10000 87 725
+ -10000 387 219
+ -10000 430 202
+ -10000 356 988
+ -10000 674 979
+end
+
diff --git a/third_party/cddlib/examples-ine/sampleh8.ine b/third_party/cddlib/examples-ine/sampleh8.ine
new file mode 100644
index 0000000..7a8698d
--- /dev/null
+++ b/third_party/cddlib/examples-ine/sampleh8.ine
@@ -0,0 +1,110 @@
+* test file for redundancy removal
+* the redundant rows are
+* 10 11 12 14 21 23 26 32 39 40 41 44 46 
+* 50 51 54 56 57 59 62 63 64 69 76 77 78 
+* 79 83 84 85 87 88 91 94 97
+* LP type =  1   Seed = 123
+H-representation
+begin
+  100  10  integer 
+ 0 1 0 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0
+ 0 0 0 0 0 0 0 1 0 0
+ 0 0 0 0 0 0 0 0 1 0
+ 0 0 0 0 0 0 0 0 0 1
+ -10000 651 693 84 697 637 340 368 824 663
+ -10000 725 742 387 219 751 430 202 745 356
+ -10000 377 674 979 167 815 988 412 676 475
+ -10000 710 275 949 284 629 1 422 974 510
+ -10000 692 945 725 488 271 430 724 225 726
+ -10000 465 258 450 343 87 168 161 103 919
+ -10000 86 79 656 493 832 514 791 506 29
+ -10000 63 630 874 918 877 272 992 119 480
+ -10000 598 926 42 378 288 66 927 919 99
+ -10000 256 354 106 979 641 160 395 225 837
+ -10000 202 388 900 471 160 751 300 731 818
+ -10000 342 502 825 563 639 261 194 984 990
+ -10000 266 406 364 216 448 675 145 694 866
+ -10000 362 983 732 378 134 902 946 877 205
+ -10000 926 125 949 888 234 630 275 707 67
+ -10000 634 81 192 768 652 822 311 961 895
+ -10000 983 597 743 314 696 585 367 396 826
+ -10000 511 545 539 97 111 996 477 35 372
+ -10000 474 103 152 753 159 120 929 161 563
+ -10000 549 793 307 456 444 184 149 792 894
+ -10000 839 488 917 192 168 788 959 245 25
+ -10000 750 165 338 182 392 381 962 117 713
+ -10000 738 827 943 507 914 814 951 663 815
+ -10000 493 339 225 351 450 788 992 167 792
+ -10000 174 773 247 247 180 517 445 599 596
+ -10000 303 26 967 39 535 4 7 335 217
+ -10000 772 173 189 291 668 191 610 677 544
+ -10000 848 642 40 125 865 100 259 534 648
+ -10000 501 622 398 624 118 416 30 17 236
+ -10000 218 602 697 892 322 314 361 573 985
+ -10000 958 856 608 492 563 478 311 614 740
+ -10000 582 913 938 949 715 338 39 726 998
+ -10000 521 805 708 221 624 316 24 127 322
+ -10000 491 189 412 774 418 200 193 633 315
+ -10000 144 679 383 447 989 939 441 631 482
+ -10000 940 241 153 215 149 457 254 207 125
+ -10000 80 873 207 904 684 600 940 431 825
+ -10000 75 100 353 637 432 377 940 758 164
+ -10000 627 721 915 710 8 786 96 17 576
+ -10000 247 104 607 432 540 164 597 282 317
+ -10000 553 787 881 942 152 318 44 509 518
+ -10000 181 772 942 993 916 900 713 694 812
+ -10000 625 26 638 261 385 196 676 717 572
+ -10000 11 911 296 761 658 631 757 817 400
+ -10000 964 989 879 491 490 751 490 97 405
+ -10000 28 461 343 452 480 504 411 242 892
+ -10000 768 746 347 352 724 487 185 767 287
+ -10000 924 228 958 554 352 460 765 742 430
+ -10000 737 986 499 993 721 29 821 416 813
+ -10000 483 458 249 781 584 321 779 209 570
+ -10000 222 166 975 53 765 256 859 469 164
+ -10000 82 696 181 166 375 145 415 496 261
+ -10000 540 309 526 918 439 489 846 417 775
+ -10000 699 145 327 873 467 866 711 393 603
+ -10000 445 668 729 224 654 970 279 789 680
+ -10000 28 659 365 306 186 520 427 176 191
+ -10000 919 58 859 436 105 35 560 716 14
+ -10000 641 238 340 524 205 255 272 14 472
+ -10000 817 22 904 782 573 847 649 100 280
+ -10000 925 277 930 495 736 960 276 726 657
+ -10000 336 54 357 979 941 765 593 630 286
+ -10000 65 113 104 915 222 158 580 520 188
+ -10000 42 617 904 414 588 857 416 94 988
+ -10000 716 49 849 67 607 99 934 184 217
+ -10000 458 32 500 552 108 980 255 998 935
+ -10000 860 936 115 268 231 281 948 209 766
+ -10000 293 330 940 570 857 421 574 481 364
+ -10000 959 949 372 757 306 757 752 312 137
+ -10000 769 303 737 260 187 695 946 723 433
+ -10000 980 564 605 363 776 893 558 616 603
+ -10000 945 23 632 820 54 677 795 616 625
+ -10000 629 692 585 33 674 703 304 489 949
+ -10000 52 903 723 746 692 232 917 933 211
+ -10000 367 566 364 318 607 818 424 234 605
+ -10000 915 305 354 829 469 447 925 188 799
+ -10000 387 596 946 888 751 614 539 295 299
+ -10000 969 902 10 739 289 923 808 28 151
+ -10000 537 152 546 442 182 301 258 265 762
+ -10000 671 288 343 199 694 391 457 947 250
+ -10000 415 734 423 435 696 111 53 227 784
+ -10000 800 992 720 76 40 419 608 182 683
+ -10000 619 627 278 526 453 960 772 992 86
+ -10000 836 623 0 21 371 4 676 964 658
+ -10000 258 677 64 968 62 219 587 308 299
+ -10000 224 823 258 449 575 526 908 585 405
+ -10000 593 660 663 341 36 79 50 242 293
+ -10000 80 761 270 460 82 133 874 559 41
+ -10000 169 539 257 827 222 743 873 929 523
+ -10000 403 167 259 377 76 160 749 448 902
+ -10000 290 5 276 509 342 909 193 443 552
+ -10000 928 326 757 405 598 765 143 833 150
+end
diff --git a/third_party/cddlib/examples-ine/samplelp.ine b/third_party/cddlib/examples-ine/samplelp.ine
new file mode 100644
index 0000000..4b353ca
--- /dev/null
+++ b/third_party/cddlib/examples-ine/samplelp.ine
@@ -0,0 +1,27 @@
+* Rational LP data
+H-representation
+begin
+   20   5   rational
+ 0       1         0           0             0
+ 0       0         1           0             0
+ 0       0         0           1             0
+ 0       0         0           0             1
+ 0    3008     20980      -97775       -101225
+ 0    3985     25643     -135871       -130580
+ 0    4324     26978     -133655       -168473
+ 0    3534     25361      -46243       -100407
+ 0    8836     40796     -176661       -215616
+ 0    5376     37562     -182576       -217615
+ 0    4982     33088      -98880       -167278
+ 0    4775     39122     -136701       -193393
+ 0    8046     42958     -225138       -256575
+ 0    8554     48955     -257370       -312877
+ 0    6147     45514     -165274       -227099
+ 0    8366     55140     -203989       -321623
+ 0   13479     68037     -174270       -341743
+ 0   21808     78302     -322990       -487539
+ 1  -8554/10000   -48955/10000                 0                   0
+ 1            0              0     -257370/10000       -312877/10000
+end
+maximize 
+ 0  1  1/2 1/3 1/4
diff --git a/third_party/cddlib/examples-ine/samplelp1.ine b/third_party/cddlib/examples-ine/samplelp1.ine
new file mode 100644
index 0000000..92779f3
--- /dev/null
+++ b/third_party/cddlib/examples-ine/samplelp1.ine
@@ -0,0 +1,15 @@
+* file name: samplelp1.ine
+* LP
+H-representation
+begin
+    6    4    integer
+ 1  1  0  0
+ 1  0  1  0
+ 1  0  0  1
+ 1 -1  0  0
+ 1  0 -1  0
+ 1  0  0 -1
+end
+maximize
+ 0  1  1  1
+
diff --git a/third_party/cddlib/examples-ine/samplelp2.ine b/third_party/cddlib/examples-ine/samplelp2.ine
new file mode 100644
index 0000000..d5e865c
--- /dev/null
+++ b/third_party/cddlib/examples-ine/samplelp2.ine
@@ -0,0 +1,14 @@
+* file name: samplelp2.ine
+* LP
+H-representation
+linearity 2  3  4
+begin
+    4    5   rational
+ 0  1  1  0   0
+ 0  0  2  0   0
+ 3  0 -1  0   0
+ 9/2  0  0 -1  -1
+end
+minimize
+0  2  3/5  0  0
+
diff --git a/third_party/cddlib/examples-ine/samplelp3.ine b/third_party/cddlib/examples-ine/samplelp3.ine
new file mode 100644
index 0000000..fdc0916
--- /dev/null
+++ b/third_party/cddlib/examples-ine/samplelp3.ine
@@ -0,0 +1,128 @@
+* file name: samplelp3.ine
+* LP given by floating-point real numbers
+H-representation
+begin
+      120      5    real
+  2.618033989E+00  1  0  0  0
+  8.472135943E+00  2.618033984E+00  1.618033988E+00 -1  0
+  8.472135943E+00  2.618033984E+00  1.618033988E+00  1  0
+  8.472135945E+00  2.618033984E+00  1  0  1.618033990E+00
+  8.472135945E+00  2.618033984E+00  1  0 -1.618033990E+00
+  8.472135946E+00  2.618033985E+00  0  1.618033990E+00  1
+  8.472135946E+00  2.618033985E+00  0  1.618033990E+00 -1
+  8.472135946E+00  2.618033985E+00  0 -1.618033990E+00  1
+  8.472135946E+00  2.618033985E+00  0 -1.618033990E+00 -1
+  8.472135960E+00  2.618033990E+00 -1  0  1.618033991E+00
+  8.472135954E+00  2.618033988E+00 -1  0 -1.618033990E+00
+  8.472135941E+00  2.618033984E+00 -1.618033987E+00  1  0
+  8.472135946E+00  2.618033984E+00 -1.618033992E+00 -1  0
+  8.472135966E+00  1.618033989E+00  2.618033995E+00  0  1
+  8.472135966E+00  1.618033989E+00  2.618033995E+00  0 -1
+  5.236067982E+00  1  1  1  1
+  5.236067982E+00  1  1  1 -1
+  5.236067980E+00  1  1 -1  1
+  5.236067980E+00  1  1 -1 -1
+  8.472135941E+00  1.618033989E+00  1  2.618033982E+00  0
+  8.472135936E+00  1.618033985E+00  1 -2.618033983E+00  0
+  8.472135965E+00  1.618033992E+00  0  1  2.618033991E+00
+  8.472135965E+00  1.618033992E+00  0  1 -2.618033991E+00
+  8.472135967E+00  1.618033992E+00  0 -1  2.618033993E+00
+  8.472135967E+00  1.618033992E+00  0 -1 -2.618033993E+00
+  8.472135996E+00  1.618034002E+00 -1  2.618033998E+00  0
+  8.472135985E+00  1.618033997E+00 -1 -2.618033998E+00  0
+  5.236067982E+00  1 -1  1  1
+  5.236067987E+00  1 -1  1 -1
+  5.236067983E+00  1 -1 -1  1
+  5.236067984E+00  1 -1 -1 -1
+  8.472135981E+00  1.618033999E+00 -2.618033991E+00  0  1
+  8.472135972E+00  1.618033998E+00 -2.618033988E+00  0 -1
+  8.472135864E+00  1  2.618033957E+00  1.618033969E+00  0
+  8.472135874E+00  1  2.618033960E+00 -1.618033969E+00  0
+  8.472135841E+00  1  1.618033964E+00  0  2.618033948E+00
+  8.472135864E+00  1  1.618033970E+00  0 -2.618033956E+00
+  8.472135865E+00  1  0  2.618033957E+00  1.618033968E+00
+  8.472135880E+00  1  0  2.618033963E+00 -1.618033971E+00
+  8.472135921E+00  1  0 -2.618033977E+00  1.618033982E+00
+  8.472135936E+00  1  0 -2.618033982E+00 -1.618033984E+00
+  8.472135950E+00  1 -1.618033984E+00  0  2.618033987E+00
+  8.472135975E+00  1 -1.618033991E+00  0 -2.618033996E+00
+  8.472135940E+00  1 -2.618033980E+00  1.618033987E+00  0
+  8.472135918E+00  1 -2.618033977E+00 -1.618033979E+00  0
+  2.618033992E+00  0  1  0  0
+  8.472135970E+00  0  2.618033994E+00  1  1.618033987E+00
+  8.472135966E+00  0  2.618033993E+00  1 -1.618033986E+00
+  8.472135969E+00  0  2.618033993E+00 -1  1.618033989E+00
+  8.472135965E+00  0  2.618033993E+00 -1 -1.618033988E+00
+  8.472135978E+00  0  1.618033994E+00  2.618033994E+00  1
+  8.472136017E+00  0  1.618034002E+00  2.618034006E+00 -1
+  8.472135962E+00  0  1.618033993E+00 -2.618033988E+00  1
+  8.472135995E+00  0  1.618033999E+00 -2.618033998E+00 -1
+  8.472135946E+00  0  1  1.618033984E+00  2.618033986E+00
+  8.472135944E+00  0  1  1.618033985E+00 -2.618033986E+00
+  8.472135922E+00  0  1 -1.618033980E+00  2.618033979E+00
+  2.618033990E+00  0  0  0  1
+  8.472135919E+00  0  1 -1.618033980E+00 -2.618033979E+00
+  2.618033989E+00  0  0  0 -1
+  2.618033988E+00  0  0  1  0
+  2.618033987E+00  0  0 -1  0
+  8.472135960E+00  0 -1  1.618033993E+00  2.618033991E+00
+  8.472135908E+00  0 -1.618033977E+00  2.618033974E+00  1
+  8.472135958E+00  0 -1  1.618033994E+00 -2.618033991E+00
+  8.472135901E+00  0 -1.618033978E+00  2.618033974E+00 -1
+  8.472135954E+00  0 -1 -1.618033990E+00  2.618033990E+00
+  8.472135908E+00  0 -1.618033976E+00 -2.618033974E+00  1
+  8.472135952E+00  0 -1 -1.618033991E+00 -2.618033990E+00
+  8.472135907E+00  0 -1.618033978E+00 -2.618033975E+00 -1
+  8.472135946E+00  0 -2.618033995E+00  1  1.618033991E+00
+  8.472135953E+00  0 -2.618033995E+00 -1  1.618033994E+00
+  8.472135953E+00  0 -2.618033998E+00  1 -1.618033992E+00
+  8.472135955E+00  0 -2.618033996E+00 -1 -1.618033994E+00
+  2.618033981E+00  0 -1  0  0
+  8.472135799E+00 -1  2.618033936E+00  1.618033957E+00  0
+  8.472135806E+00 -1  2.618033939E+00 -1.618033956E+00  0
+  8.472135741E+00 -1  1.618033945E+00  0  2.618033918E+00
+  8.472135889E+00 -1.618033990E+00  2.618033960E+00  0  1
+  8.472135767E+00 -1  1.618033951E+00  0 -2.618033925E+00
+  8.472135878E+00 -1.618033996E+00  2.618033953E+00  0 -1
+  8.472135831E+00 -1  0  2.618033947E+00  1.618033962E+00
+  5.236068004E+00 -1  1  1  1
+  8.472135830E+00 -1  0  2.618033948E+00 -1.618033961E+00
+  5.236067998E+00 -1  1  1 -1
+  8.472135931E+00 -1  0 -2.618033980E+00  1.618033984E+00
+  5.236067998E+00 -1  1 -1  1
+  8.472135930E+00 -1  0 -2.618033980E+00 -1.618033982E+00
+  5.236067992E+00 -1  1 -1 -1
+  8.472135952E+00 -1.618033993E+00  1  2.618033986E+00  0
+  8.472135960E+00 -1.618033995E+00  1 -2.618033988E+00  0
+  8.472135973E+00 -1 -1.618033989E+00  0  2.618033995E+00
+  8.472135979E+00 -1.618033991E+00  0  1  2.618033997E+00
+  8.472135996E+00 -1 -1.618033995E+00  0 -2.618034002E+00
+  8.472135951E+00 -1.618033985E+00  0  1 -2.618033988E+00
+  8.472135999E+00 -1.618033998E+00  0 -1  2.618034003E+00
+  8.472135970E+00 -1.618033992E+00  0 -1 -2.618033994E+00
+  8.472135949E+00 -1 -2.618033984E+00  1.618033989E+00  0
+  8.472135976E+00 -1.618033990E+00 -1  2.618033998E+00  0
+  8.472135886E+00 -1 -2.618033968E+00 -1.618033973E+00  0
+  8.472136008E+00 -1.618034002E+00 -1 -2.618034009E+00  0
+  5.236068025E+00 -1 -1  1  1
+  5.236068045E+00 -1 -1  1 -1
+  5.236067992E+00 -1 -1 -1  1
+  5.236067996E+00 -1 -1 -1 -1
+  8.472135733E+00 -1.618033890E+00 -2.618033931E+00  0  1
+  8.472135716E+00 -1.618033884E+00 -2.618033926E+00  0 -1
+  8.472135892E+00 -2.618033958E+00  1.618033988E+00  1  0
+  8.472135949E+00 -2.618033975E+00  1.618033999E+00 -1  0
+  8.472135850E+00 -2.618033938E+00  1  0  1.618033982E+00
+  8.472135860E+00 -2.618033944E+00  1  0 -1.618033981E+00
+  8.472135925E+00 -2.618033969E+00  0  1.618033991E+00  1
+  8.472135937E+00 -2.618033972E+00  0  1.618033995E+00 -1
+  8.472135998E+00 -2.618034011E+00  0 -1.618033985E+00  1
+  8.472136011E+00 -2.618034015E+00  0 -1.618033988E+00 -1
+  8.472136073E+00 -2.618034037E+00 -1  0  1.618034000E+00
+  8.472136082E+00 -2.618034044E+00 -1  0 -1.618033997E+00
+  8.472135976E+00 -2.618034005E+00 -1.618033977E+00  1  0
+  8.472136051E+00 -2.618034034E+00 -1.618033992E+00 -1  0
+  2.618033989E+00 -1  0  0  0
+end
+maximize
+  0 1 2.1 3.1 4.5
diff --git a/third_party/cddlib/examples-ine/samplelp4.ine b/third_party/cddlib/examples-ine/samplelp4.ine
new file mode 100644
index 0000000..4582d3b
--- /dev/null
+++ b/third_party/cddlib/examples-ine/samplelp4.ine
@@ -0,0 +1,128 @@
+* file name: lpmintest.ine
+H-representation
+begin
+      120      5    real
+  2.618033989E+00  1  0  0  0
+  8.472135943E+00  2.618033984E+00  1.618033988E+00 -1  0
+  8.472135943E+00  2.618033984E+00  1.618033988E+00  1  0
+  8.472135945E+00  2.618033984E+00  1  0  1.618033990E+00
+  8.472135945E+00  2.618033984E+00  1  0 -1.618033990E+00
+  8.472135946E+00  2.618033985E+00  0  1.618033990E+00  1
+  8.472135946E+00  2.618033985E+00  0  1.618033990E+00 -1
+  8.472135946E+00  2.618033985E+00  0 -1.618033990E+00  1
+  8.472135946E+00  2.618033985E+00  0 -1.618033990E+00 -1
+  8.472135960E+00  2.618033990E+00 -1  0  1.618033991E+00
+  8.472135954E+00  2.618033988E+00 -1  0 -1.618033990E+00
+  8.472135941E+00  2.618033984E+00 -1.618033987E+00  1  0
+  8.472135946E+00  2.618033984E+00 -1.618033992E+00 -1  0
+  8.472135966E+00  1.618033989E+00  2.618033995E+00  0  1
+  8.472135966E+00  1.618033989E+00  2.618033995E+00  0 -1
+  5.236067982E+00  1  1  1  1
+  5.236067982E+00  1  1  1 -1
+  5.236067980E+00  1  1 -1  1
+  5.236067980E+00  1  1 -1 -1
+  8.472135941E+00  1.618033989E+00  1  2.618033982E+00  0
+  8.472135936E+00  1.618033985E+00  1 -2.618033983E+00  0
+  8.472135965E+00  1.618033992E+00  0  1  2.618033991E+00
+  8.472135965E+00  1.618033992E+00  0  1 -2.618033991E+00
+  8.472135967E+00  1.618033992E+00  0 -1  2.618033993E+00
+  8.472135967E+00  1.618033992E+00  0 -1 -2.618033993E+00
+  8.472135996E+00  1.618034002E+00 -1  2.618033998E+00  0
+  8.472135985E+00  1.618033997E+00 -1 -2.618033998E+00  0
+  5.236067982E+00  1 -1  1  1
+  5.236067987E+00  1 -1  1 -1
+  5.236067983E+00  1 -1 -1  1
+  5.236067984E+00  1 -1 -1 -1
+  8.472135981E+00  1.618033999E+00 -2.618033991E+00  0  1
+  8.472135972E+00  1.618033998E+00 -2.618033988E+00  0 -1
+  8.472135864E+00  1  2.618033957E+00  1.618033969E+00  0
+  8.472135874E+00  1  2.618033960E+00 -1.618033969E+00  0
+  8.472135841E+00  1  1.618033964E+00  0  2.618033948E+00
+  8.472135864E+00  1  1.618033970E+00  0 -2.618033956E+00
+  8.472135865E+00  1  0  2.618033957E+00  1.618033968E+00
+  8.472135880E+00  1  0  2.618033963E+00 -1.618033971E+00
+  8.472135921E+00  1  0 -2.618033977E+00  1.618033982E+00
+  8.472135936E+00  1  0 -2.618033982E+00 -1.618033984E+00
+  8.472135950E+00  1 -1.618033984E+00  0  2.618033987E+00
+  8.472135975E+00  1 -1.618033991E+00  0 -2.618033996E+00
+  8.472135940E+00  1 -2.618033980E+00  1.618033987E+00  0
+  8.472135918E+00  1 -2.618033977E+00 -1.618033979E+00  0
+  2.618033992E+00  0  1  0  0
+  8.472135970E+00  0  2.618033994E+00  1  1.618033987E+00
+  8.472135966E+00  0  2.618033993E+00  1 -1.618033986E+00
+  8.472135969E+00  0  2.618033993E+00 -1  1.618033989E+00
+  8.472135965E+00  0  2.618033993E+00 -1 -1.618033988E+00
+  8.472135978E+00  0  1.618033994E+00  2.618033994E+00  1
+  8.472136017E+00  0  1.618034002E+00  2.618034006E+00 -1
+  8.472135962E+00  0  1.618033993E+00 -2.618033988E+00  1
+  8.472135995E+00  0  1.618033999E+00 -2.618033998E+00 -1
+  8.472135946E+00  0  1  1.618033984E+00  2.618033986E+00
+  8.472135944E+00  0  1  1.618033985E+00 -2.618033986E+00
+  8.472135922E+00  0  1 -1.618033980E+00  2.618033979E+00
+  2.618033990E+00  0  0  0  1
+  8.472135919E+00  0  1 -1.618033980E+00 -2.618033979E+00
+  2.618033989E+00  0  0  0 -1
+  2.618033988E+00  0  0  1  0
+  2.618033987E+00  0  0 -1  0
+  8.472135960E+00  0 -1  1.618033993E+00  2.618033991E+00
+  8.472135908E+00  0 -1.618033977E+00  2.618033974E+00  1
+  8.472135958E+00  0 -1  1.618033994E+00 -2.618033991E+00
+  8.472135901E+00  0 -1.618033978E+00  2.618033974E+00 -1
+  8.472135954E+00  0 -1 -1.618033990E+00  2.618033990E+00
+  8.472135908E+00  0 -1.618033976E+00 -2.618033974E+00  1
+  8.472135952E+00  0 -1 -1.618033991E+00 -2.618033990E+00
+  8.472135907E+00  0 -1.618033978E+00 -2.618033975E+00 -1
+  8.472135946E+00  0 -2.618033995E+00  1  1.618033991E+00
+  8.472135953E+00  0 -2.618033995E+00 -1  1.618033994E+00
+  8.472135953E+00  0 -2.618033998E+00  1 -1.618033992E+00
+  8.472135955E+00  0 -2.618033996E+00 -1 -1.618033994E+00
+  2.618033981E+00  0 -1  0  0
+  8.472135799E+00 -1  2.618033936E+00  1.618033957E+00  0
+  8.472135806E+00 -1  2.618033939E+00 -1.618033956E+00  0
+  8.472135741E+00 -1  1.618033945E+00  0  2.618033918E+00
+  8.472135889E+00 -1.618033990E+00  2.618033960E+00  0  1
+  8.472135767E+00 -1  1.618033951E+00  0 -2.618033925E+00
+  8.472135878E+00 -1.618033996E+00  2.618033953E+00  0 -1
+  8.472135831E+00 -1  0  2.618033947E+00  1.618033962E+00
+  5.236068004E+00 -1  1  1  1
+  8.472135830E+00 -1  0  2.618033948E+00 -1.618033961E+00
+  5.236067998E+00 -1  1  1 -1
+  8.472135931E+00 -1  0 -2.618033980E+00  1.618033984E+00
+  5.236067998E+00 -1  1 -1  1
+  8.472135930E+00 -1  0 -2.618033980E+00 -1.618033982E+00
+  5.236067992E+00 -1  1 -1 -1
+  8.472135952E+00 -1.618033993E+00  1  2.618033986E+00  0
+  8.472135960E+00 -1.618033995E+00  1 -2.618033988E+00  0
+  8.472135973E+00 -1 -1.618033989E+00  0  2.618033995E+00
+  8.472135979E+00 -1.618033991E+00  0  1  2.618033997E+00
+  8.472135996E+00 -1 -1.618033995E+00  0 -2.618034002E+00
+  8.472135951E+00 -1.618033985E+00  0  1 -2.618033988E+00
+  8.472135999E+00 -1.618033998E+00  0 -1  2.618034003E+00
+  8.472135970E+00 -1.618033992E+00  0 -1 -2.618033994E+00
+  8.472135949E+00 -1 -2.618033984E+00  1.618033989E+00  0
+  8.472135976E+00 -1.618033990E+00 -1  2.618033998E+00  0
+  8.472135886E+00 -1 -2.618033968E+00 -1.618033973E+00  0
+  8.472136008E+00 -1.618034002E+00 -1 -2.618034009E+00  0
+  5.236068025E+00 -1 -1  1  1
+  5.236068045E+00 -1 -1  1 -1
+  5.236067992E+00 -1 -1 -1  1
+  5.236067996E+00 -1 -1 -1 -1
+  8.472135733E+00 -1.618033890E+00 -2.618033931E+00  0  1
+  8.472135716E+00 -1.618033884E+00 -2.618033926E+00  0 -1
+  8.472135892E+00 -2.618033958E+00  1.618033988E+00  1  0
+  8.472135949E+00 -2.618033975E+00  1.618033999E+00 -1  0
+  8.472135850E+00 -2.618033938E+00  1  0  1.618033982E+00
+  8.472135860E+00 -2.618033944E+00  1  0 -1.618033981E+00
+  8.472135925E+00 -2.618033969E+00  0  1.618033991E+00  1
+  8.472135937E+00 -2.618033972E+00  0  1.618033995E+00 -1
+  8.472135998E+00 -2.618034011E+00  0 -1.618033985E+00  1
+  8.472136011E+00 -2.618034015E+00  0 -1.618033988E+00 -1
+  8.472136073E+00 -2.618034037E+00 -1  0  1.618034000E+00
+  8.472136082E+00 -2.618034044E+00 -1  0 -1.618033997E+00
+  8.472135976E+00 -2.618034005E+00 -1.618033977E+00  1  0
+  8.472136051E+00 -2.618034034E+00 -1.618033992E+00 -1  0
+  2.618033989E+00 -1  0  0  0
+end
+minimize
+  0 1 1 1 1
+
diff --git a/third_party/cddlib/examples-ine3d/cube3.ine b/third_party/cddlib/examples-ine3d/cube3.ine
new file mode 100644
index 0000000..0e0db06
--- /dev/null
+++ b/third_party/cddlib/examples-ine3d/cube3.ine
@@ -0,0 +1,12 @@
+filename: cube3.ine
+Hypercube of dimension 3
+H-representation
+begin
+    6    4    integer
+ 1  1  0  0
+ 1  0  1  0
+ 1  0  0  1
+ 1 -1  0  0
+ 1  0 -1  0
+ 1  0  0 -1
+end
diff --git a/third_party/cddlib/examples-ine3d/cubocta.ine b/third_party/cddlib/examples-ine3d/cubocta.ine
new file mode 100644
index 0000000..954666c
--- /dev/null
+++ b/third_party/cddlib/examples-ine3d/cubocta.ine
@@ -0,0 +1,20 @@
+filename: cubocta.ine
+Cuboctahedron
+H-representation
+begin
+  14    4   integer 
+   1  1  0  0
+   1  0  1  0
+   1  0  0  1
+   1 -1  0  0
+   1  0 -1  0
+   1  0  0 -1
+   2  1  1  1
+   2 -1  1  1
+   2  1 -1  1
+   2  1  1 -1
+   2 -1 -1  1
+   2  1 -1 -1
+   2 -1  1 -1
+   2 -1 -1 -1
+end
diff --git a/third_party/cddlib/examples-ine3d/dodeca.ine b/third_party/cddlib/examples-ine3d/dodeca.ine
new file mode 100644
index 0000000..ccf941b
--- /dev/null
+++ b/third_party/cddlib/examples-ine3d/dodeca.ine
@@ -0,0 +1,18 @@
+filename: dodeca.ine
+dodecahedron inequalities
+H-representation
+begin
+12  4  real
+  1  0  -0.61803398874989485  -1.
+  1  -1.  0  -0.61803398874989485
+  1  -0.61803398874989485  -1.  0
+  1  0  0.61803398874989485  1.
+  1  1.  0  0.61803398874989485
+  1  0.61803398874989485  1.  0
+  1  0  0.61803398874989485  -1.
+  1  -1.  0  0.61803398874989485
+  1  0.61803398874989485  -1.  0
+  1  0  -0.61803398874989485  1.
+  1  1.  0  -0.61803398874989485
+  1  -0.61803398874989485  1.  0
+end
diff --git a/third_party/cddlib/examples-ine3d/grcubocta.ine b/third_party/cddlib/examples-ine3d/grcubocta.ine
new file mode 100644
index 0000000..9e7bf55
--- /dev/null
+++ b/third_party/cddlib/examples-ine3d/grcubocta.ine
@@ -0,0 +1,32 @@
+filename: grcubocta.ine
+Great rhombicuboctahedron
+H-representation
+begin
+  26    4   integer 
+   1  1  0  0
+   1  0  1  0
+   1  0  0  1
+   1 -1  0  0
+   1  0 -1  0
+   1  0  0 -1
+   2  1  1  1
+   2 -1  1  1
+   2  1 -1  1
+   2  1  1 -1
+   2 -1 -1  1
+   2  1 -1 -1
+   2 -1  1 -1
+   2 -1 -1 -1
+   5  3  3  0
+   5  0  3  3
+   5  3  0  3 
+   5 -3  3  0
+   5  0 -3  3
+   5  3  0 -3 
+   5  3 -3  0
+   5  0  3 -3
+   5 -3  0  3 
+   5 -3 -3  0
+   5  0 -3 -3
+   5 -3  0 -3 
+end
diff --git a/third_party/cddlib/examples-ine3d/hexocta.ine b/third_party/cddlib/examples-ine3d/hexocta.ine
new file mode 100644
index 0000000..6054e1c
--- /dev/null
+++ b/third_party/cddlib/examples-ine3d/hexocta.ine
@@ -0,0 +1,55 @@
+filename: hexocta.ine
+Hexakis octahedron
+H-representation
+begin
+ 48  4  integer
+  3 -3  1 -2
+  3 -2 -1 -3
+  3 -2  1 -3
+  3 -3 -1 -2
+  3 -2  3 -1
+  3 -2  3  1
+  3 -3  2 -1
+  3 -3  2  1
+  3  1 -3  2
+  3  1 -2  3
+  3 -1 -3  2
+  3 -1 -2  3
+  3  1  2  3
+  3  1  3  2
+  3 -1  2  3
+  3 -1  3  2
+  3  3  1 -2
+  3  2 -1 -3
+  3  3 -1 -2
+  3  2  1 -3
+  3  2  3 -1
+  3  3  2 -1
+  3  2  3  1
+  3  3  2  1
+  3  2  1  3
+  3  3 -1  2
+  3  2 -1  3
+  3  3  1  2
+  3  2 -3  1
+  3  2 -3 -1
+  3  3 -2  1
+  3  3 -2 -1
+  3 -1  3 -2
+  3 -1  2 -3
+  3  1  3 -2
+  3  1  2 -3
+  3 -1 -2 -3
+  3 -1 -3 -2
+  3  1 -2 -3
+  3  1 -3 -2
+  3 -3 -1  2
+  3 -2  1  3
+  3 -2 -1  3
+  3 -3  1  2
+  3 -2 -3  1
+  3 -2 -3 -1
+  3 -3 -2  1
+  3 -3 -2 -1
+end
+
diff --git a/third_party/cddlib/examples-ine3d/icododeca.ine b/third_party/cddlib/examples-ine3d/icododeca.ine
new file mode 100644
index 0000000..f51f5f8
--- /dev/null
+++ b/third_party/cddlib/examples-ine3d/icododeca.ine
@@ -0,0 +1,40 @@
+Icosidodecahedron
+% rational numbers appearing here are
+% -3-5^(1/2), -1-5^(1/2) and their negatives.
+H-representation
+begin
+  32  4  real
+  1   -2.             -5.2360679775   0.
+  1   0.              -2.             -5.2360679775
+  1   0.              -5.2360679775   -3.2360679775
+  1   0.              -5.2360679775   3.2360679775
+  1   0.              -2.             5.2360679775
+  1   2.              -5.2360679775   0.
+  1   -5.2360679775   0.              -2.
+  1   -5.2360679775   -3.2360679775   0.
+  1   -5.2360679775   3.2360679775    0.
+  1   -5.2360679775   0.              2.
+  1   -3.2360679775   0.              -5.2360679775
+  1   -3.2360679775   -3.2360679775   -3.2360679775
+  1   -3.2360679775   3.2360679775    -3.2360679775
+  1   -3.2360679775   -3.2360679775   3.2360679775
+  1   -3.2360679775   3.2360679775    3.2360679775
+  1   -3.2360679775   0.              5.2360679775
+  1   3.2360679775    0.              -5.2360679775
+  1   3.2360679775    -3.2360679775   -3.2360679775
+  1   3.2360679775    3.2360679775    -3.2360679775
+  1   3.2360679775    -3.2360679775   3.2360679775
+  1   3.2360679775    3.2360679775    3.2360679775
+  1   3.2360679775    0.              5.2360679775
+  1   5.2360679775    0.              -2.
+  1   5.2360679775    -3.2360679775   0.
+  1   5.2360679775    3.2360679775    0.
+  1   5.2360679775    0.              2.
+  1   -2.             5.2360679775    0.
+  1   0.              2.              -5.2360679775
+  1   0.              5.2360679775    -3.2360679775
+  1   0.              5.2360679775    3.2360679775
+  1   0.              2.              5.2360679775
+  1   2.              5.2360679775    0.
+end
+
diff --git a/third_party/cddlib/examples-ine3d/rcubocta.ine b/third_party/cddlib/examples-ine3d/rcubocta.ine
new file mode 100644
index 0000000..a2d8231
--- /dev/null
+++ b/third_party/cddlib/examples-ine3d/rcubocta.ine
@@ -0,0 +1,32 @@
+filename: rcubocta.ine
+Rhombicuboctahedron
+H-representation
+begin
+  26    4   integer 
+   1  1  0  0
+   1  0  1  0
+   1  0  0  1
+   1 -1  0  0
+   1  0 -1  0
+   1  0  0 -1
+   2  1  1  1
+   2 -1  1  1
+   2  1 -1  1
+   2  1  1 -1
+   2 -1 -1  1
+   2  1 -1 -1
+   2 -1  1 -1
+   2 -1 -1 -1
+   3  2  2  0
+   3  0  2  2
+   3  2  0  2 
+   3 -2  2  0
+   3  0 -2  2
+   3  2  0 -2 
+   3  2 -2  0
+   3  0  2 -2
+   3 -2  0  2 
+   3 -2 -2  0
+   3  0 -2 -2
+   3 -2  0 -2 
+end
diff --git a/third_party/cddlib/examples-ine3d/rhomtria.ine b/third_party/cddlib/examples-ine3d/rhomtria.ine
new file mode 100644
index 0000000..5cc36cf
--- /dev/null
+++ b/third_party/cddlib/examples-ine3d/rhomtria.ine
@@ -0,0 +1,36 @@
+Rhombic Triacontahedron
+H-representation
+begin
+  30  4  real
+ .1  -1.54508497e-01 5.90169944e-02 -9.54915028e-02
+ .1  -9.54915028e-02 1.54508497e-01 -5.90169944e-02
+ .1  -9.54915028e-02 1.54508497e-01 5.90169944e-02
+ .1  -5.90169944e-02 -9.54915028e-02 1.54508497e-01
+ .1  0 0 1.90983006e-01
+ .1  -5.90169944e-02 9.54915028e-02 1.54508497e-01
+ .1  0 1.90983006e-01 0
+ .1  9.54915028e-02 -1.54508497e-01 5.90169944e-02
+ .1  5.90169944e-02 -9.54915028e-02 1.54508497e-01
+ .1  5.90169944e-02 9.54915028e-02 -1.54508497e-01
+ .1  9.54915028e-02 1.54508497e-01 -5.90169944e-02
+ .1  1.54508497e-01 -5.90169944e-02 -9.54915028e-02
+ .1  1.54508497e-01 5.90169944e-02 -9.54915028e-02
+ .1  1.90983006e-01 0 0
+ .1  1.54508497e-01 5.90169944e-02 9.54915028e-02
+ .1  1.54508497e-01 -5.90169944e-02 9.54915028e-02
+ .1  9.54915028e-02 1.54508497e-01 5.90169944e-02
+ .1  5.90169944e-02 9.54915028e-02 1.54508497e-01
+ .1  5.90169944e-02 -9.54915028e-02 -1.54508497e-01
+ .1  9.54915028e-02 -1.54508497e-01 -5.90169944e-02
+ .1  0 -1.90983006e-01 0
+ .1  -5.90169944e-02 9.54915028e-02 -1.54508497e-01
+ .1  0 0 -1.90983006e-01
+ .1  -5.90169944e-02 -9.54915028e-02 -1.54508497e-01
+ .1  -1.54508497e-01 5.90169944e-02 9.54915028e-02
+ .1  -1.54508497e-01 -5.90169944e-02 9.54915028e-02
+ .1  -9.54915028e-02 -1.54508497e-01 -5.90169944e-02
+ .1  -9.54915028e-02 -1.54508497e-01 5.90169944e-02
+ .1  -1.54508497e-01 -5.90169944e-02 -9.54915028e-02
+ .1  -1.90983006e-01 0 0
+end
+
diff --git a/third_party/cddlib/examples-ml/Combinatorica5.m b/third_party/cddlib/examples-ml/Combinatorica5.m
new file mode 100644
index 0000000..434f7a4
--- /dev/null
+++ b/third_party/cddlib/examples-ml/Combinatorica5.m
@@ -0,0 +1,3807 @@
+(* Combinatorica5.m package,  Modified version of Combinatorica.m
+   Modified by Komei Fukuda November 1998.
+   Please look for the string "Fukuda" for modified places. 
+*) 
+
+(* :Title: Combinatorica 
+*)
+(* :Author:
+	Steven S. Skiena 
+*)
+(* :Summary:
+
+	Implementing Discrete Mathematics: Combinatorics and Graph Theory
+				with Mathematica
+
+This package contains all the programs from the book, "Implementing
+Discrete Mathematics: Combinatorics and Graph Theory with Mathematica"
+by Steven S. Skiena, Addison-Wesley Publishing Co., Advanced Book Program,
+350 Bridge Parkway, Redwood City CA 94065.  ISBN 0-201-50943-1.
+For ordering information, call 1-800-447-2226.
+
+These programs can be obtained on Macintosh and MS-DOS disks by sending
+$15.00 to Discrete Mathematics Disk, Wolfram Research Inc.,
+PO Box 6059, Champaign, IL 61826-9905. (217)-398-0700.
+
+Any comments, bug reports, or requests to get on the Combinatorica
+mailing list should be forwarded to:
+
+	Steven Skiena
+	Department of Computer Science
+	State University of New York
+	Stony Brook, NY 11794
+
+	skiena@sbcs.sunysb.edu
+
+	(516)-632-9026 / 8470
+*)
+(* :Context: DiscreteMath`Combinatorica` 
+*)
+(* :Package Version: .9	(2/29/92 Beta Release)
+*)
+(* :Copyright: Copyright 1990, 1991, 1992 by Steven S. Skiena
+
+This package may be copied in its entirety for nonprofit purposes only.
+Sale, other than for the direct cost of the media, is prohibited.  This
+copyright notice must accompany all copies.
+
+The author, Wolfram Research, and Addison-Wesley Publishing Company,
+Inc. make no representations, express or implied, with respond to this
+documentation, of the software it describes and contains, including
+without limitations, any implied warranties of mechantability or fitness
+for a particular purpose, all of which are expressly disclaimed.  The
+author, Wolfram Research, or Addison-Wesley, their licensees,
+distributors and dealers shall in no event be liable for any indirect,
+incidental, or consequential damages.
+*)
+(* :History:
+	Version .8 by Steven S. Skiena, July 1991.
+	Version .7 by Steven S. Skiena, January 1991. 
+	Version .6 by Steven S. Skiena, June 1990.
+*)
+(* :Keywords:
+	adjacency, automorphism, chromatic, clique, coloring,
+	combination, composition, connected components, connectivity, cycle,
+	de Bruijn, degree, derangement, Dijkstra, Durfee,
+	embedding, equivalence, Eulerian, Ferrers,
+	geodesic, graph, Gray code, group, Hamiltonian cycle, Harary, Hasse,
+	heap, hypercube, interval, inversion, involution, isomorphism,
+	Josephus, network,
+	partition, perfect, permutation, planar graph, Polya, pseudograph,
+	self-loop, sequence, signature, simple, spanning tree,
+	stable marriage, star, Stirling,
+	transitive closure, traveling salesman tour, tree, Turan,
+	vertex cover, wheel, Young tableau
+*)
+(* :Source:
+	Steven Skiena: "Implementing Discrete Mathematics: Combinatorics
+			and Graph Theory with Mathematica", 
+			Addison-Wesley Publishing Co.
+*)
+(* :Mathematica Version: 2.0
+*)
+
+BeginPackage["DiscreteMath`Combinatorica`"]
+
+(* Change: unprotect all Combinatorica functions 
+   by K. Fukuda 930501  *)
+Unprotect[
+AcyclicQ,
+AddEdge,
+AddVertex,
+AllPairsShortestPath,
+ArticulationVertices,
+Automorphisms,
+Backtrack,
+BiconnectedComponents,
+BiconnectedComponents,
+BiconnectedQ,
+BinarySearch,
+BinarySubsets,
+BipartiteMatching,
+BipartiteQ,
+BreadthFirstTraversal,
+Bridges,
+CartesianProduct,
+CatalanNumber,
+ChangeEdges,
+ChangeVertices,
+ChromaticNumber,
+ChromaticPolynomial,
+CirculantGraph,
+CircularVertices,
+CliqueQ,
+CodeToLabeledTree,
+Cofactor,
+CompleteQ,
+Compositions,
+ConnectedComponents,
+ConnectedQ,
+ConstructTableau,
+Contract,
+CostOfPath,
+Cycle,
+DeBruijnSequence,
+DegreeSequence,
+DeleteCycle,
+DeleteEdge,
+DeleteFromTableau,
+DeleteVertex,
+DepthFirstTraversal,
+DerangementQ,
+Derangements,
+Diameter,
+Dijkstra,
+DilateVertices,
+DistinctPermutations,
+Distribution,
+DurfeeSquare,
+Eccentricity,
+EdgeChromaticNumber,
+EdgeColoring,
+EdgeConnectivity,
+Edges,
+Element,
+EmptyGraph,
+EmptyQ,
+EncroachingListSet,
+EquivalenceClasses,
+EquivalenceRelationQ,
+Equivalences,
+EulerianCycle,
+EulerianQ,
+Eulerian,
+ExactRandomGraph,
+ExpandGraph,
+ExtractCycles,
+FerrersDiagram,
+FindCycle,
+FindSet,
+FirstLexicographicTableau,
+FromAdjacencyLists,
+FromCycles,
+FromInversionVector,
+FromOrderedPairs,
+FromUnorderedPairs,
+FromOrderedTriples,
+FromUnorderedTriples,
+FunctionalGraph,
+Girth,
+GraphCenter,
+GraphComplement,
+GraphDifference,
+GraphIntersection,
+GraphJoin,
+GraphPower,
+GraphProduct,
+GraphSum,
+GraphUnion,
+GraphicQ,
+GrayCode,
+GridGraph,
+HamiltonianCycle,
+HamiltonianQ,
+Harary,
+HasseDiagram,
+HeapSort,
+Heapify,
+HideCycles,
+Hypercube,
+IdenticalQ,
+IncidenceMatrix,
+IndependentSetQ,
+Index,
+InduceSubgraph,
+InitializeUnionFind,
+InsertIntoTableau,
+IntervalGraph,
+InversePermutation,
+Inversions,
+InvolutionQ,
+IsomorphicQ,
+IsomorphismQ,
+Isomorphism,
+Josephus,
+KSubsets,
+K,
+LabeledTreeToCode,
+LastLexicographicTableau,
+LexicographicPermutations,
+LexicographicSubsets,
+LineGraph,
+LongestIncreasingSubsequence,
+M,
+MakeGraph,
+MakeSimple,
+MakeUndirected,
+MaximalMatching,
+MaximumAntichain,
+MaximumClique,
+MaximumIndependentSet,
+MaximumSpanningTree,
+MinimumChainPartition,
+MinimumChangePermutations,
+MinimumSpanningTree,
+MinimumVertexCover,
+MultiplicationTable,
+NetworkFlowEdges,
+NetworkFlow,
+NextComposition,
+NextKSubset,
+NextPartition,
+NextPermutation,
+NextSubset,
+NextTableau,
+NormalizeVertices,
+NthPair,
+NthPermutation,
+NthSubset,
+NumberOfCompositions,
+NumberOfDerangements,
+NumberOfInvolutions,
+NumberOfPartitions,
+NumberOfPermutationsByCycles,
+NumberOfSpanningTrees,
+NumberOfTableaux,
+OrientGraph,
+PartialOrderQ,
+PartitionQ,
+Partitions,
+PathConditionGraph,
+Path,
+PerfectQ,
+PermutationGroupQ,
+PermutationQ,
+Permute,
+PlanarQ,
+PointsAndLines,
+Polya,
+PseudographQ,
+RadialEmbedding,
+Radius,
+RandomComposition,
+RandomGraph,
+RandomHeap,
+RandomKSubset,
+RandomPartition,
+RandomPermutation1,
+RandomPermutation2,
+RandomPermutation,
+RandomSubset,
+RandomTableau,
+RandomTree,
+RandomVertices,
+RankGraph,
+RankPermutation,
+RankSubset,
+RankedEmbedding,
+ReadGraph,
+RealizeDegreeSequence,
+RegularGraph,
+RegularQ,
+RemoveSelfLoops,
+RevealCycles,
+RootedEmbedding,
+RotateVertices,
+Runs,
+SamenessRelation,
+SelectionSort,
+SelfComplementaryQ,
+ShakeGraph,
+ShortestPathSpanningTree,
+ShortestPath,
+ShowGraph,
+ShowLabeledGraph,
+ShowWeightedGraph,
+ShowWeightedLabeledGraph,
+SignaturePermutation,
+SimpleQ,
+Spectrum,
+SpringEmbedding,
+SpringEmbeddingDirected,
+StableMarriage,
+Star,
+StirlingFirst,
+StirlingSecond,
+Strings,
+StronglyConnectedComponents,
+Subsets,
+TableauClasses,
+TableauQ,
+TableauxToPermutation,
+Tableaux,
+ToAdjacencyLists,
+ToCycles,
+ToInversionVector,
+ToOrderedPairs,
+ToUnorderedPairs,
+ToOrderedTriples,
+TopologicalSort,
+TransitiveClosure,
+TransitiveQ,
+TransitiveReduction,
+TranslateVertices,
+TransposePartition,
+TransposeTableau,
+TravelingSalesmanBounds,
+TravelingSalesman,
+TreeQ,
+TriangleInequalityQ,
+Turan,
+TwoColoring,
+UndirectedQ,
+UnionSet,
+UnweightedQ,
+V,
+VertexColoring,
+VertexConnectivity,
+VertexCoverQ,
+Vertices,
+WeaklyConnectedComponents,
+Wheel,
+WriteGraph,
+DilworthGraph ]
+(* end Change  *)
+
+Graph::usage = "Graph[g,v] is the header for a graph object where g is an adjacency matrix and v is a list of vertices."
+
+Directed::usage = "Directed is an option to inform certain functions that the graph is directed."
+
+Undirected::usage = "Undirected is an option to inform certain functions that the graph is undirected."
+
+Edge::usage = "Edge is an option to inform certain functions to work with edges instead of vertices."
+
+All::usage = "All is an option to inform certain functions to return all solutions, instead of just the first one."
+
+AcyclicQ::usage = "AcyclicQ[g] returns True if graph g is acyclic. AcyclicQ[g,Directed] returns True if g is a directed acyclic graph."
+
+AddEdge::usage = "AddEdge[g,{x,y}] returns graph g with a new undirected edge {x,y}, while AddEdge[g,{x,y},Directed] returns graph g with a new directed edge {x,y}."
+
+AddVertex::usage = "AddVertex[g] adds a disconnected vertex to graph g."
+
+AllPairsShortestPath::usage = "AllPairsShortestPath[g] returns a matrix, where the (i,j)th entry is the length of the shortest path in g between vertices i and j."
+
+ArticulationVertices::usage = "ArticulationVertices[g] returns a list of all articulation vertices in graph g, vertices whose removal will disconnect the graph."
+
+Automorphisms::usage = "Automorphisms[g] finds the automorphism group of a graph g, the set of isomorphisms of g with itself."
+
+Backtrack::usage = "Backtrack[s,partialQ,solutionQ] performs a backtrack search of the state space s, expanding a partial solution so long as partialQ is True and returning the first complete solution, as identified by solutionQ."
+
+BiconnectedComponents::usage = "BiconnectedComponents[g] returns a list of all the biconnected components of graph g."
+
+BiconnectedComponents::usage = "BiconnectedComponents[g] returns a list of the biconnected components of graph g."
+
+BiconnectedQ::usage = "BiconnectedQ[g] returns True if graph g is biconnected."
+
+BinarySearch::usage = "BinarySearch[l,k,f] searches sorted list l for key k and returns the the position of l containing k, with f a function which extracts the key from an element of l."
+
+BinarySubsets::usage = "BinarySubsets[l] returns all subsets of l ordered according to the binary string defining each subset."
+
+BipartiteMatching::usage = "BipartiteMatching[g] returns the list of edges associated with a maximum matching in bipartite graph g."
+
+BipartiteQ::usage = "BipartiteQ[g] returns True if graph g is bipartite."
+
+BreadthFirstTraversal::usage = "BreadthFirstTraversal[g,v] performs a breadth-first traversal of graph g starting from vertex v, and returns a list of vertices in the order in which they were encountered."
+
+Bridges::usage = "Bridges[g] returns a list of the bridges of graph g, the edges whose removal disconnects the graph."
+
+CartesianProduct::usage = "CartesianProduct[l1,l2] returns the Cartesian product of lists l1 and l2."
+
+CatalanNumber::usage = "CatalanNumber[n] computes the nth Catalan number, for a positive integer n."
+
+ChangeEdges::usage = "ChangeEdges[g,e] constructs a graph with the adjacency matrix e and the embedding of graph g."
+
+ChangeVertices::usage = "ChangeVertices[g,v] constructs a graph with the adjacency matrix of graph g and the list v as its embedding."
+
+ChromaticNumber::usage = "ChromaticNumber[g] computes the chromatic number of the graph, the fewest number of colors necessary to color the graph."
+
+ChromaticPolynomial::usage = "ChromaticPolynomial[g,z] returns the chromatic polynomial P(z) of graph g, which counts the number of ways to color g with exactly z colors."
+
+CirculantGraph::usage = "CirculantGraph[n,l] constructs a circulant graph on n vertices, meaning the ith vertex is adjacent to the (i+j)th and (i-j)th vertex, for each j in list l."
+
+CircularVertices::usage = "CircularVertices[n] constructs a list of n points equally spaced on a circle."
+
+CliqueQ::usage = "CliqueQ[g,c] returns True if the list of vertices c defines a clique in graph g."
+
+CodeToLabeledTree::usage = "CodeToLabeledTree[l] constructs the unique labeled tree on n vertices from the Prufer code l, which consists of a list of n-2 integers from 1 to n."
+
+Cofactor::usage = "Cofactor[m,{i,j}] calculates the (i,j)th cofactor of matrix m."
+
+CompleteQ::usage = "CompleteQ[g] returns True if graph g is complete."
+
+Compositions::usage = "Compositions[n,k] returns a list of all compositions of integer n into k parts."
+
+ConnectedComponents::usage = "ConnectedComponents[g] returns the vertices of graph g partitioned into connected components."
+
+ConnectedQ::usage = "ConnectedQ[g] returns True if undirected graph g is connected. ConnectedQ[g,Directed] and ConnectedQ[g,Undirected] returns True if g is strongly or weakly connected, respectively."
+
+ConstructTableau::usage = "ConstructTableau[p] performs the bumping algorithm repeatedly on each element of permutation p, resulting in a distinct Young tableau."
+
+Contract::usage = "Contract[g,{x,y}] gives the graph resulting from contracting edge {x,y} of graph g."
+
+CostOfPath::usage = "CostOfPath[g,p] sums up the weights of the edges in graph g defined by the path p."
+
+Cycle::usage = "Cycle[n] constructs the cycle on n vertices, a 2-regular connected graph."
+
+DeBruijnSequence::usage = "DeBruijnSequence[a,n] constructs a de Bruijn sequence on the alphabet described by list a, the shortest sequence such that every string of length n on a occurs as a contiguous subrange of the sequence."
+
+DegreeSequence::usage = "DegreeSequence[g] returns the sorted degree sequence of graph g."
+
+DeleteCycle::usage = "DeleteCycle[g,c] deletes undirected cycle c from graph g. DeleteCycle[g,c,Directed] deletes directed cycle c from graph g."
+
+DeleteEdge::usage = "DeleteEdge[g,{x,y}] returns graph g minus undirected edge {x,y}, while DeleteEdge[g,{x,y},Directed] returns graph g minus directed edge {x,y}."
+
+DeleteFromTableau::usage = "DeleteFromTableau[t,r] deletes the last element of row r from Young tableaux t."
+
+DeleteVertex::usage = "DeleteVertex[g,v] deletes vertex v from graph g."
+
+DepthFirstTraversal::usage = "DepthFirstTraversal[g,v] performs a depth-first traversal of graph g starting from vertex v, and returns a list of vertices in the order in which they were encountered."
+
+DerangementQ::usage = "DerangementQ[p] tests whether permutation p is a derangement, a permutation without a fixed point."
+
+Derangements::usage = "Derangements[p] constructs all derangements of permutation p."
+
+Diameter::usage = "Diameter[g] computes the diameter of graph g, the length of the longest shortest path between two vertices of g."
+
+Dijkstra::usage = "Dijkstra[g,v] returns the shortest path spanning tree and associated distances from vertex v of graph g."
+
+DilateVertices::usage = "DilateVertices[v,d] multiplies each coordinate of each vertex position in list l by d, thus dilating the embedding."
+
+DistinctPermutations::usage = "DistinctPermutations[l] returns all permutations of the multiset described by list l."
+
+Distribution::usage = "Distribution[l,set] lists the frequency of occurrence of each element of set in list l."
+
+DurfeeSquare::usage = "DurfeeSquare[p] computes the number of rows involved in the Durfee square of partition p, the side of the largest sized square contained within the Ferrers diagram of p."
+
+Eccentricity::usage = "Eccentricity[g] computes the eccentricity of each vertex v of graph g, the length of the longest shortest path from v."
+
+EdgeChromaticNumber::usage = "EdgeChromaticNumber[g] computes the fewest number of colors necessary to color each edge of graph g, so that no two edges incident on the same vertex have the same color."
+
+EdgeColoring::usage = "EdgeColoring[g] uses Brelaz's heuristic to find a good, but not necessarily minimal, edge coloring of graph g."
+
+EdgeConnectivity::usage = "EdgeConnectivity[g] computes the minimum number of edges whose deletion from graph g disconnects it."
+
+Edges::usage = "Edges[g] returns the adjacency matrix of graph g."
+
+Element::usage = "Element[a,l] returns the lth element of nested list a, where l is a list of indices"
+
+EmptyGraph::usage = "EmptyGraph[n] generates an empty graph on n vertices."
+
+EmptyQ::usage = "EmptyQ[g] returns True if graph g contains no edges."
+
+EncroachingListSet::usage = "EncroachingListSet[p] constructs the encroaching list set associated with permutation p."
+
+EquivalenceClasses::usage = "EquivalenceClasses[r] identifies the equivalence classes among the elements of matrix r."
+
+EquivalenceRelationQ::usage = "EquivalenceRelationQ[r] returns True if the matrix r defines an equivalence relation. EquivalenceRelationQ[g] tests whether the adjacency matrix of graph g defines an equivalence relation."
+
+Equivalences::usage = "Equivalences[g,h] lists the vertex equivalence classes between graphs g and h defined by the all-pairs shortest path heuristic."
+
+EulerianCycle::usage = "EulerianCycle[g] finds an Eulerian circuit of undirected graph g if one exists. EulerianCycle[g,Directed] finds an Eulerian circuit of directed graph g if one exists."
+
+EulerianQ::usage = "EulerianQ[g] returns True if graph g is Eulerian, meaning there exists a tour which includes each edge exactly once. EulerianQ[g,Directed] returns True if directed graph g is Eulerian."
+
+Eulerian::usage = "Eulerian[n,k] computes the number of permutations of length n with k runs."
+
+ExactRandomGraph::usage = "ExactRandomGraph[n,e] constructs a random labeled graph of exactly e edges and n vertices."
+
+ExpandGraph::usage = "ExpandGraph[g,n] expands graph g to n vertices by adding disconnected vertices."
+
+ExtractCycles::usage = "ExtractCycles[g] returns a list of edge disjoint cycles in graph g."
+
+FerrersDiagram::usage = "FerrersDiagram[p] draws a Ferrers diagram of integer partition p."
+
+FindCycle::usage = "FindCycle[g] finds a list of vertices which define an undirected cycle in graph g. FindCycle[g,Directed] finds a directed cycle in graph g."
+
+FindSet::usage = "FindSet[n,s] returns the root of the set containing n in union-find data structure s."
+
+FirstLexicographicTableau::usage = "FirstLexicographicTableau[p] constructs the first Young tableau with shape described by partition p."
+
+FromAdjacencyLists::usage = "FromAdjacencyLists[l] constructs an adjacency matrix representation for a graph with adjacency lists l, using a circular embedding. FromAdjacencyLists[l,v] uses v as the embedding for the resulting graph."
+
+FromCycles::usage = "FromCycles[c] restores a cycle structure c to the original permutation."
+
+FromInversionVector::usage = "FromInversionVector[v] reconstructs the unique permutation with  inversion vector v."
+
+FromOrderedPairs::usage = "FromOrderedPairs[l] constructs an adjacency matrix representation from a list of ordered pairs l, using a circular embedding. FromOrderedPairs[l,v] uses v as the embedding for the resulting graph."
+
+FromUnorderedPairs::usage = "FromUnorderedPairs[l] constructs an adjacency matrix representation from a list of unordered pairs l, using a circular embedding. FromUnorderedPairs[l,v] uses v as the embedding for the resulting graph."
+
+FromOrderedTriples::usage = "FromOrderedTriples[l] constructs an adjacency matrix representation from a list of ordered triples l, using a circular embedding."
+
+FromUnorderedTriples::usage = "FromUnorderedTriples[l] constructs an adjacency matrix representation from a list of ordered triples l, using a circular embedding."
+
+FunctionalGraph::usage = "FunctionalGraph[f,n] constructs the functional digraph on n vertices defined by integer function f."
+
+Girth::usage = "Girth[g] computes the length of the shortest cycle in unweighted graph g."
+
+GraphCenter::usage = "GraphCenter[g] returns a list of the vertices of graph g with minimum eccentricity."
+
+GraphComplement::usage = "GraphComplement[g] returns the complement of graph g."
+
+GraphDifference::usage = "GraphDifference[g,h] constructs the graph resulting from subtracting the adjacency matrix of graph g from that of graph h."
+
+GraphIntersection::usage = "GraphIntersection[g,h] constructs the graph defined by the edges which are in both graph g and graph h."
+
+GraphJoin::usage = "GraphJoin[g,h] constructs the join of graphs g and h."
+
+GraphPower::usage = "GraphPower[g,k] computes the kth power of graph g, meaning there is an edge between any pair of vertices of g with a path between them of length at most k."
+
+GraphProduct::usage = "GraphProduct[g,h] constructs the product of graphs g and h."
+
+GraphSum::usage = "GraphSum[g,h] constructs the graph resulting from adding the adjacency matrices of graphs g and h."
+
+GraphUnion::usage = "GraphUnion[g,h] constructs the union of graphs g and h. GraphUnion[n,g] constructs n copies of graph g, where n is an integer."
+
+GraphicQ::usage = "GraphicQ[s] returns True if the list of integers s is graphic, and thus represents a degree sequence of some graph."
+
+GrayCode::usage = "GrayCode[l] constructs a binary reflected Gray code on set l."
+
+GridGraph::usage = "GridGraph[n,m] constructs an n*m grid graph, the product of paths on n and m vertices."
+
+HamiltonianCycle::usage = "HamiltonianCycle[g] finds a Hamiltonian cycle in graph g if one exists. HamiltonianCycle[g,All] returns all Hamiltonian cycles of graph g."
+
+HamiltonianQ::usage = "HamiltonianQ[g] returns True if there exists a Hamiltonian cycle in graph g, in other words, if there exists a cycle which visits each vertex exactly once."
+
+Harary::usage = "Harary[k,n] constructs the minimal k-connected graph on n vertices."
+
+HasseDiagram::usage = "HasseDiagram[g] constructs a Hasse diagram of the relation defined by directed acyclic graph g."
+
+HeapSort::usage = "HeapSort[l] performs a heap sort on the items of list l."
+
+Heapify::usage = "Heapify[p] builds a heap from permutation p."
+
+HideCycles::usage = "HideCycles[c] canonically encodes the cycle structure c into a unique permutation."
+
+Hypercube::usage = "Hypercube[n] constructs an n-dimensional hypercube."
+
+IdenticalQ::usage = "IdenticalQ[g,h] returns True if graphs g and h have identical adjacency matrices."
+
+IncidenceMatrix::usage = "IncidenceMatrix[g] returns the (0,1) incidence matrix of graph g, which has a row for each vertex and column for each edge and (v,e)=1 if and only if vertex v is incident upon edge e."
+
+IndependentSetQ::usage = "IndependentSetQ[g,i] returns True if the vertices in list i define an independent set in graph g."
+
+Index::usage = "Index[p] returns the index of permutation p, the sum of all subscripts j such that p[j] is greater than p[j+1]."
+
+InduceSubgraph::usage = "InduceSubgraph[g,s] constructs the subgraph of graph g induced by the list of vertices s."
+
+InitializeUnionFind::usage = "InitializeUnionFind[n] initializes a union-find data structure for n elements."
+
+InsertIntoTableau::usage = "InsertIntoTableau[e,t] inserts integer e into Young tableau t using the bumping algorithm."
+
+IntervalGraph::usage = "IntervalGraph[l] constructs the interval graph defined by the list of intervals l."
+
+InversePermutation::usage = "InversePermutation[p] yields the multiplicative inverse of permutation p."
+
+Inversions::usage = "Inversions[p] counts the number of inversions in permutation p."
+
+InvolutionQ::usage = "InvolutionQ[p] returns True if permutation p is its own inverse."
+
+IsomorphicQ::usage = "IsomorphicQ[g,h] returns True if graphs g and h are isomorphic."
+
+IsomorphismQ::usage = "IsomorphismQ[g,h,p] tests if permutation p defines an isomorphism between graphs g and h."
+
+Isomorphism::usage = "Isomorphism[g,h] returns an isomorphism between graphs g and h if one exists."
+
+Josephus::usage = "Josephus[n,m] generates the inverse of the permutation defined by executing every mth member in a circle of n men."
+
+KSubsets::usage = "KSubsets[l,k] returns all subsets of set l containing exactly k elements, ordered lexicographically."
+
+K::usage = "K[n] creates a complete graph on n vertices. K[a,b,c,...,k] creates a complete k-partite graph of the prescribed shape."
+
+LabeledTreeToCode::usage = "LabeledTreeToCode[g] reduces the tree g to its Prufer code."
+
+LastLexicographicTableau::usage = "LastLexicographicTableau[p] constructs the last Young tableau with shape described by partition p."
+
+LexicographicPermutations::usage = "LexicographicPermutations[l] constructs all permutations of list l in lexicographic order."
+
+LexicographicSubsets::usage = "LexicographicSubsets[l] returns all subsets of set l in lexicographic order."
+
+LineGraph::usage = "LineGraph[g] constructs the line graph of graph g."
+
+LongestIncreasingSubsequence::usage = "LongestIncreasingSubsequence[p] find the longest increasing scattered subsequence of permutation p."
+
+M::usage = "M[g] gives the number of edges in undirected graph g."
+
+MakeGraph::usage = "MakeGraph[v,f] constructs the binary relation defined by function f on all pairs of elements of list v."
+
+MakeSimple::usage = "MakeSimple[g] returns an undirected, unweighted graph derived from directed graph g."
+
+MakeUndirected::usage = "MakeUndirected[g] returns a graph with an undirected edge for each directed edge of graph g."
+
+MaximalMatching::usage = "MaximalMatching[g] returns the list of edges associated with a maximal matching of graph g."
+
+MaximumAntichain::usage = "MaximumAntichain[g] returns a largest set of unrelated vertices in partial order g."
+
+MaximumClique::usage = "MaximumClique[g] finds the largest clique in graph g."
+
+MaximumIndependentSet::usage = "MaximumIndependentSet[g] finds the largest independent set of graph g."
+
+MaximumSpanningTree::usage = "MaximumSpanningTree[g] uses Kruskal's algorithm to find a maximum spanning tree of graph g."
+
+MinimumChainPartition::usage = "MinimumChainPartition[g] partitions partial order g into a minimum number of chains."
+
+MinimumChangePermutations::usage = "MinimumChangePermutations[l] constructs all permutations of list l such that adjacent permutations differ by only one transposition."
+
+MinimumSpanningTree::usage = "MinimumSpanningTree[g] uses Kruskal's algorithm to find a minimum spanning tree of graph g."
+
+MinimumVertexCover::usage = "MinimumVertexCover[g] finds the minimum vertex cover of graph g."
+
+MultiplicationTable::usage = "MultiplicationTable[l,f] constructs the complete transition table defined by the binary relation function f on the elements of list l."
+
+NetworkFlowEdges::usage = "NetworkFlowEdges[g,source,sink] returns the adjacency matrix showing the distribution of the maximum flow from source to sink in graph g."
+
+NetworkFlow::usage = "NetworkFlow[g,source,sink] finds the maximum flow through directed graph g from source to sink."
+
+NextComposition::usage = "NextComposition[l] constructs the integer composition which follows l in a canonical order."
+
+NextKSubset::usage = "NextKSubset[l,s] computes the k-subset of list l which appears after k-subsets s in lexicographic order."
+
+NextPartition::usage = "NextPartition[p] returns the integer partition following p in reverse lexicographic order."
+
+NextPermutation::usage = "NextPermutation[p] returns the permutation following p in lexicographic order"
+
+NextSubset::usage = "NextSubset[l,s] constructs the subset of l following subset s in canonical order."
+
+NextTableau::usage = "NextTableau[t] returns the tableau of shape t which follows t in lexicographic order."
+
+NormalizeVertices::usage = "NormalizeVertices[v] returns a list of vertices with the same structure as v but with all coordinates of all points between 0 and 1."
+
+NthPair::usage = "NthPair[n] returns the nth unordered pair of positive integers, when sequenced to minimize the size of the larger integer."
+
+NthPermutation::usage = "NthPermutation[n,l] returns the nth lexicographic permutation of list l."
+
+NthSubset::usage = "NthSubset[n,l] returns the nth subset of list l in canonical order."
+
+NumberOfCompositions::usage = "NumberOfCompositions[n,k] counts the number of distinct compositions of  integer n into k parts."
+
+NumberOfDerangements::usage = "NumberOfDerangements[n] counts the derangements on n elements, the permutations without any fixed points."
+
+NumberOfInvolutions::usage = "NumberOfInvolutions[n] counts the number of involutions on n elements."
+
+NumberOfPartitions::usage = "NumberOfPartitions[n] counts the number of distinct integer partitions of n."
+
+NumberOfPermutationsByCycles::usage = "NumberOfPermutationsByCycles[n,m] returns the number of permutations of length n with exactly m cycles."
+
+NumberOfSpanningTrees::usage = "NumberOfSpanningTrees[g] computes the number of distinct labeled spanning trees of graph g."
+
+NumberOfTableaux::usage = "NumberOfTableaux[p] uses the hook length formula to count the number of Young tableaux with shape defined by partition p."
+
+OrientGraph::usage = "OrientGraph[g] assigns a direction to each edge of a bridgeless, undirected graph g, so that the graph is strongly connected."
+
+PartialOrderQ::usage = "PartialOrderQ[g] returns True if the binary relation defined by the adjacency matrix of graph g is a partial order, meaning it is transitive, reflexive, and anti-symmetric."
+
+PartitionQ::usage = "PartitionQ[p] returns True if p is an integer partition."
+
+Partitions::usage = "Partitions[n] constructs all partitions of integer n in reverse lexicographic order."
+
+PathConditionGraph::usage = "PathConditionGraph[g] replaces each non-edge of a graph by an infinite cost, so shortest path algorithms work correctly"
+
+Path::usage = "Path[n] constructs a tree consisting only of a path on n vertices."
+
+PerfectQ::usage = "PerfectQ[g] returns true is g is a perfect graph, meaning that for every induced subgraph of g the size of the largest clique equals the chromatic number."
+
+PermutationGroupQ::usage = "PermutationGroupQ[l] returns True if the list of permutations l forms a permutation group."
+
+PermutationQ::usage = "PermutationQ[p] returns True if p represents a permutation and False otherwise."
+
+Permute::usage = "Permute[l,p] permutes list l according to permutation p."
+
+PlanarQ::usage = "PlanarQ[g] returns True if graph g is planar, meaning it can be drawn in the plane so no two edges cross."
+
+PointsAndLines::usage = "PointsAndLines[g] constructs a partial graphics representation of a graph g."
+
+Polya::usage = "Polya[g,m] returns the polynomial giving the number of colorings, with m colors, of a structure defined by the permutation group g."
+
+PseudographQ::usage = "PseudographQ[g] returns True if graph g is a pseudograph, meaning it contains self-loops."
+
+RadialEmbedding::usage = "RadialEmbedding[g] constructs a radial embedding of graph g, radiating from the center of the graph."
+
+Radius::usage = "Radius[g] computes the radius of graph g, the minimum eccentricity of any vertex of g."
+
+RandomComposition::usage = "RandomComposition[n,k] constructs a random composition of integer n into k parts."
+
+RandomGraph::usage = "RandomGraph[n,p,{l,h}] constructs a random labeled graph on n vertices with an edge probability of p and edge weights of integers drawn uniformly at random from the range (l,h). RandomGraph[n,p,{l,h},Directed] similarly constructs a random directed graph."
+
+RandomHeap::usage = "RandomHeap[n] constructs a random heap on n elements."
+
+RandomKSubset::usage = "RandomKSubset[l,k] returns a random subset of set l with exactly k elements."
+
+RandomPartition::usage = "RandomPartition[n] constructs a random partition of integer n."
+
+RandomPermutation1::usage = "RandomPermutation1[n] sorts random numbers to generate a random permutation."
+
+RandomPermutation2::usage = "RandomPermutation2[n] uses random transpositions to generate random permutations."
+
+RandomPermutation::usage = "RandomPermutation[n] returns a random permutation of length n."
+
+RandomSubset::usage = "RandomSubset[l] creates a random subset of set l."
+
+RandomTableau::usage = "RandomTableau[p] constructs a random Young tableau of shape p."
+
+RandomTree::usage = "RandomTree[n] constructs a random labeled tree on n vertices."
+
+RandomVertices::usage = "RandomVertices[g] assigns a random embedding to graph g."
+
+RankGraph::usage = "RankGraph[g,l] partitions the vertices into classes based on the shortest geodesic distance to a member of list l."
+
+RankPermutation::usage = "RankPermutation[p] computes the rank of permutation p in lexicographic order."
+
+RankSubset::usage = "RankSubset[l,s] computes the rank, in canonical order, of subset s of set l."
+
+RankedEmbedding::usage = "RankedEmbedding[g,l] performs a ranked embedding of graph g, with the vertices ranked in terms of geodesic distance from a member of list l."
+
+ReadGraph::usage = "ReadGraph[f] reads a graph represented as edge lists from file f, and returns the graph as a graph object."
+
+RealizeDegreeSequence::usage = "RealizeDegreeSequence[s] constructs a semirandom graph with degree sequence s."
+
+RegularGraph::usage = "RegularGraph[k,n] constructs a semirandom k-regular graph on n vertices, if such a graph exists."
+
+RegularQ::usage = "RegularQ[g] returns True if g is a regular graph."
+
+RemoveSelfLoops::usage = "RemoveSelfLoops[g] constructs a graph g with the same edges except for any self-loops."
+
+RevealCycles::usage = "RevealCycles[p] unveils the canonical hidden cycle structure of permutation p."
+
+RootedEmbedding::usage = "RootedEmbedding[g,v] constructs a rooted embedding of graph g with vertex v as the root."
+
+RotateVertices::usage = "RotateVertices[v,theta] rotates each vertex position in list v by theta radians around the origin (0,0)."
+
+Runs::usage = "Runs[p] partitions p into contiguous increasing subsequences."
+
+SamenessRelation::usage = "SamenessRelation[l] constructs a binary relation from a list of permutations l which is an equivalence relation if l is a permutation group."
+
+SelectionSort::usage = "SelectionSort[l,f] sorts list l using ordering function f."
+
+SelfComplementaryQ::usage = "SelfComplementaryQ[g] returns True if graph g is self-complementary, meaning it is isomorphic to its complement."
+
+ShakeGraph::usage = "ShakeGraph[g,d] performs a random perturbation of the vertices of graph g, with each vertex moving at most a distance d from its original position."
+
+ShortestPathSpanningTree::usage = "ShortestPathSpanningTree[g,v] constructs the shortest-path spanning tree originating from v, so that the shortest path in graph g from v to any other vertex is the path in the tree."
+
+ShortestPath::usage = "ShortestPath[g,start,end] finds the shortest path between vertices start and end in graph g."
+
+ShowGraph::usage = "ShowGraph[g] displays graph g according to its embedding. ShowGraph[g,Directed] displays directed graph g according to its embedding, with arrows illustrating the orientation of each edge."
+
+ShowLabeledGraph::usage = "ShowLabeledGraph[g] displays graph g according to its embedding, with each vertex labeled with its vertex number. ShowLabeledGraph[g,l] uses the ith element of list l as the label for vertex i. ShowLabeledGraph[g,l,Directed] displays directed graph g according to its embedding, with arrows illustrating the orientation of each edge."
+
+ShowWeightedGraph::usage = "ShowWeightedGraph[g] displays graph g according to its embedding. ShowWeitedGraph[g,Directed] displays directed graph g according to its embedding, with arrows illustrating the orientation of each edge."
+
+ShowWeightedLabeledGraph::usage = "ShowWeightedLabeledGraph[g] displays graph g according to its embedding, with each vertex labeled with its vertex number. ShowWeightedLabeledGraph[g,l] uses the ith element of list l as the label for vertex i. ShowWeightedLabeledGraph[g,l,Directed] displays directed graph g according to its embedding, with arrows illustrating the orientation of each edge."
+
+SignaturePermutation::usage = "SignaturePermutation[p] gives the signature of permutation p."
+
+SimpleQ::usage = "SimpleQ[g] returns True if g is a simple graph, meaning it is unweighted and contains no self-loops."
+
+Spectrum::usage = "Spectrum[g] gives the eigenvalues of graph g."
+
+SpringEmbedding::usage = "SpringEmbedding[g] beautifies the embedding of graph g by modeling the embedding as a system of springs."
+
+SpringEmbeddingDirected::usage = "SpringEmbeddingDirected[g] beautifies the embedding of digraph g by modeling the embedding as a system of springs."
+
+StableMarriage::usage = "StableMarriage[mpref,fpref] finds the male optimal stable marriage defined by lists of permutations describing male and female preferences."
+
+Star::usage = "Star[n] constructs a star on n vertices, which is a tree with one vertex of degree n-1."
+
+StirlingFirst::usage = "StirlingFirst[n,k] computes the Stirling numbers of the first kind."
+
+StirlingSecond::usage = "StirlingSecond[n,k] computes the Stirling numbers of the second kind."
+
+Strings::usage = "Strings[l,n] constructs all possible strings of length n from the elements of list l."
+
+StronglyConnectedComponents::usage = "StronglyConnectedComponents[g] returns the strongly connected components of directed graph g."
+
+Subsets::usage = "Subsets[l] returns all subsets of set l."
+
+TableauClasses::usage = "TableauClasses[p] partitions the elements of permutation p into classes according to their initial columns during Young tableaux construction."
+
+TableauQ::usage = "TableauQ[t] returns True if and only if t represents a Young tableau."
+
+TableauxToPermutation::usage = "TableauxToPermutation[t1,t2] constructs the unique permutation associated with Young tableaux t1 and t2, where both tableaux have the same shape. "
+
+Tableaux::usage = "Tableaux[p] constructs all tableaux whose shape is given by integer partition p."
+
+ToAdjacencyLists::usage = "ToAdjacencyLists[g] constructs an adjacency list representation for graph g."
+
+ToCycles::usage = "ToCycles[p] returns the cycle structure of permutation p."
+
+ToInversionVector::usage = "ToInversionVector[p] computes the inversion vector associated with permutation p."
+
+ToOrderedPairs::usage = "ToOrderedPairs[g] constructs a list of ordered pairs representing the edges of undirected graph g."
+
+ToUnorderedPairs::usage = "ToUnorderedPairs[g] constructs a list of vertex pairs representing graph g, with one pair per undirected edge."
+
+ToOrderedTriples::usage = "ToOrderedTriples[g] constructs a list of ordered triples representing the edges of weighted directed graph g."
+
+TopologicalSort::usage = "TopologicalSort[g] returns a permutation of the vertices of directed acyclic graph g such that an edge (i,j) implies vertex i appears before vertex j."
+
+TransitiveClosure::usage = "TransitiveClosure[g] finds the transitive closure of graph g, the superset of g which contains edge {x,y} iff there is a path from x to y."
+
+TransitiveQ::usage = "TransitiveQ[g] returns True if graph g defines a transitive relation."
+
+TransitiveReduction::usage = "TransitiveReduction[g] finds the smallest graph which has the same transitive closure as g."
+
+TranslateVertices::usage = "TranslateVertices[v,{x,y}] adds the vector {x,y} to each vertex in list v."
+
+TransposePartition::usage = "TransposePartition[p] reflects a partition p of k parts along the main diagonal, creating a partition with maximum part k."
+
+TransposeTableau::usage = "TransposeTableau[t] reflects a Young tableau t along the main diagonal, creating a different tableau."
+
+TravelingSalesmanBounds::usage = "TravelingSalesmanBounds[g] computes upper and lower bounds on the minimum cost traveling salesman tour of graph g."
+
+TravelingSalesman::usage = "TravelingSalesman[g] finds the optimal traveling salesman tour in graph g."
+
+TreeQ::usage = "TreeQ[g] returns True if graph g is a tree."
+
+TriangleInequalityQ::usage = "TriangleInequalityQ[g] returns True if the weight function defined by the adjacency matrix of graph g satisfies the triangle inequality."
+
+Turan::usage = "Turan[n,p] constructs the Turan graph, the extremal graph on n vertices which does not contain K[p]."
+
+TwoColoring::usage = "TwoColoring[g] finds a two-coloring of graph g if g is bipartite."
+
+UndirectedQ::usage = "UndirectedQ[g] returns True if graph g is undirected."
+
+UnionSet::usage = "UnionSet[a,b,s] merges the sets containing a and b in union-find data structure s."
+
+UnweightedQ::usage = "UnweightedQ[g] returns True if all entries in the adjacency matrix of graph g are zero or one."
+
+V::usage = "V[g] gives the order or number of vertices of graph g."
+
+VertexColoring::usage = "VertexColoring[g] uses Brelaz's heuristic to find a good, but not necessarily minimal, vertex coloring of graph g."
+
+VertexConnectivity::usage = "VertexConnectivity[g] computes the minimum number of vertices whose deletion from graph g disconnects it."
+
+VertexCoverQ::usage = "VertexCoverQ[g,c] returns True if the vertices in list c define a vertex cover of graph g."
+
+Vertices::usage = "Vertices[g] returns the embedding of graph g."
+
+WeaklyConnectedComponents::usage = "WeaklyConnectedComponents[g] returns the weakly connected components of directed graph g."
+
+Wheel::usage = "Wheel[n] constructs a wheel on n vertices, which is the join of K[1] and Cycle[n-1]."
+
+WriteGraph::usage = "WriteGraph[g,f] writes graph g to file f using an edge list representation."
+
+Begin["`private`"]
+PermutationQ[p_List] := (Sort[p] == Range[Length[p]])
+ 
+Permute[l_List,p_?PermutationQ] := l [[ p ]]
+ 
+LexicographicPermutations[{l_}] := {{l}}
+
+LexicographicPermutations[{a_,b_}] := {{a,b},{b,a}}
+
+LexicographicPermutations[l_List] :=
+	Module[{i,n=Length[l]},
+		Apply[
+			Join,
+			Table[ 
+				Map[
+					(Prepend[#,l[[i]]])&,
+					LexicographicPermutations[
+						Complement[l,{l[[i]]}]
+					]
+				],
+				{i,n}
+			]
+		]
+	]
+ 
+RankPermutation[{1}] = 0
+
+RankPermutation[p_?PermutationQ] := (p[[1]]-1) (Length[Rest[p]]!) +
+	RankPermutation[ Map[(If[#>p[[1]], #-1, #])&, Rest[p]] ]
+
+NthPermutation[n1_Integer,l_List] :=
+	Module[{k, n=n1, s=l, i},
+		Table[
+			n = Mod[n,(i+1)!];
+			k = s [[Quotient[n,i!]+1]];
+			s = Complement[s,{k}];
+			k,
+			{i,Length[l]-1,0,-1}
+		]
+	]
+
+NextPermutation[p_?PermutationQ] :=
+	NthPermutation[ RankPermutation[p]+1, Sort[p] ]
+ 
+RandomPermutation1[n_Integer?Positive] :=
+	Map[ Last, Sort[ Map[({Random[],#})&,Range[n]] ] ]
+
+RandomPermutation2[n_Integer?Positive] :=
+	Module[{p = Range[n],i,x},
+		Do [
+			x = Random[Integer,{1,i}];
+			{p[[i]],p[[x]]} = {p[[x]],p[[i]]},
+			{i,n,2,-1}
+		];
+		p
+	]
+
+RandomPermutation[n_Integer?Positive] := RandomPermutation1[n]
+ 
+MinimumChangePermutations[l_List] :=
+	Module[{i=1,c,p=l,n=Length[l],k},
+		c = Table[1,{n}];
+		Join[
+			{l},
+			Table[
+				While [ c[[i]] >= i, c[[i]] = 1; i++];
+				If[OddQ[i], k=1, k=c[[i]] ];
+				{p[[i]],p[[k]]} = {p[[k]],p[[i]]};
+				c[[i]]++;
+				i = 2;
+				p,
+				{n!-1}
+			]
+		]
+	]
+ 
+Backtrack[space_List,partialQ_,solutionQ_,flag_:One] :=
+	Module[{n=Length[space],all={},done,index,v=2,solution},
+		index=Prepend[ Table[0,{n-1}],1];
+		While[v > 0,
+			done = False;
+			While[!done && (index[[v]] < Length[space[[v]]]),
+				index[[v]]++;
+				done = Apply[partialQ,{Solution[space,index,v]}];
+			];
+			If [done, v++, index[[v--]]=0 ];
+			If [v > n,
+				solution = Solution[space,index,n];
+				If [Apply[solutionQ,{solution}],
+					If [SameQ[flag,All],
+						AppendTo[all,solution],
+						all = solution; v=0
+					]
+				];
+				v--
+			]
+		];
+		all
+	]
+
+Solution[space_List,index_List,count_Integer] :=
+	Module[{i}, Table[space[[ i,index[[i]] ]], {i,count}] ]
+ 
+DistinctPermutations[s_List] :=
+	Module[{freq,alph=Union[s],n=Length[s]},
+		freq = Map[ (Count[s,#])&, alph];
+		Map[
+			(alph[[#]])&,
+			Backtrack[
+				Table[Range[Length[alph]],{n}],
+				(Count[#,Last[#]] <= freq[[Last[#]]])&,
+				(Count[#,Last[#]] <= freq[[Last[#]]])&,
+				All
+			]
+		]
+	]
+ 
+MinOp[l_List,f_] :=
+	Module[{min=First[l]},
+		Scan[ (If[ Apply[f,{#,min}], min = #])&, l];
+		Return[min];
+	]
+
+SelectionSort[l_List,f_] :=
+	Module[{where,item,unsorted=l},
+		Table[
+			item = MinOp[unsorted, f];
+			{where} = First[ Position[unsorted,item] ];
+			unsorted = Drop[unsorted,{where,where}];
+			item,
+			{Length[l]}
+		]
+	]
+ 
+BinarySearch[l_List,k_Integer] := BinarySearch[l,k,1,Length[l],Identity]
+BinarySearch[l_List,k_Integer,f_] := BinarySearch[l,k,1,Length[l],f]
+	
+BinarySearch[l_List,k_Integer,low_Integer,high_Integer,f_] :=
+	Module[{mid = Floor[ (low + high)/2 ]},
+		If [low > high, Return[low - 1/2]];
+		If [f[ l[[mid]] ] == k, Return[mid]];
+		If [f[ l[[mid]] ] > k,
+			BinarySearch[l,k,1,mid-1,f],
+			BinarySearch[l,k,mid+1,high,f]
+		]
+	]
+ 
+MultiplicationTable[elems_List,op_] :=
+	Module[{i,j,n=Length[elems],p},
+		Table[
+			p = Position[elems, Apply[op,{elems[[i]],elems[[j]]}]];
+			If [p === {}, 0, p[[1,1]]],
+			{i,n},{j,n}
+		]
+	]
+ 
+InversePermutation[p_?PermutationQ] :=
+	Module[{inverse=p, i},
+		Do[ inverse[[ p[[i]] ]] = i, {i,Length[p]} ];
+		inverse
+	]
+ 
+EquivalenceRelationQ[r_?SquareMatrixQ] :=
+	ReflexiveQ[r] && SymmetricQ[r] && TransitiveQ[r]
+EquivalenceRelationQ[g_Graph] := EquivalenceRelationQ[ Edges[g] ]
+
+SquareMatrixQ[{}] = True
+SquareMatrixQ[r_] := MatrixQ[r] && (Length[r] == Length[r[[1]]])
+
+ReflexiveQ[r_?SquareMatrixQ] := 
+	Module[{i}, Apply[And, Table[(r[[i,i]]!=0),{i,Length[r]}] ] ]
+
+TransitiveQ[r_?SquareMatrixQ] := TransitiveQ[ Graph[r,RandomVertices[Length[r]]] ]
+TransitiveQ[r_Graph] := IdenticalQ[r,TransitiveClosure[r]]
+
+SymmetricQ[r_?SquareMatrixQ] := (r === Transpose[r])
+
+EquivalenceClasses[r_List?EquivalenceRelationQ] :=
+	ConnectedComponents[ Graph[r,RandomVertices[Length[r]]] ]
+EquivalenceClasses[g_Graph?EquivalenceRelationQ] := ConnectedComponents[g]
+ 
+PermutationGroupQ[perms_List] :=
+	FreeQ[ MultiplicationTable[perms,Permute], 0] &&
+		EquivalenceRelationQ[SamenessRelation[perms]]
+
+SamenessRelation[perms_List] :=
+	Module[{positions = Transpose[perms], i, j, n=Length[First[perms]]},
+		Table[
+			If[ MemberQ[positions[[i]],j], 1, 0],
+			{i,n}, {j,n}
+		]
+	] /; perms != {}
+ 
+ToCycles[p1_?PermutationQ] :=
+	Module[{p=p1,m,n,cycle,i},
+		Select[
+			Table[
+				m = n = p[[i]];
+				cycle = {};
+				While[ p[[n]] != 0,
+					AppendTo[cycle,m=n];
+					n = p[[n]];
+					p[[m]] = 0 
+				];
+				cycle,
+				{i,Length[p]}
+			],
+			(# =!= {})&
+		]
+	]
+ 
+FromCycles[cyc_List] := 
+	Module[{p=Table[0,{Length[Flatten[cyc]]}], pos},
+		Scan[
+			(pos = Last[#];
+			 Scan[ Function[c, pos = p[[pos]] = c], #])&,
+			cyc
+		];
+		p
+	]
+ 
+HideCycles[c_List] := 
+	Flatten[
+		Sort[
+			Map[(RotateLeft[#,Position[#,Min[#]] [[1,1]] - 1])&, c],
+			(#1[[1]] > #2[[1]])&
+		]
+	]
+ 
+RevealCycles[p_?PermutationQ] :=
+	Module[{start=end=1, cycles={}},
+		While [end <= Length[p],
+			If [p[[start]] > p[[end]],
+				AppendTo[ cycles, Take[p,{start,end-1}] ];
+				start = end,
+				end++
+			]
+		];
+		Append[cycles,Take[p,{start,end-1}]]
+	]
+ 
+NumberOfPermutationsByCycles[n_Integer,m_Integer] := (-1)^(n-m) StirlingS1[n,m]
+
+StirlingFirst[n_Integer,m_Integer] := StirlingFirst1[n,m]
+
+StirlingFirst1[n_Integer,0] := If [n == 0, 1, 0] 
+StirlingFirst1[0,m_Integer] := If [m == 0, 1, 0]
+
+StirlingFirst1[n_Integer,m_Integer] := StirlingFirst1[n,m] =
+	(n-1) StirlingFirst1[n-1,m] + StirlingFirst1[n-1, m-1]
+
+StirlingSecond[n_Integer,m_Integer] := StirlingSecond1[n,m]
+
+StirlingSecond1[n_Integer,0] := If [n == 0, 1, 0]
+StirlingSecond1[0,m_Integer] := If [m == 0, 1, 0]
+
+StirlingSecond1[n_Integer,m_Integer] := StirlingSecond1[n,m] =
+	m StirlingSecond1[n-1,m] + StirlingSecond1[n-1,m-1]
+ 
+SignaturePermutation[p_?PermutationQ] := (-1) ^ (Length[p]-Length[ToCycles[p]])
+ 
+Polya[g_List,m_] := Apply[ Plus, Map[(m^Length[ToCycles[#]])&,g] ] / Length[g]
+ 
+ToInversionVector[p_?PermutationQ] :=
+	Module[{i,inverse=InversePermutation[p]},
+		Table[
+			Length[ Select[Take[p,inverse[[i]]], (# > i)&] ],
+			{i,Length[p]-1}
+		]
+	]
+ 
+FromInversionVector[vec_List] :=
+	Module[{n=Length[vec]+1,i,p},
+		p={n};
+		Do [
+			p = Insert[p, i, vec[[i]]+1],
+			{i,n-1,1,-1}
+		];
+		p
+	]
+ 
+Inversions[p_?PermutationQ] := Apply[Plus,ToInversionVector[p]]
+ 
+Index[p_?PermutationQ]:=
+	Module[{i},
+		Sum[ If [p[[i]] > p[[i+1]], i, 0], {i,Length[p]-1} ]
+	]
+ 
+Runs[p_?PermutationQ] :=
+	Map[
+		(Apply[Take,{p,{#[[1]]+1,#[[2]]}}])&,
+		Partition[
+			Join[
+				{0},
+				Select[Range[Length[p]-1], (p[[#]]>p[[#+1]])&],
+				{Length[p]}
+			],
+			2,
+			1
+		]
+	]
+
+Eulerian[n_Integer,k_Integer] := Eulerian1[n,k]
+
+Eulerian1[0,k_Integer] := If [k==1, 1, 0]
+Eulerian1[n_Integer,k_Integer] := Eulerian1[n,k] =
+	k Eulerian1[n-1,k] + (n-k+1) Eulerian1[n-1,k-1]
+ 
+InvolutionQ[p_?PermutationQ] := p[[p]] == Range[Length[p]]
+ 
+NumberOfInvolutions[n_Integer] :=
+	Module[{k},
+		n! Sum[1/((n - 2k)! 2^k k!), {k, 0, Quotient[n, 2]}]
+	]
+ 
+DerangementQ[p_?PermutationQ] :=
+	!(Apply[ Or, Map[( # == p[[#]] )&, Range[Length[p]]] ])
+
+NumberOfDerangements[0] = 1;
+NumberOfDerangements[n_] := n * NumberOfDerangements[n-1] + (-1)^n
+
+Derangements[n_Integer] := Derangements[Range[n]]
+Derangements[p_?PermutationQ] := Select[ Permutations[p], DerangementQ ]
+ 
+Josephus[n_Integer,m_Integer] :=
+	Module[{live=Range[n],next},
+		InversePermutation[
+			Table[
+				next = RotateLeft[live,m-1];
+				live = Rest[next];
+				First[next],
+				{n}
+			]
+		]
+	]
+ 
+Heapify[p_List] :=
+	Module[{j,heap=p},
+		Do [
+			heap = Heapify[heap,j],
+			{j,Quotient[Length[p],2],1,-1}
+		];
+		heap
+	]
+
+Heapify[p_List, k_Integer] :=
+	Module[{hp=p, i=k, l, n=Length[p]},
+		While[ (l = 2 i) <= n,
+			If[ (l < n) && (hp[[l]] > hp[[l+1]]), l++ ];
+			If[ hp[[i]] > hp[[l]],
+				{hp[[i]],hp[[l]]}={hp[[l]],hp[[i]]};
+				i = l,
+				i = n+1
+			];
+		];
+		hp
+	]
+
+RandomHeap[n_Integer] := Heapify[RandomPermutation[n]]
+ 
+HeapSort[p_List] :=
+	Module[{heap=Heapify[p],min},
+		Append[
+			Table[
+				min = First[heap];
+				heap[[1]] = heap[[n]];
+				heap = Heapify[Drop[heap,-1],1];
+				min,
+				{n,Length[p],2,-1}
+			],
+			Max[heap]
+		]
+	]
+ 
+Strings[l_List,0] := { {} }
+
+Strings[l_List,k_Integer?Positive] :=
+	Module[{oneless = Strings[l,k-1],i,n=Length[l]},
+		Apply[Join, Table[ Map[(Prepend[#,l[[i]]])&, oneless], {i,n}] ]
+	]
+ 
+NthSubset[n_Integer,m_Integer] := NthSubset[n,Range[m]]
+NthSubset[n_Integer,l_List] :=
+	l[[ Flatten[ Position[Reverse[IntegerDigits[ Mod[n,2^Length[l]],2]],1] ] ]]
+
+BinarySubsets[l_List] :=
+	Module[{pos=Reverse[Range[Length[l]]], n=Length[l]},
+		Map[(l[[ Reverse[Select[pos*#, Positive]] ]])&, Strings[{0,1},n] ]
+	]
+
+NextSubset[set_List,subset_List] := NthSubset[ RankSubset[set,subset], set  ]
+
+RankSubset[set_List,subset_List] :=
+	Module[{i,n=Length[set]},
+		Sum[ 2^(i-1) * If[ MemberQ[subset,set[[i]]], 1, 0], {i,n}]
+	]
+ 
+RandomSubset[set_List] := NthSubset[Random[Integer,2^(Length[set])-1],set]
+ 
+GrayCode[l_List] := GrayCode[l,{{}}]
+
+GrayCode[{},prev_List] := prev
+
+GrayCode[l_List,prev_List] :=
+	GrayCode[
+		Rest[l],
+		Join[ prev, Map[(Append[#,First[l]])&,Reverse[prev]] ]
+	]
+
+Subsets[l_List] := GrayCode[l]
+Subsets[n_Integer] := GrayCode[Range[n]]
+ 
+LexicographicSubsets[l_List] := LexicographicSubsets[l,{{}}]
+
+LexicographicSubsets[{},s_List] := s
+
+LexicographicSubsets[l_List,subsets_List] :=
+	LexicographicSubsets[
+		Rest[l],
+		Join[
+			subsets,
+			Map[(Prepend[#,First[l]])&,LexicographicSubsets[Rest[l],{{}}] ]
+		]
+	]
+ 
+KSubsets[l_List,0] := { {} }
+KSubsets[l_List,1] := Partition[l,1]
+KSubsets[l_List,k_Integer?Positive] := {l} /; (k == Length[l])
+KSubsets[l_List,k_Integer?Positive] := {}  /; (k > Length[l])
+
+KSubsets[l_List,k_Integer?Positive] :=
+	Join[
+		Map[(Prepend[#,First[l]])&, KSubsets[Rest[l],k-1]],
+		KSubsets[Rest[l],k]
+	]
+ 
+NextKSubset[set_List,subset_List] :=
+	Take[set,Length[subset]] /; (Take[set,-Length[subset]] === subset)
+
+NextKSubset[set_List,subset_List] :=
+	Module[{h=1, x=1},
+		While [set[[-h]] == subset[[-h]], h++];
+		While [set[[x]] =!= subset[[-h]], x++];
+		Join[ Drop[subset,-h], Take[set, {x+1,x+h}] ]
+	]
+ 
+RandomKSubset[n_Integer,k_Integer] := RandomKSubset[Range[n],k]
+
+RandomKSubset[set_List,k_Integer] := 
+	Module[{s=Range[Length[set]],i,n=Length[set],x},
+		set [[
+			Sort[
+				Table[
+					x=Random[Integer,{1,i}];
+					{s[[i]],s[[x]]} = {s[[x]],s[[i]]};
+					s[[i]],
+					{i,n,n-k+1,-1}
+				]
+			]
+		]]
+	]
+ 
+PartitionQ[p_List] := (Min[p]>0) && Apply[And, Map[IntegerQ,p]]
+ 
+Partitions[n_Integer] := Partitions[n,n]
+
+Partitions[n_Integer,_] := {} /; (n<0)
+Partitions[0,_] := { {} }
+Partitions[n_Integer,1] := { Table[1,{n}] }
+Partitions[_,0] := {}
+
+Partitions[n_Integer,maxpart_Integer] :=
+	Join[
+		Map[(Prepend[#,maxpart])&, Partitions[n-maxpart,maxpart]],
+		Partitions[n,maxpart-1]
+	]
+ 
+NextPartition[p_List] := Join[Drop[p,-1],{Last[p]-1,1}]  /; (Last[p] > 1)
+
+NextPartition[p_List] := {Apply[Plus,p]}  /; (Max[p] == 1)
+
+NextPartition[p_List] :=
+	Module[{index,k,m},
+		{index} = First[ Position[p,1] ];
+		k = p[[index-1]] - 1;
+		m = Apply[Plus,Drop[p,index-1]] + k + 1;
+		Join[
+			Take[p,index-2],
+			Table[k,{Quotient[m,k]}],
+			If [Mod[m,k] == 0, {}, {Mod[m,k]}]
+		]
+	]
+ 
+FerrersDiagram[p1_List] :=
+	Module[{i,j,n=Length[p1],p=Sort[p1]},
+		Show[
+			Graphics[
+				Join[
+					{PointSize[ Min[0.05,1/(2 Max[p])] ]},
+					Table[Point[{i,j}], {j,n}, {i,p[[j]]}]
+				],
+				{AspectRatio -> 1, PlotRange -> All}
+			]
+		]
+	]
+ 
+TransposePartition[p_List] :=
+	Module[{s=Select[p,(#>0)&], i, row, r},
+		row = Length[s];
+		Table [
+			r = row;
+			While [s[[row]]<=i, row--];
+			r,
+			{i,First[s]}
+		]
+	]
+ 
+DurfeeSquare[s_List] :=
+	Module[{i,max=1},
+		Do [
+			If [s[[i]] >= i, max=i],
+			{i,2,Min[Length[s],First[s]]}
+		];
+		max
+	]
+
+DurfeeSquare[{}] := 0
+ 
+NumberOfPartitions[n_Integer] := NumberOfPartitions1[n]
+
+NumberOfPartitions1[n_Integer] := 0  /; (n < 0)
+NumberOfPartitions1[n_Integer] := 1  /; (n == 0)
+
+NumberOfPartitions1[n_Integer] := NumberOfPartitions1[n] =
+	Module[{m},
+		Sum[ (-1)^(m+1) NumberOfPartitions1[n - m (3m-1)/2] +
+			(-1)^(m+1) NumberOfPartitions1[n - m (3m+1)/2],
+			{m, Ceiling[ (1+Sqrt[1.0 + 24n])/6 ], 1, -1}
+		]
+	]
+ 
+RandomPartition[n_Integer?Positive] :=
+	Module[{mult = Table[0,{n}],j,d,m = n},
+		While[ m != 0,
+			{j,d} = NextPartitionElement[m];
+			m -= j d;
+			mult[[d]] += j;
+		];
+		Flatten[Map[(Table[#,{mult[[#]]}])&,Reverse[Range[n]]]]
+	]
+
+NextPartitionElement[n_Integer] :=
+	Module[{d=0,j,m,z=Random[] n PartitionsP[n],done=False,flag},
+		While[!done,
+			d++; m = n; j = 0; flag = False;
+			While[ !flag,
+				j++; m -=d;
+				If[ m > 0, 
+					z -= d PartitionsP[m];
+					If[ z <= 0, flag=done=True],
+					flag = True;
+					If[m==0, z -=d; If[z <= 0, done = True]]
+				];
+			];
+		];
+		{j,d}
+	]
+ 
+NumberOfCompositions[n_,k_] := Binomial[ n+k-1, n ]
+ 
+RandomComposition[n_Integer,k_Integer] :=
+	Map[
+		(#[[2]] - #[[1]] - 1)&,
+		Partition[Join[{0},RandomKSubset[Range[n+k-1],k-1],{n+k}], 2, 1]
+	]
+ 
+Compositions[n_Integer,k_Integer] :=
+	Map[
+		(Map[(#[[2]]-#[[1]]-1)&, Partition[Join[{0},#,{n+k}],2,1] ])&,
+		KSubsets[Range[n+k-1],k-1]
+	]
+ 
+NextComposition[l_List] := 
+	Module[{c=l, h=1, t},
+		While[c[[h]] == 0, h++];
+		{t,c[[h]]} = {c[[h]],0};
+		c[[1]] = t - 1;
+		c[[h+1]]++;
+		c
+	]
+
+NextComposition[l_List] :=
+	Join[{Apply[Plus,l]},Table[0,{Length[l]-1}]] /; Last[l]==Apply[Plus,l]
+ 
+TableauQ[{}] = True
+TableauQ[t_List] :=
+	And [
+		Apply[ And, Map[(Apply[LessEqual,#])&,t] ],
+		Apply[ And, Map[(Apply[LessEqual,#])&,TransposeTableau[t]] ],
+		Apply[ GreaterEqual, Map[Length,t] ],
+		Apply[ GreaterEqual, Map[Length,TransposeTableau[t]] ]
+	]
+
+TransposeTableau[tb_List] :=
+	Module[{t=Select[tb,(Length[#]>=1)&],row},
+		Table[
+			row = Map[First,t];
+			t = Map[ Rest, Select[t,(Length[#]>1)&] ];
+			row,
+			{Length[First[tb]]}
+		]
+	]
+
+ShapeOfTableau[t_List] := Map[Length,t]
+ 
+InsertIntoTableau[e_Integer,{}] := { {e} }
+
+InsertIntoTableau[e_Integer, t1_?TableauQ] :=
+	Module[{item=e,row=0,col,t=t1},
+		While [row < Length[t],
+			row++;
+			If [Last[t[[row]]] <= item,
+				AppendTo[t[[row]],item];
+				Return[t]
+			];
+			col = Ceiling[ BinarySearch[t[[row]],item] ];
+			{item, t[[row,col]]} = {t[[row,col]], item};
+		];
+		Append[t, {item}]
+	]
+ 
+ConstructTableau[p_List] := ConstructTableau[p,{}]
+
+ConstructTableau[{},t_List] := t
+
+ConstructTableau[p_List,t_List] :=
+	ConstructTableau[Rest[p], InsertIntoTableau[First[p],t]]
+ 
+DeleteFromTableau[t1_?TableauQ,r_Integer]:=
+	Module [{t=t1, col, row, item=Last[t1[[r]]]},
+		col = Length[t[[r]]];
+		If[col == 1, t = Drop[t,-1], t[[r]] = Drop[t[[r]],-1]];
+		Do [
+			While [t[[row,col]]<=item && Length[t[[row]]]>col, col++];
+			If [item < t[[row,col]], col--];
+			{item,t[[row,col]]} = {t[[row,col]],item},
+			{row,r-1,1,-1}
+		];
+		t
+	]
+ 
+TableauxToPermutation[p1_?TableauQ,q1_?TableauQ] :=
+	Module[{p=p1, q=q1, row, firstrow},
+		Reverse[
+			Table[
+				firstrow = First[p];
+				row = Position[q, Max[q]] [[1,1]];
+				p = DeleteFromTableau[p,row];
+				q[[row]] = Drop[ q[[row]], -1];
+				If[ p == {},
+					First[firstrow],
+					First[Complement[firstrow,First[p]]]
+				],
+				{Apply[Plus,ShapeOfTableau[p1]]}
+			]
+		]
+	] /; ShapeOfTableau[p1] === ShapeOfTableau[q1]
+ 
+LastLexicographicTableau[s_List] :=
+	Module[{c=0},
+		Map[(c+=#; Range[c-#+1,c])&, s]
+	]
+
+FirstLexicographicTableau[s_List] :=
+	TransposeTableau[ LastLexicographicTableau[ TransposePartition[s] ] ]
+ 
+NextTableau[t_?TableauQ] :=
+	Module[{s,y,row,j,count=0,tj,i,n=Max[t]},
+		y = TableauToYVector[t];
+		For [j=2, (j<n)  && (y[[j]]>=y[[j-1]]), j++];
+		If [y[[j]] >= y[[j-1]],
+			Return[ FirstLexicographicTableau[ ShapeOfTableau[t] ] ]
+		];
+		s = ShapeOfTableau[ Table[Select[t[[i]],(#<=j)&], {i,Length[t]}] ];
+		{row} = Last[ Position[ s, s[[ Position[t,j] [[1,1]] + 1 ]] ] ];
+		s[[row]] --;
+		tj = FirstLexicographicTableau[s];
+		If[ Length[tj] < row,
+			tj = Append[tj,{j}],
+			tj[[row]] = Append[tj[[row]],j]
+		];
+		Join[
+			Table[
+				Join[tj[[i]],Select[t[[i]],(#>j)&]],
+				{i,Length[tj]}
+			],
+			Table[t[[i]],{i,Length[tj]+1,Length[t]}]
+		]
+	]
+
+Tableaux[s_List] :=
+	Module[{t = LastLexicographicTableau[s]},
+		Table[ t = NextTableau[t], {NumberOfTableaux[s]} ]
+	]
+
+Tableaux[n_Integer?Positive] := Apply[ Join, Map[ Tableaux, Partitions[n] ] ]
+ 
+YVectorToTableau[y_List] :=
+	Module[{k},
+		Table[ Flatten[Position[y,k]], {k,Length[Union[y]]}]
+	]
+
+TableauToYVector[t_?TableauQ] :=
+	Module[{i,y=Table[1,{Length[Flatten[t]]}]},
+		Do [ Scan[ (y[[#]]=i)&, t[[i]] ], {i,2,Length[t]} ];
+		y
+	]
+ 
+NumberOfTableaux[{}] := 1
+NumberOfTableaux[s_List] := 
+	Module[{row,col,transpose=TransposePartition[s]},
+		(Apply[Plus,s])! /
+		Product [
+			(transpose[[col]]-row+s[[row]]-col+1),
+			{row,Length[s]}, {col,s[[row]]}
+		]
+	]
+
+NumberOfTableaux[n_Integer] := Apply[Plus, Map[NumberOfTableaux, Partitions[n]]]
+ 
+CatalanNumber[n_] := Binomial[2n,n]/(n+1)	/; (n>=0)
+ 
+RandomTableau[shape_List] :=
+	Module[{i=j=n=Apply[Plus,shape],done,l,m,h=1,k,y,p=shape},
+		y= Join[TransposePartition[shape],Table[0,{n - Max[shape]}]];
+		Do[
+			{i,j} = RandomSquare[y,p]; done = False;
+			While [!done,
+				h = y[[j]] + p[[i]] - i - j;
+				If[ h != 0,
+					If[ Random[] < 0.5,
+						j = Random[Integer,{j,p[[i]]}],
+						i = Random[Integer,{i,y[[j]]}]
+					],
+					done = True
+				];
+			];
+			p[[i]]--; y[[j]]--;
+			y[[m]] = i,
+			{m,n,1,-1}
+		];
+		YVectorToTableau[y]
+	]
+
+RandomSquare[y_List,p_List] :=
+	Module[{i=Random[Integer,{1,First[y]}], j=Random[Integer,{1,First[p]}]},
+		While[(i > y[[j]]) || (j > p[[i]]), 
+			i = Random[Integer,{1,First[y]}];
+			j = Random[Integer,{1,First[p]}]
+		];
+		{i,j}
+	]
+ 
+TableauClasses[p_?PermutationQ] :=
+	Module[{classes=Table[{},{Length[p]}],t={}},
+		Scan [
+			(t = InsertIntoTableau[#,t];
+			 PrependTo[classes[[Position[First[t],#] [[1,1]] ]], #])&,
+			p
+		];
+		Select[classes, (# != {})&]
+	]
+ 
+LongestIncreasingSubsequence[p_?PermutationQ] :=
+	Module[{c,x,xlast},
+		c = TableauClasses[p];
+		xlast = x = First[ Last[c] ];
+		Append[
+			Reverse[
+				Map[
+					(x = First[ Intersection[#,
+					       Take[p, Position[p,x][[1,1]] ] ] ])&,
+					Reverse[ Drop[c,-1] ]
+				]
+			],
+			xlast
+		]
+	]
+
+LongestIncreasingSubsequence[{}] := {}
+ 
+AddToEncroachingLists[k_Integer,{}] := {{k}}
+
+AddToEncroachingLists[k_Integer,l_List] :=
+	Append[l,{k}]  /; (k > First[Last[l]]) && (k < Last[Last[l]])
+
+AddToEncroachingLists[k_Integer,l1_List] :=
+	Module[{i,l=l1},
+		If [k <= First[Last[l]],
+			i = Ceiling[ BinarySearch[l,k,First] ];
+			PrependTo[l[[i]],k],
+			i = Ceiling[ BinarySearch[l,-k,(-Last[#])&] ];
+			AppendTo[l[[i]],k]
+		];
+		l
+	]
+ 
+EncroachingListSet[l_List] := EncroachingListSet[l,{}]
+EncroachingListSet[{},e_List] := e
+
+EncroachingListSet[l_List,e_List] :=
+	EncroachingListSet[Rest[l], AddToEncroachingLists[First[l],e] ]
+ 
+Edges[Graph[e_,_]] := e
+
+Vertices[Graph[_,v_]] := v
+
+V[Graph[e_,_]] := Length[e]
+
+M[Graph[g_,_],___] := Apply[Plus, Map[(Apply[Plus,#])&,g] ] / 2
+M[Graph[g_,_],Directed] := Apply[Plus, Map[(Apply[Plus,#])&,g] ]
+
+ChangeVertices[g_Graph,v_List] := Graph[ Edges[g], v ]
+
+ChangeEdges[g_Graph,e_List] := Graph[ e, Vertices[g] ]
+ 
+AddEdge[Graph[g_,v_],{x_,y_},Directed] :=
+	Module[ {gnew=g},
+		gnew[[x,y]] ++;
+		Graph[gnew,v]
+	]
+
+AddEdge[g_Graph,{x_,y_},flag_:Undirected] :=
+	AddEdge[ AddEdge[g, {x,y}, Directed], {y,x}, Directed]
+
+DeleteEdge[Graph[g_,v_],{x_,y_},Directed] :=
+	Module[ {gnew=g},
+		If [ g[[x,y]] > 1, gnew[[x,y]]--, gnew[[x,y]] = 0];
+		Graph[gnew,v]
+	]
+
+DeleteEdge[g_Graph,{x_,y_},flag_:Undirected] :=
+	DeleteEdge[ DeleteEdge[g, {x,y}, Directed], {y,x}, Directed]
+ 
+AddVertex[g_Graph] := GraphUnion[g, K[1]]
+
+DeleteVertex[g_Graph,v_Integer] := InduceSubgraph[g,Complement[Range[V[g]],{v}]]
+ 
+Spectrum[Graph[g_,_]] := Eigenvalues[g]
+ 
+ToAdjacencyLists[Graph[g_,_]] :=
+	Map[ (Flatten[ Position[ #, _?(Function[n, n!=0])] ])&, g ]
+
+FromAdjacencyLists[e_List] :=
+	Module[{blanks = Table[0,{Length[e]}] },
+		Graph[
+			Map [ (MapAt[ 1&,blanks,Partition[#,1]])&, e ],
+			CircularVertices[Length[e]]
+		]
+	]
+
+FromAdjacencyLists[e_List,v_List] := ChangeVertices[FromAdjacencyLists[e], v]
+ 
+ToOrderedPairs[g_Graph] := Position[ Edges[g], _?(Function[n,n != 0]) ]
+
+ToUnorderedPairs[g_Graph] := Select[ ToOrderedPairs[g], (#[[1]] < #[[2]])& ]
+
+FromOrderedPairs[l_List] := 
+	Module[{n=Max[l]},
+		Graph[
+			MapAt[1&, Table[0,{n},{n}],l],
+			CircularVertices[n]
+		]
+	]
+FromOrderedPairs[{}] := Graph[{},{}]
+FromOrderedPairs[l_List,v_List] := 
+	Graph[ MapAt[1&, Table[0,{Length[v]},{Length[v]}], l], v]
+
+FromUnorderedPairs[l_List] := MakeUndirected[ FromOrderedPairs[l] ]
+FromUnorderedPairs[l_List,v_List] := MakeUndirected[ FromOrderedPairs[l,v] ]
+
+(* Addition: Extension of From* and ToOrderedPairs
+by Fukuda 941006 *)
+FromOrderedTriples[tr_List]:=
+	Block[{graph,pairs,wedges},
+		pairs=Transpose[Drop[Transpose[tr],-1]];
+		graph=FromOrderedPairs[pairs];
+		wedges=Edges[graph];
+		Scan[(wedges[[#[[1]],#[[2]]]]=#[[3]])&,tr];
+	graph=Graph[wedges,Vertices[graph]]
+	]
+
+FromUnorderedTriples[tr_List]:=
+	Block[{graph,pairs,wedges},
+		pairs=Transpose[Drop[Transpose[tr],-1]];
+		graph=FromOrderedPairs[pairs];
+		wedges=Edges[graph];
+		Scan[(wedges[[#[[1]],#[[2]]]]=#[[3]];wedges[[#[[2]],#[[1]]]]=#[[3]])&,tr];
+	graph=Graph[wedges,Vertices[graph]]
+	]
+
+ToOrderedTriples[g_Graph] := 
+	Map[Append[#,Edges[g][[#[[1]],#[[2]]]]]&, Position[ Edges[g], _?(Function[n,n != 0]) ]]
+(* end of Addition   *)
+
+PseudographQ[Graph[g_,_]] :=
+	Module[{i},
+		Apply[Or, Table[ g[[i,i]]!=0, {i,Length[g]} ]]
+	]
+
+UnweightedQ[Graph[g_,_]] := Apply[ And, Map[(#==0 || #==1)&, Flatten[g] ] ]
+
+SimpleQ[g_Graph] := (!PseudographQ[g]) && (UnweightedQ[g])
+
+RemoveSelfLoops[g_Graph] :=
+	Module[{i,e=Edges[g]},
+		Do [ e[[i,i]]=0, {i,V[g]} ];
+		Graph[e, Vertices[g]]
+	]	
+
+EmptyQ[g_Graph] := Edges[g] == Table[0, {V[g]}, {V[g]}]
+
+CompleteQ[g_Graph] := Edges[RemoveSelfLoops[g]] == Edges[ K[V[g]] ]
+ 
+InduceSubgraph[g_Graph,{}] := Graph[{},{}]
+
+InduceSubgraph[Graph[g_,v_],s_List] :=
+	Graph[Transpose[Transpose[g[[s]]] [[s]] ],v[[s]]] /; (Length[s]<=Length[g])
+ 
+Contract[g_Graph,{u_Integer,v_Integer}] :=
+	Module[{o,e,i,n=V[g],newg,range=Complement[Range[V[g]],{u,v}]},
+		newg = InduceSubgraph[g,range];
+		e = Edges[newg]; o = Edges[g];
+		Graph[
+			Append[
+				Table[
+					Append[e[[i]],
+						If[o[[range[[i]],u]]>0 ||
+							o[[range[[i]],v]]>0,1,0] ],
+					{i,n-2}
+				],
+				Append[
+					Map[(If[o[[u,#]]>0||o[[v,#]]>0,1,0])&,range],
+					0
+				]
+			],
+			Join[Vertices[newg], {(Vertices[g][[u]]+Vertices[g][[v]])/2}]
+		]
+	] /; V[g] > 2
+
+Contract[g_Graph,_] := K[1]	/; V[g] == 2
+ 
+GraphComplement[Graph[g_,v_]] :=
+	RemoveSelfLoops[ Graph[ Map[ (Map[ (If [#==0,1,0])&, #])&, g], v ] ]
+ 
+MakeUndirected[Graph[g_,v_]] :=
+	Module[{i,j,n=Length[g]},
+		Graph[ Table[If [g[[i,j]]!=0 || g[[j,i]]!=0,1,0],{i,n},{j,n}], v ]
+	]
+
+UndirectedQ[Graph[g_,_]] := (Apply[Plus,Apply[Plus,Abs[g-Transpose[g]]]] == 0)
+
+MakeSimple[g_Graph] := MakeUndirected[RemoveSelfLoops[g]]
+ 
+BFS[g_Graph,start_Integer] :=
+	Module[{e,bfi=Table[0,{V[g]}],cnt=1,edges={},queue={start}},
+		e = ToAdjacencyLists[g];
+		bfi[[start]] = cnt++;
+		While[ queue != {},
+			{v,queue} = {First[queue],Rest[queue]};
+			Scan[
+				(If[ bfi[[#]] == 0,
+					bfi[[#]] = cnt++;
+					AppendTo[edges,{v,#}];
+					AppendTo[queue,#]
+				])&,
+				e[[v]]
+			];
+		];
+		{edges,bfi}
+	]
+				
+BreadthFirstTraversal[g_Graph,s_Integer,Edge] := First[BFS[g,s]]
+
+BreadthFirstTraversal[g_Graph,s_Integer,___] := InversePermutation[Last[BFS[g,s]]]
+ 
+DFS[v_Integer] :=
+	( dfi[[v]] = cnt++;
+	  AppendTo[visit,v];
+	  Scan[ (If[dfi[[#]]==0,AppendTo[edges,{v,#}];DFS[#] ])&, e[[v]] ] )
+
+DepthFirstTraversal[g_Graph,start_Integer,flag_:Vertex] :=
+	Block[{visit={},e=ToAdjacencyLists[g],edges={},dfi=Table[0,{V[g]}],cnt=1},
+		DFS[start];
+		If[ flag===Edge, edges, visit]
+	]
+
+ShowGraph[g1_Graph,type_:Undirected] :=
+	Module[{g=NormalizeVertices[g1]},
+		Show[
+			Graphics[
+				Join[
+					PointsAndLines[g],
+					If[SameQ[type,Directed],Arrows[g],{}]
+				]
+			], 
+			{AspectRatio->1, PlotRange->FindPlotRange[Vertices[g]]}
+		]
+	]
+
+(* Addtion: Weighted Graph drawing by
+   Fukuda 941006  *)
+ShowWeightedGraph[g1_Graph,type_:Undirected] :=
+	Module[{g=NormalizeVertices[g1]},
+		Show[
+			Graphics[
+				Join[
+					If[SameQ[type,Directed],PointsAndLines[g],PointsAndProportionalLines[g]],
+					If[SameQ[type,Directed],ProportionalArrows[g],{}]
+				]
+			], 
+			{AspectRatio->1, PlotRange->FindPlotRange[Vertices[g]]}
+		]
+	]
+
+
+MinimumEdgeLength[v_List,pairs_List] :=
+	Max[ Select[
+		Chop[ Map[(Sqrt[ N[(v[[#[[1]]]]-v[[#[[2]]]]) . 
+			(v[[#[[1]]]]-v[[#[[2]]]])] ])&,pairs] ],
+		(# > 0)&
+	], 0.001 ]
+
+(* Change:  for larger off-set by K. Fukuda 930530  *)
+FindPlotRange[v_List] :=
+	Module[{xmin=Min[Map[First,v]], xmax=Max[Map[First,v]],
+			ymin=Min[Map[Last,v]], ymax=Max[Map[Last,v]]},
+		{ {xmin - 0.18 Max[1,xmax-xmin], xmax + 0.18 Max[1,xmax-xmin]},
+		  {ymin - 0.18 Max[1,ymax-ymin], ymax + 0.18 Max[1,ymax-ymin]} }
+	]
+(* end Change *)
+
+(* Change:  for thiner line and smaller points by 
+   K. Fukuda 960516  *)
+PointsAndLines[Graph[e_List,v_List]] :=
+	Module[{pairs=ToOrderedPairs[Graph[e,v]]},
+		Join[
+			{PointSize[ 0.02 ]},
+			Map[Point,Chop[v]],
+			{Thickness[ 0.0025 ]},
+			Map[(Line[Chop[ v[[#]] ]])&,pairs]
+		]
+	]
+PointsAndProportionalLines[Graph[e_List,v_List]] :=
+	Module[{triples=ToOrderedTriples[Graph[e,v]]},
+		Join[
+			{PointSize[ 0.02 ]},
+			Map[Point,Chop[v]],
+			Map[{Thickness[ 0.0025 * #[[3]]],(Line[Chop[ v[[Drop[#,-1]]] ]])}&,triples]
+		]
+	]
+
+
+(* End Change *)
+
+(* Change:  Narrower arrow, and different arrow positioning by 
+   K. Fukuda 930604  *)
+Arrows[Graph[e_,v_]] :=
+	Module[{pairs=ToOrderedPairs[Graph[e,v]], size, triangle},
+		size = Min[0.04, MinimumEdgeLength[v,pairs]/4];
+		triangle={ {0,0}, {-size,size/4}, {-size,-size/4} };
+		Map[
+			(Polygon[
+				TranslateVertices[
+					RotateVertices[
+						triangle,
+						Arctan[Apply[Subtract,v[[#]]]]+Pi
+					],
+					v[[ #[[2]] ]]*(7/8)+v[[ #[[1]] ]]*(1/8)
+				]
+			])&,
+			pairs
+		]
+	]
+(* end of Change *)
+
+(* Addition: Proportional arrows for weighted graphs by 
+   K. Fukuda 930604  *)
+ProportionalArrows[Graph[e_,v_]] :=
+	Module[{triples=ToOrderedTriples[Graph[e,v]], 
+		pairs=ToOrderedPairs[Graph[e,v]],size, triangle},
+		size = Min[0.05, MinimumEdgeLength[v,pairs]/3];
+		triangle={ {0,0}, {-size,size/4}, {-size,-size/4} };
+		Map[
+			(Polygon[
+				TranslateVertices[
+					RotateVertices[
+						triangle * #[[3]],
+						Arctan[Apply[Subtract,v[[Drop[#,-1]]]]]+Pi
+					],
+					v[[ #[[2]] ]]*(7/8)+v[[ #[[1]] ]]*(1/8)
+				]
+			])&,
+			triples
+		]
+	]
+(* end of Change *)
+
+ShowLabeledGraph[g_Graph] := ShowLabeledGraph[g,Range[V[g]]]
+ShowLabeledGraph[g1_Graph,labels_List] :=
+	Module[{pairs=ToOrderedPairs[g1], g=NormalizeVertices[g1], v},
+		v = Vertices[g];
+		Show[
+			Graphics[
+				Join[
+					PointsAndLines[g],
+					Map[(Line[Chop[ v[[#]] ]])&, pairs],
+					GraphLabels[v,labels]
+				]
+			],
+			{AspectRatio->1, PlotRange->FindPlotRange[v]} 
+		]
+	]
+
+(* Addition: Directed option for ShowLabeledGraph   
+   by K. Fukuda 930604  *)
+ShowLabeledGraph[g1_Graph,labels_List,type_:Undirected] :=
+	Module[{pairs=ToOrderedPairs[g1], g=NormalizeVertices[g1], v},
+		v = Vertices[g];
+		Show[
+			Graphics[
+				Join[
+					PointsAndLines[g],
+					If[SameQ[type,Directed],Arrows[g],{}],
+					Map[(Line[Chop[ v[[#]] ]])&, pairs],
+					GraphLabels[v,labels]
+				]
+			],
+			{AspectRatio->1, PlotRange->FindPlotRange[v]} 
+		]
+	]
+
+ShowWeightedLabeledGraph[g1_Graph,labels_List,type_:Undirected] :=
+	Module[{pairs=ToOrderedPairs[g1], g=NormalizeVertices[g1], v},
+		v = Vertices[g];
+		Show[
+			Graphics[
+				Join[
+					If[SameQ[type,Directed],PointsAndLines[g],PointsAndProportionalLines[g]],
+					If[SameQ[type,Directed],ProportionalArrows[g],{}],
+					Map[(Line[Chop[ v[[#]] ]])&, pairs],
+					GraphLabels[v,labels]
+				]
+			],
+			{AspectRatio->1, PlotRange->FindPlotRange[v]} 
+		]
+	]
+
+
+(* end Addition *)
+
+GraphLabels[v_List,l_List] :=
+	Module[{i},
+		Table[ Text[ l[[i]],v[[i]]-{0.025,0.025},{0,1} ],{i,Length[v]}]
+	]
+ 
+CircularVertices[0] := {}
+
+CircularVertices[n_Integer] :=
+	Module[{i,x = N[2 Pi / n]},
+		Chop[ Table[ N[{ (Cos[x i]), (Sin[x i]) }], {i,n} ] ]
+	]
+
+CircularVertices[Graph[g_,_]] := Graph[ g, CircularVertices[ Length[g] ] ]
+ 
+RankGraph[g_Graph, start_List] :=
+	Module[ {rank = Table[0,{V[g]}],edges = ToAdjacencyLists[g],v,queue,new},
+		Scan[ (rank[[#]] = 1)&, start];
+		queue = start;
+		While [queue != {},
+			v = First[queue];
+			new = Select[ edges[[v]], (rank[[#]] == 0)&];
+			Scan[ (rank[[#]] = rank[[v]]+1)&, new];
+			queue = Join[ Rest[queue], new];
+		];
+		rank
+	]
+ 
+RankedEmbedding[g_Graph,start_List] := Graph[ Edges[g],RankedVertices[g,start] ]
+
+RankedVertices[g_Graph,start_List] :=
+	Module[{i,m,stages,rank,freq = Table[0,{V[g]}]},
+		rank = RankGraph[g,start];
+		stages = Distribution[ rank ];
+		Table[
+			m = ++ freq[[ rank[[i]] ]];
+			{rank[[i]], (m-1) + (1 - stages[[ rank[[i]] ]])/2 },
+			{i,V[g]}
+		]
+	]
+
+Distribution[l_List] := Distribution[l, Union[l]]
+Distribution[l_List, set_List] := Map[(Count[l,#])&, set]
+ 
+Eccentricity[g_Graph] := Map[ Max, AllPairsShortestPath[g] ]
+Eccentricity[g_Graph,start_Integer] := Map[ Max, Last[Dijkstra[g,start]] ]
+
+Diameter[g_Graph] := Max[ Eccentricity[g] ]
+
+Radius[g_Graph] := Min[ Eccentricity[g] ]
+
+GraphCenter[g_Graph] := 
+	Module[{eccentricity = Eccentricity[g]},
+		Flatten[ Position[eccentricity, Min[eccentricity]] ]
+	]
+ 
+RadialEmbedding[g_Graph,ct_Integer] :=
+	Module[{center=ct,ang,i,da,theta,n,v,positioned,done,next,e=ToAdjacencyLists[g]},
+		ang = Table[{0,2 Pi},{n=V[g]}];
+		v = Table[{0,0},{n}];
+		positioned = next = done = {center};
+		While [next != {},
+			center = First[next];
+			new = Complement[e[[center]], positioned];
+			Do [
+				da = (ang[[center,2]]-ang[[center,1]])/Length[new];
+				ang[[ new[[i]] ]] = {ang[[center,1]] + (i-1)*da,
+					ang[[center,1]] + i*da};
+				theta = Apply[Plus,ang[[ new[[i]] ]] ]/2;
+				v[[ new[[i]] ]] = v[[center]] +
+					N[{Cos[theta],Sin[theta]}],
+				{i,Length[new]}
+			];
+			next = Join[Rest[next],new];
+			positioned = Union[positioned,new];
+			AppendTo[done,center]
+		];
+		Graph[Edges[g],v]
+	]
+
+RadialEmbedding[g_Graph] := RadialEmbedding[g,First[GraphCenter[g]]];
+ 
+RootedEmbedding[g_Graph,rt_Integer] :=
+	Module[{root=rt,pos,i,x,dx,new,n=V[g],v,done,next,e=ToAdjacencyLists[g]},
+		pos = Table[{-Ceiling[Sqrt[n]],Ceiling[Sqrt[n]]},{n}];
+		v = Table[{0,0},{n}];
+		next = done = {root};
+		While [next != {},
+			root = First[next];
+			new = Complement[e[[root]], done];
+			Do [
+				dx = (pos[[root,2]]-pos[[root,1]])/Length[new];
+				pos[[ new[[i]] ]] = {pos[[root,1]] + (i-1)*dx,
+					pos[[root,1]] + i*dx};
+				x = Apply[Plus,pos[[ new[[i]] ]] ]/2;
+				v[[ new[[i]] ]] = {x,v[[root,2]]-1},
+				{i,Length[new]}
+			];
+			next = Join[Rest[next],new];
+			done = Join[done,new]
+		];
+		Graph[Edges[g],N[v]]
+	]
+ 
+TranslateVertices[v_List,{x_,y_}] := Map[ (# + {x,y})&, v ]
+TranslateVertices[Graph[g_,v_],{x_,y_}] := Graph[g, TranslateVertices[v,{x,y}] ]
+
+DilateVertices[v_List,d_] := (d * v)
+DilateVertices[Graph[e_,v_],d_] := Graph[e, DilateVertices[v,d]]
+
+RotateVertices[v_List,t_] := 
+	Module[{d,theta},
+		Map[
+			(If[# == {0,0}, {0,0},
+				d=Sqrt[#[[1]]^2 + #[[2]]^2];
+			 	theta = t + Arctan[#];
+			 	N[{d Cos[theta], d Sin[theta]}]
+			])&,
+			v
+		]
+	]
+RotateVertices[Graph[g_,v_],t_] := Graph[g, RotateVertices[v,t]]
+
+Arctan[{x_,y_}] := Arctan1[Chop[{x,y}]]
+Arctan1[{0,0}] := 0
+Arctan1[{x_,y_}] := ArcTan[x,y]
+
+(* Change: to normalize in x and y directions independently]
+   by K. Fukuda 930601  *)
+NormalizeVertices[v_List] := 
+	Module[{vx=Transpose[v][[1]],vy=Transpose[v][[2]],
+		xmin,xmax,ymin,ymax,dx,dy},
+		xmin=Min[vx];  xmax=Max[vx];
+		ymin=Min[vy];  ymax=Max[vy];
+		dx=Max[(xmax-xmin),0.01];
+		dy=Max[(ymax-ymin),0.01];
+		Map[{(#[[1]]-xmin)/dx,(#[[2]]-ymin)/dy}&,v]
+	]
+(* end Change  *)
+
+NormalizeVertices[Graph[g_,v_]] := Graph[g, NormalizeVertices[v]]
+ 
+ShakeGraph[Graph[e_List,v_List], fract_:0.1] :=
+	Module[{i,d,a},
+		Graph[
+			e,
+			Table[ 
+				d = Random[Real,{0,fract}];
+				a = Random[Real,{0, 2 N[Pi]}];
+				{N[v[[i,1]] + d Cos[a]], N[v[[i,2]] + d Sin[a]]},
+				{i,Length[e]}
+			]
+		]
+	]
+ 
+CalculateForce[u_Integer,g_Graph,em_List] :=
+	Module[{n=V[g],stc=0.25,gr=10.0,e=Edges[g],f={0.0,0.0},spl=1.0,v,dsquared},
+		Do [
+			dsquared = Max[0.001, Apply[Plus,(em[[u]]-em[[v]])^2] ];
+			f += (1-e[[u,v]]) (gr/dsquared) (em[[u]]-em[[v]])
+				- e[[u,v]] stc Log[dsquared/spl] (em[[u]]-em[[v]]),
+			{v,n}
+		];
+		f
+	]
+
+SpringEmbedding[g_Graph,step_:10,inc_:0.15] :=
+	Module[{new=old=Vertices[g],n=V[g],i,u,g1=MakeUndirected[g]},
+		Do [
+			Do [
+				new[[u]] = old[[u]]+inc*CalculateForce[u,g1,old],
+				{u,n}
+			];
+			old = new,
+			{i,step}
+		];
+		Graph[Edges[g],new]
+	]
+ 
+(*	Rewritten for Version 2.0	*)
+
+
+(* Change: A directed spring embedding made by 
+Fukuda 94-10-05 *)
+
+SpringEmbeddingDirected[g_Graph,step_:10,inc_:0.15] :=
+	Module[{new=old=Vertices[g],n=V[g],i,u,g1=g},
+		Do [
+			Do [
+				new[[u]] = old[[u]]+inc*CalculateForce[u,g1,old],
+				{u,n}
+			];
+			old = new,
+			{i,step}
+		];
+		Graph[Edges[g],new]
+	]
+ 
+(* end of Change *)
+
+ReadGraph[file_] :=
+	Module[{edgelist={}, v={},x},
+		OpenRead[file];
+		While[!SameQ[(x = Read[file,Number]), EndOfFile],
+			AppendTo[v,Read[file,{Number,Number}]];
+			AppendTo[edgelist,
+				Convert[Characters[Read[file,String]]]
+			];
+		];
+		Close[file];
+		FromAdjacencyLists[edgelist,v]
+	]
+
+Toascii[s_String] := First[ ToCharacterCode[s] ]
+
+Convert[l_List] := 
+	Module[{ch,num,edge={},i=1},
+		While[i <= Length[l],
+			If[ DigitQ[ l[[i]] ], 
+				num = 0;
+				While[ ((i <= Length[l]) && (DigitQ[l[[i]]])),
+					num = 10 num + Toascii[l[[i++]]] - Toascii["0"]
+				];
+				AppendTo[edge,num],
+				i++
+			];
+		];
+		edge
+	]
+ 
+WriteGraph[g_Graph,file_] := 
+	Module[{edges=ToAdjacencyLists[g],v=N[NormalizeVertices[Vertices[g]]],i,x,y},
+		OpenWrite[file];
+		Do[
+			WriteString[file,"	",ToString[i]];
+			{x,y} = Chop[ v [[i]] ];
+			WriteString[file,"	",ToString[x],"	",ToString[y]];
+			Scan[
+				(WriteString[file,"	",ToString[ # ]])&,
+				edges[[i]]
+			];
+			Write[file],
+			{i,V[g]}
+		];
+		Close[file];
+	]
+ 
+GraphUnion[g_Graph,h_Graph] :=
+	Module[{maxg=Max[ Map[First,Vertices[g]] ], minh=Min[ Map[First,Vertices[h]] ]},
+		FromOrderedPairs[
+			Join[ ToOrderedPairs[g], (ToOrderedPairs[h] + V[g])],
+			Join[ Vertices[g], Map[({maxg-minh+1,0}+#)&, Vertices[h] ] ]
+		]
+	]
+
+GraphUnion[1,g_Graph] := g
+GraphUnion[0,g_Graph] := EmptyGraph[0];
+GraphUnion[k_Integer,g_Graph] := GraphUnion[ GraphUnion[k-1,g], g]
+
+ExpandGraph[g_Graph,n_] := GraphUnion[ g, EmptyGraph[n - V[g]] ] /; V[g] <= n
+ 
+GraphIntersection[g_Graph,h_Graph] :=
+	FromOrderedPairs[
+		Intersection[ToOrderedPairs[g],ToOrderedPairs[h]],
+		Vertices[g]
+	] /; (V[g] == V[h])
+ 
+GraphDifference[g1_Graph,g2_Graph] :=
+	Graph[Edges[g1] - Edges[g2], Vertices[g1]] /; V[g1]==V[g2]
+
+GraphSum[g1_Graph,g2_Graph] :=
+	Graph[Edges[g1] + Edges[g2], Vertices[g1]] /; V[g1]==V[g2]
+ 
+GraphJoin[g_Graph,h_Graph] :=
+	Module[{maxg=Max[ Abs[ Map[First,Vertices[g]] ] ]},
+		FromUnorderedPairs[
+			Join[
+				ToUnorderedPairs[g],
+				ToUnorderedPairs[h] + V[g],
+				CartesianProduct[Range[V[g]],Range[V[h]]+V[g]]
+			],
+			Join[ Vertices[g], Map[({maxg+1,0}+#)&, Vertices[h]]]
+		]
+	]
+
+CartesianProduct[a_List,b_List] :=
+	Module[{i,j},
+		Flatten[ Table[{a[[i]],b[[j]]},{i,Length[a]},{j,Length[b]}], 1]
+	]
+ 
+GraphProduct[g_Graph,h_Graph] :=
+	Module[{k,eg=ToOrderedPairs[g],eh=ToOrderedPairs[h],leng=V[g],lenh=V[h]},
+		FromOrderedPairs[
+			Flatten[
+				Join[
+					Table[eg+(i-1)*leng, {i,lenh}],
+					Map[ (Table[
+						{leng*(#[[1]]-1)+k, leng*(#[[2]]-1)+k},
+						{k,1,leng}
+					      ])&,
+					      eh
+					]
+				],
+				1
+			],
+			ProductVertices[Vertices[g],Vertices[h]]
+		]
+	]
+
+ProductVertices[vg_,vh_] :=
+	Flatten[
+		Map[
+			(TranslateVertices[
+				DilateVertices[vg, 1/(Max[Length[vg],Length[vh]])],
+			#])&,
+			 RotateVertices[vh,Pi/2]
+		],
+		1
+	]
+ 
+IncidenceMatrix[g_Graph] :=
+	Map[
+		( Join[
+			Table[0,{First[#]-1}], {1},
+			Table[0,{Last[#]-First[#]-1}], {1},
+			Table[0,{V[g]-Last[#]}]
+		] )&,
+		ToUnorderedPairs[g]
+	]
+ 
+LineGraph[g_Graph] :=
+	Module[{b=IncidenceMatrix[g], edges=ToUnorderedPairs[g], v=Vertices[g]},
+		Graph[
+			b . Transpose[b] - 2 IdentityMatrix[Length[edges]],
+			Map[ ( (v[[ #[[1]] ]] + v[[ #[[2]] ]]) / 2 )&, edges]
+		]
+	]
+ 
+K[0] := Graph[{},{}]
+K[1] := Graph[{{0}},{{0,0}}]
+
+K[n_Integer?Positive] := CirculantGraph[n,Range[1,Floor[(n+1)/2]]]
+
+CirculantGraph[n_Integer?Positive,l_List] :=
+	Module[{i,r},
+		r = Prepend[MapAt[1&,Table[0,{n-1}], Map[List,Join[l,n-l]]], 0];
+		Graph[ Table[RotateRight[r,i], {i,0,n-1}], CircularVertices[n] ]
+	]
+
+EmptyGraph[n_Integer?Positive] :=
+	Module[{i},
+		Graph[ Table[0,{n},{n}], Table[{0,i},{i,(1-n)/2,(n-1)/2}] ]
+	]
+ 
+K[l__] :=
+	Module[{ll=List[l],t,i,x,row,stages=Length[List[l]]},
+		t = FoldList[Plus,0,ll];
+		Graph[
+			Apply[
+				Join,
+				Table [
+					row = Join[
+						Table[1, {t[[i-1]]}],
+						Table[0, {t[[i]]-t[[i-1]]}],
+						Table[1, {t[[stages+1]]-t[[i]]}]
+					];
+					Table[row, {ll[[i-1]]}],
+					{i,2,stages+1}
+				]
+			
+			],
+			Apply [
+				Join,
+				Table[
+					Table[{x,i-1+(1-ll[[x]])/2},{i,ll[[x]]}],
+					{x,stages}
+				]
+			]
+		]
+	] /; TrueQ[Apply[And, Map[Positive,List[l]]]] && (Length[List[l]]>1)
+ 
+Turan[n_Integer,p_Integer] :=
+	Module[{k = Floor[ n / (p-1) ], r},
+		r = n - k (p-1);
+		Apply[K, Join[ Table[k,{p-1-r}], Table[k+1,{r}] ] ]
+	] /; (n > 0 && p > 1)
+ 
+Cycle[n_Integer] := CirculantGraph[n,{1}]  /; n>=3
+ 
+Star[n_Integer?Positive] :=
+	Module[{g},
+		g = Append [ Table[0,{n-1},{n}], Append[ Table[1,{n-1}], 0] ];
+		Graph[
+			g + Transpose[g],
+			Append[ CircularVertices[n-1], {0,0}]
+		]
+	]
+ 
+Wheel[n_Integer] :=
+	Module[{i,row = Join[{0,1}, Table[0,{n-4}], {1}]},
+		Graph[
+			Append[
+				Table[ Append[RotateRight[row,i-1],1], {i,n-1}],
+				Append[ Table[1,{n-1}], 0]
+			],
+			Append[ CircularVertices[n-1], {0,0} ]
+		]
+	] /; n >= 3
+ 
+Path[1] := K[1]
+Path[n_Integer?Positive] :=
+	FromUnorderedPairs[ Partition[Range[n],2,1], Map[({#,0})&,Range[n]] ]
+
+GridGraph[n_Integer?Positive,m_Integer?Positive] :=
+	GraphProduct[
+		ChangeVertices[Path[n], Map[({Max[n,m]*#,0})&,Range[n]]],
+		Path[m]
+	]
+ 
+Hypercube[n_Integer] := Hypercube1[n]
+
+Hypercube1[0] := K[1]
+Hypercube1[1] := Path[2]
+Hypercube1[2] := Cycle[4]
+
+Hypercube1[n_Integer] := Hypercube1[n] =
+	GraphProduct[
+		RotateVertices[ Hypercube1[Floor[n/2]], 2Pi/5],
+		Hypercube1[Ceiling[n/2]]
+	]
+ 
+LabeledTreeToCode[g_Graph] :=
+	Module[{e=ToAdjacencyLists[g],i,code},
+		Table [
+			{i} = First[ Position[ Map[Length,e], 1 ] ];
+			code = e[[i,1]];
+			e[[code]] = Complement[ e[[code]], {i} ];
+			e[[i]] = {};
+			code,
+			{V[g]-2}
+		]
+	]
+ 
+CodeToLabeledTree[l_List] :=
+	Module[{m=Range[Length[l]+2],x,i},
+		FromUnorderedPairs[
+			Append[
+				Table[
+					x = Min[Complement[m,Drop[l,i-1]]];
+					m = Complement[m,{x}];
+					{x,l[[i]]},
+					{i,Length[l]}
+				],
+				m
+			]
+		]
+	]
+
+RandomTree[n_Integer?Positive] :=
+	RadialEmbedding[CodeToLabeledTree[ Table[Random[Integer,{1,n}],{n-2}] ], 1]
+ 
+RandomGraph[n_Integer,p_] := RandomGraph[n,p,{1,1}]
+
+RandomGraph[n_Integer,p_,range_List] :=
+	Module[{i,g},
+		g = Table[ 
+			Join[
+				Table[0,{i}],
+				Table[ 
+					If[Random[Real]<p, Random[Integer,range], 0],
+					{n-i}
+				]
+			],
+			{i,n}
+		];
+		Graph[ g + Transpose[g], CircularVertices[n] ]
+	]
+ 
+ExactRandomGraph[n_Integer,e_Integer] :=
+	FromUnorderedPairs[
+		Map[ NthPair, Take[ RandomPermutation[n(n-1)/2], e] ],
+		CircularVertices[n]
+	]
+
+NthPair[0] := {}
+NthPair[n_Integer] :=
+	Module[{i=2},
+		While[ Binomial[i,2] < n, i++];
+		{n - Binomial[i-1,2], i}
+	]
+
+RandomVertices[n_Integer] := Table[{Random[], Random[]}, {n}]
+RandomVertices[g_Graph] := Graph[ Edges[g], RandomVertices[V[g]] ]
+ 
+RandomGraph[n_Integer,p_,range_List,Directed] :=
+	RemoveSelfLoops[
+		Graph[
+			Table[If[Random[Real]<p,Random[Integer,range],0],{n},{n}],
+			CircularVertices[n]
+		]
+	]
+
+RandomGraph[n_Integer,p_,Directed] := RandomGraph[n,p,{1,1},Directed]
+ 
+DegreeSequence[g_Graph] := Reverse[ Sort[ Degrees[g] ] ]
+
+Degrees[Graph[g_,_]] := Map[(Apply[Plus,#])&, g]
+
+GraphicQ[s_List] := False /; (Min[s] < 0) || (Max[s] >= Length[s])
+GraphicQ[s_List] := (First[s] == 0) /; (Length[s] == 1)
+GraphicQ[s_List] :=
+	Module[{m,sorted = Reverse[Sort[s]]},
+		m = First[sorted];
+		GraphicQ[ Join[ Take[sorted,{2,m+1}]-1, Drop[sorted,m+1] ] ]
+	]
+ 
+RealizeDegreeSequence[d_List] :=
+	Module[{i,j,v,set,seq,n=Length[d],e},
+		seq = Reverse[ Sort[ Table[{d[[i]],i},{i,n}]] ];
+		FromUnorderedPairs[
+			Flatten[ Table[
+				{{k,v},seq} = {First[seq],Rest[seq]};
+				While[ !GraphicQ[
+					MapAt[
+						(# - 1)&,
+						Map[First,seq],
+						set = RandomKSubset[Table[{i},{i,n-j}],k] 
+					] ]
+				];
+				e = Map[(Prepend[seq[[#,2]],v])&,set];
+				seq = Reverse[ Sort[
+					MapAt[({#[[1]]-1,#[[2]]})&,seq,set]
+				] ];
+				e,
+				{j,Length[d]-1}
+			], 1],
+			CircularVertices[n]
+		]
+	] /; GraphicQ[d]
+
+RealizeDegreeSequence[d_List,seed_Integer] :=
+	(SeedRandom[seed]; RealizeDegreeSequence[d])
+ 
+RegularQ[Graph[g_,_]] := Apply[ Equal, Map[(Apply[Plus,#])& , g] ]
+
+RegularGraph[k_Integer,n_Integer] := RealizeDegreeSequence[Table[k,{n}]]
+ 
+MakeGraph[v_List,f_] :=
+	Module[{n=Length[v],i,j},
+		Graph [
+			Table[If [Apply[f,{v[[i]],v[[j]]}], 1, 0],{i,n},{j,n}],
+			CircularVertices[n]
+		]
+	]
+ 
+IntervalGraph[l_List] :=
+	MakeGraph[
+		l,
+		( ((First[#1] <= First[#2]) && (Last[#1] >= First[#2])) ||
+		  ((First[#2] <= First[#1]) && (Last[#2] >= First[#1])) )&
+	]
+ 
+FunctionalGraph[f_,n_] :=
+	Module[{i,x},
+		FromOrderedPairs[
+			Table[{i, x=Mod[Apply[f,{i}],n]; If[x!=0,x,n]}, {i,n} ],
+			CircularVertices[n]
+		]
+	]
+ 
+ConnectedComponents[g_Graph] :=
+	Module[{untraversed=Range[V[g]],traversed,comps={}},
+		While[untraversed != {},
+			traversed = DepthFirstTraversal[g,First[untraversed]];
+			AppendTo[comps,traversed];
+			untraversed = Complement[untraversed,traversed]
+		];
+		comps
+	]
+
+ConnectedQ[g_Graph] := Length[ DepthFirstTraversal[g,1] ] == V[g]
+ 
+WeaklyConnectedComponents[g_Graph] := ConnectedComponents[ MakeUndirected[g] ]
+
+ConnectedQ[g_Graph,Undirected] := Length[ WeaklyConnectedComponents[g] ] == 1
+ 
+StronglyConnectedComponents[g_Graph] :=
+	Block[{e=ToAdjacencyLists[g],s,c=1,i,cur={},low=dfs=Table[0,{V[g]}],scc={}},
+		While[(s=Select[Range[V[g]],(dfs[[#]]==0)&]) != {},
+			SearchStrongComp[First[s]];
+		];
+		scc
+	]
+
+SearchStrongComp[v_Integer] :=
+	Block[{r},
+		low[[v]]=dfs[[v]]=c++;
+		PrependTo[cur,v];
+		Scan[
+			(If[dfs[[#]] == 0,
+				SearchStrongComp[#];
+				low[[v]]=Min[low[[v]],low[[#]]],
+				If[(dfs[[#]] < dfs[[v]]) && MemberQ[cur,#],
+					low[[v]]=Min[low[[v]],dfs[[#]] ]
+				];
+			])&,
+			e[[v]]
+		];
+		If[low[[v]] == dfs[[v]],
+			{r} = Flatten[Position[cur,v]];
+			AppendTo[scc,Take[cur,r]];
+			cur = Drop[cur,r];
+		];
+	]
+
+ConnectedQ[g_Graph,Directed] := Length[ StronglyConnectedComponents[g] ] == 1
+ 
+OrientGraph[g_Graph] :=
+	Module[{pairs,newg,rest,cc,c,i,e},
+		pairs = Flatten[Map[(Partition[#,2,1])&,ExtractCycles[g]],1];
+		newg = FromUnorderedPairs[pairs,Vertices[g]];
+		rest = ToOrderedPairs[ GraphDifference[ g, newg ] ];
+		cc = Sort[ConnectedComponents[newg], (Length[#1]>=Length[#2])&];
+		c = First[cc];
+		Do[
+			e = Select[rest,(MemberQ[c,#[[1]]] &&
+					 MemberQ[cc[[i]],#[[2]]])&];
+			rest = Complement[rest,e,Map[Reverse,e]];
+			c = Union[c,cc[[i]]];
+			pairs = Join[pairs, Prepend[ Rest[e],Reverse[e[[1]]] ] ],
+			{i,2,Length[cc]}
+		];
+		FromOrderedPairs[
+			Join[pairs, Select[rest,(#[[1]] > #[[2]])&] ],
+			Vertices[g]
+		]
+	] /; SameQ[Bridges[g],{}]
+ 
+FindBiconnectedComponents[g_Graph] :=
+	Block[{e=ToAdjacencyLists[g],n=V[g],par,c=0,act={},back,dfs,ap=bcc={}},
+		back=dfs=Table[0,{n}];
+		par = Table[n+1,{n}]; 
+		Map[(SearchBiConComp[First[#]])&, ConnectedComponents[g]];
+		{bcc,Drop[ap, -1]}
+	]
+
+SearchBiConComp[v_Integer] :=
+	Block[{r},
+		back[[v]]=dfs[[v]]=++c;
+		Scan[
+			(If[ dfs[[#]] == 0, 
+				If[!MemberQ[act,{v,#}], PrependTo[act,{v,#}]];
+				par[[#]] = v;
+				SearchBiConComp[#];
+				If[ back[[#]] >= dfs[[v]],
+					{r} = Flatten[Position[act,{v,#}]];
+					AppendTo[bcc,Union[Flatten[Take[act,r]]]];
+					AppendTo[ap,v];
+					act = Drop[act,r]
+				];
+				back[[v]] = Min[ back[[v]],back[[#]] ],
+				If[# != par[[v]],back[[v]]=Min[dfs[[#]],back[[v]]]]
+			])&,
+			e[[v]]
+		];
+	]
+ 
+ArticulationVertices[g_Graph]  := Union[Last[FindBiconnectedComponents[g]]];
+
+Bridges[g_Graph] := Select[BiconnectedComponents[g],(Length[#] == 2)&]
+
+BiconnectedComponents[g_Graph] := First[FindBiconnectedComponents[g]];
+
+BiconnectedQ[g_Graph] := Length[ BiconnectedComponents[g] ] == 1
+ 
+EdgeConnectivity[g_Graph] :=
+	Module[{i},
+		Apply[Min, Table[NetworkFlow[g,1,i], {i,2,V[g]}]]
+	]
+ 
+VertexConnectivityGraph[g_Graph] :=
+	Module[{n=V[g],e},
+		e=Table[0,{2 n},{2 n}];
+		Scan[ (e[[#-1,#]] = 1)&, 2 Range[n] ];
+		Scan[
+			(e[[#[[1]], #[[2]]-1]] = e[[#[[2]],#[[1]]-1]] = Infinity)&,
+			2 ToUnorderedPairs[g]
+		];
+		Graph[e,Apply[Join,Map[({#,#})&,Vertices[g]]]]
+	]
+
+VertexConnectivity[g_Graph] :=
+	Module[{p=VertexConnectivityGraph[g],k=V[g],i=0,notedges},
+		notedges = ToUnorderedPairs[ GraphComplement[g] ];
+		While[ i++ <= k,
+			k = Min[
+				Map[
+					(NetworkFlow[p,2 #[[1]],2 #[[2]]-1])&,
+					Select[notedges,(First[#]==i)&]
+				],
+				k
+			]
+		];
+		k
+	]
+ 
+Harary[k_?EvenQ, n_Integer] := CirculantGraph[n,Range[k/2]]
+
+Harary[k_?OddQ, n_?EvenQ] := CirculantGraph[n,Append[Range[k/2],n/2]]
+
+Harary[k_?OddQ, n_?OddQ] :=
+	Module[{g=Harary[k-1,n],i},
+		FromUnorderedPairs[
+			Join[
+				ToUnorderedPairs[g],
+				{ {1,(n+1)/2}, {1,(n+3)/2} },
+				Table [ {i,i+(n+1)/2}, {i,2,(n-1)/2} ]
+			],
+			Vertices[g]
+		]
+	]
+ 
+IdenticalQ[g_Graph,h_Graph] := Edges[g] === Edges[h]
+
+IsomorphismQ[g_Graph,h_Graph,p_List] := False	/;
+		(V[g]!=V[h]) || !PermutationQ[p] || (Length[p] != V[g])
+
+IsomorphismQ[g_Graph,h_Graph,p_List] := IdenticalQ[g, InduceSubgraph[h,p] ]
+ 
+Isomorphism[g_Graph,h_Graph,flag_:One] := {}	/; (V[g] != V[h]) 
+
+Isomorphism[g_Graph,h_Graph,flag_:One] :=
+	Module[{eg=Edges[g],eh=Edges[h],equiv=Equivalences[g,h]},
+		If [!MemberQ[equiv,{}],
+			Backtrack[
+				equiv,
+				(IdenticalQ[InduceSubgraph[g,Range[Length[#]]],
+				    	InduceSubgraph[h,#] ] &&
+			 	!MemberQ[Drop[#,-1],Last[#]])&,
+				(IsomorphismQ[g,h,#])&,
+				flag
+			],
+			{}
+		]
+	]
+
+IsomorphicQ[g_Graph,h_Graph] := True /; IdenticalQ[g,h]
+IsomorphicQ[g_Graph,h_Graph] := ! SameQ[ Isomorphism[g,h], {}]
+
+Equivalences[g_Graph,h_Graph] :=
+	Equivalences[ AllPairsShortestPath[g], AllPairsShortestPath[h]]
+
+Equivalences[g_List,h_List] :=
+	Module[{dg=Map[Sort,g],dh=Map[Sort,h],s,i},
+		Table[
+			Flatten[Position[dh,_?(Function[s,SameQ[s,dg[[i]] ]])]],
+			{i,Length[dg]}
+		]
+	] /; Length[g] == Length[h]
+ 
+Automorphisms[g_Graph,flag_:All] :=
+	Module[{s=AllPairsShortestPath[g]},
+		Backtrack[
+			Equivalences[s,s],
+			(IdenticalQ[InduceSubgraph[g,Range[Length[#]]],
+				    InduceSubgraph[g,#] ] &&
+			 !MemberQ[Drop[#,-1],Last[#]])&,
+			(IsomorphismQ[g,g,#])&,
+			flag
+		]
+	]
+ 
+SelfComplementaryQ[g_Graph] := IsomorphicQ[g, GraphComplement[g]]
+ 
+FindCycle[g_Graph,flag_:Undirected] :=
+     Module[{edge,n=V[g],x,queue,v,seen,parent},
+       edge=ToAdjacencyLists[g];
+       For[ v = 1, v <= n, v++,
+           parent=Table[n+1,{n}]; parent[[v]] = 0;
+           seen = {}; queue = {v};
+           While[ queue != {},
+               {x,queue} = {First[queue], Rest[queue]};
+               AppendTo[seen,x];
+               If[ SameQ[ flag, Undirected],
+                   Scan[ (If[ parent[[x]] != #, parent[[#]]=x])&, edge[[x]] ],
+                   Scan[ (parent[[#]]=x)&, edge[[x]]]
+               ];
+               If[ SameQ[flag,Undirected],
+                   If[ MemberQ[ edge[[x]],v ] && parent[[x]] != v,
+                       Return[ FromParent[parent,x] ]
+                   ],
+                   If[ MemberQ[ edge[[x]],v ],
+                       Return[ FromParent[parent,x] ]
+                   ]
+               ];
+               queue = Join[ Complement[ edge[[x]], seen], queue]
+           ]
+       ];
+     {}
+     ]
+
+FromParent[parent_List,s_Integer] :=
+	Module[{i=s,lst={s}},
+		While[!MemberQ[lst,(i=parent[[i]])], PrependTo[lst,i] ];
+		PrependTo[lst,i];
+		Take[lst, Flatten[Position[lst,i]]]
+	]
+ 
+AcyclicQ[g_Graph,flag_:Undirected] := SameQ[FindCycle[g,flag],{}]
+
+TreeQ[g_Graph] := ConnectedQ[g] && (M[g] == V[g]-1)
+
+ExtractCycles[gi_Graph,flag_:Undirected] := 
+	Module[{g=gi,cycles={},c},
+		While[!SameQ[{}, c=FindCycle[g,flag]],
+			PrependTo[cycles,c];
+			g = DeleteCycle[g,c,flag];
+		];
+		cycles
+	]
+
+DeleteCycle[g_Graph,cycle_List,flag_:Undirected] :=
+	Module[{newg=g},
+		Scan[(newg=DeleteEdge[newg,#,flag])&, Partition[cycle,2,1] ];
+		newg
+	]
+ 
+Girth[g_Graph] := 
+	Module[{v,dist,queue,n=V[g],girth=Infinity,parent,e=ToAdjacencyLists[g],x},
+		Do [
+			dist = parent = Table[Infinity, {n}];
+			dist[[v]] = parent[[v]] = 0;
+			queue = {v};
+			While [queue != {},
+				{x,queue} = {First[queue],Rest[queue]};
+				Scan[
+					(If [ (dist[[#]]+dist[[x]]<girth) &&
+				     	      (parent[[x]] != #),
+						girth=dist[[#]]+dist[[x]] + 1,
+				 	 If [dist[[#]]==Infinity,
+						dist[[#]] = dist[[x]] + 1;
+						parent[[#]] = x;
+						If [2 dist[[#]] < girth-1,
+							AppendTo[queue,#] ]
+					]])&,
+					e[[ x ]]
+				];
+			],
+			{v,n}
+		];
+		girth
+	] /; SimpleQ[g]
+ 
+EulerianQ[g_Graph,Directed] :=
+	ConnectedQ[g,Undirected] && (InDegree[g] === OutDegree[g])
+
+EulerianQ[g_Graph,flag_:Undirected] := ConnectedQ[g,Undirected] && 
+	UndirectedQ[g] && Apply[And,Map[EvenQ,DegreeSequence[g]]]
+
+OutDegree[Graph[e_List,_],n_Integer] := Length[ Select[ e[[n]], (# != 0)& ] ]
+OutDegree[g_Graph] := Map[ (OutDegree[g,#])&, Range[V[g]] ]
+
+InDegree[g_Graph,n_Integer] := OutDegree[ TransposeGraph[g], n ];
+InDegree[g_Graph] := Map[ (InDegree[g,#])&, Range[V[g]] ]
+
+TransposeGraph[Graph[g_List,v_List]] := Graph[ Transpose[g], v ]
+ 
+EulerianCycle[g_Graph,flag_:Undirected] :=
+	Module[{euler,c,cycles,v},
+		cycles = Map[(Drop[#,-1])&, ExtractCycles[g,flag]];
+		{euler, cycles} = {First[cycles], Rest[cycles]};
+		Do [
+			c = First[ Select[cycles, (Intersection[euler,#]=!={})&] ];
+			v = First[Intersection[euler,c]];
+			euler = Join[
+				RotateLeft[c, Position[c,v] [[1,1]] ],
+				RotateLeft[euler, Position[euler,v] [[1,1]] ]
+			];
+			cycles = Complement[cycles,{c}],
+			{Length[cycles]}
+		];
+		Append[euler, First[euler]]
+	] /; EulerianQ[g,flag]
+ 
+DeBruijnSequence[alph_List,n_Integer] :=
+        Module[{states = Strings[alph,n-1]},
+                Rest[ Map[
+                        (First[ states[[#]] ])&,
+                        EulerianCycle[
+                                MakeGraph[
+                                        states,
+                                        (Module[{i},
+                                         MemberQ[
+                                                Table[
+                                                        Append[Rest[#1],alph[[i]]],
+                                                        {i,Length[alph]}
+                                                ],
+                                                #2
+                                         ]
+                                        ])&
+                                ],
+                                Directed
+                        ]
+                ] ]
+        ] /; n>=2
+
+DeBruijnSequence[alph_List,n_Integer] := alph /; n==1
+ 
+HamiltonianQ[g_Graph] := False /; !BiconnectedQ[g]
+HamiltonianQ[g_Graph] := HamiltonianCycle[g] != {}
+
+HamiltonianCycle[g_Graph,flag_:One] :=
+	Module[{s={1},all={},done,adj=Edges[g],e=ToAdjacencyLists[g],x,v,ind,n=V[g]},
+		ind=Table[1,{n}];
+		While[ Length[s] > 0,
+			v = Last[s];
+			done = False;
+			While[ ind[[v]] <= Length[e[[v]]] && !done,
+				If[!MemberQ[s,(x = e[[v,ind[[v]]++]])], done=True]
+			];
+			If[ done, AppendTo[s,x], s=Drop[s,-1]; ind[[v]] = 1];
+			If[(Length[s] == n),
+				If [(adj[[x,1]]>0),
+					AppendTo[all,Append[s,First[s]]];
+					If [SameQ[flag,All],
+						s=Drop[s,-1],
+						all = Flatten[all]; s={}
+					],
+					s = Drop[s,-1]
+				]
+			]
+		];
+		all
+	]
+ 
+TravelingSalesman[g_Graph] :=
+	Module[{v,s={1},sol={},done,cost,g1,e=ToAdjacencyLists[g],x,ind,best,n=V[g]},
+		ind=Table[1,{n}];
+		g1 = PathConditionGraph[g];
+		best = Infinity;
+		While[ Length[s] > 0,
+			v = Last[s];
+			done = False;
+			While[ ind[[v]] <= Length[e[[v]]] && !done,
+				x = e[[v,ind[[v]]++]];
+				done = (best > CostOfPath[g1,Append[s,x]]) &&
+					!MemberQ[s,x]
+			];
+			If[done, AppendTo[s,x], s=Drop[s,-1]; ind[[v]] = 1];
+			If[(Length[s] == n),
+				cost = CostOfPath[g1, Append[s,First[s]]];
+				If [(cost < best), sol = s; best = cost ];
+				s = Drop[s,-1]
+			]
+		];
+		Append[sol,First[sol]]
+	]
+
+CostOfPath[Graph[g_,_],p_List] := Apply[Plus, Map[(Element[g,#])&,Partition[p,2,1]] ]
+
+Element[a_List,{index___}] := a[[ index ]]
+ 
+TriangleInequalityQ[e_?SquareMatrixQ] :=
+	Module[{i,j,k,n=Length[e],flag=True},
+		Do [
+
+			If[(e[[i,k]]!=0) && (e[[k,j]]!=0) && (e[[i,j]]!=0),
+				If[e[[i,k]]+e[[k,j]]<e[[i,j]],
+					flag = False;
+				]
+			],
+			{i,n},{j,n},{k,n}
+		];
+		flag
+	]
+
+TriangleInequalityQ[g_Graph] := TriangleInequalityQ[Edges[g]]
+ 
+TravelingSalesmanBounds[g_Graph] := {LowerBoundTSP[g], UpperBoundTSP[g]}
+
+UpperBoundTSP[g_Graph] :=
+	CostOfPath[g, Append[DepthFirstTraversal[MinimumSpanningTree[g],1],1]]
+
+LowerBoundTSP[g_Graph] := Apply[Plus, Map[Min,ReplaceAll[Edges[g],0->Infinity]]]
+ 
+PartialOrderQ[g_Graph] := ReflexiveQ[g] && AntiSymmetricQ[g] && TransitiveQ[g]
+
+TransitiveQ[g_Graph] := IdenticalQ[g,TransitiveClosure[g]]
+
+ReflexiveQ[Graph[g_List,_]] := 
+	Module[{i},
+		Apply[And, Table[(g[[i,i]]!=0),{i,Length[g]}] ]
+	]
+
+AntiSymmetricQ[g_Graph] := 
+	Module[{e = Edges[g], g1 = RemoveSelfLoops[g]},
+		Apply[And, Map[(Element[e,Reverse[#]]==0)&,ToOrderedPairs[g1]] ]
+	]
+ 
+TransitiveClosure[g_Graph] :=
+	Module[{i,j,k,e=Edges[g],n=V[g]},
+		Do [
+			If[ e[[j,i]] != 0,
+				Do [
+					If[ e[[i,k]] != 0, e[[j,k]]=1],
+					{k,n}
+				]
+			],
+			{i,n},{j,n}
+		];
+		Graph[e,Vertices[g]]
+	]
+ 
+TransitiveReduction[g_Graph] :=
+	Module[{closure=reduction=Edges[g],i,j,k,n=V[g]},
+		Do[
+			If[ closure[[i,j]]!=0 && closure[[j,k]]!=0 &&
+				 reduction[[i,k]]!=0 && (i!=j) && (j!=k) && (i!=k),
+					reduction[[i,k]] = 0
+			],
+			{i,n},{j,n},{k,n}
+		];
+		Graph[reduction,Vertices[g]]
+	] /; AcyclicQ[RemoveSelfLoops[g],Directed] 
+
+TransitiveReduction[g_Graph] :=
+	Module[{reduction=Edges[g],i,j,k,n=V[g]},
+		Do[
+			If[ reduction[[i,j]]!=0 && reduction[[j,k]]!=0 &&
+				 reduction[[i,k]]!=0 && (i!=j) && (j!=k) && (i!=k),
+					reduction[[i,k]] = 0
+			],
+			{i,n},{j,n},{k,n}
+		];
+		Graph[reduction,Vertices[g]]
+	] 
+ 
+HasseDiagram[g_Graph] :=
+	Module[{r,rank,m,stages,freq=Table[0,{V[g]}]},
+		r = TransitiveReduction[ RemoveSelfLoops[g] ];
+		rank = RankGraph[
+				MakeUndirected[r],
+				Select[Range[V[g]],(InDegree[r,#]==0)&]
+		];
+		m = Max[rank];
+		rank = MapAt[(m)&,rank,Position[OutDegree[r],0]];
+		stages = Distribution[ rank ];
+		Graph[
+			Edges[r],
+			Table[
+				m = ++ freq[[ rank[[i]] ]];
+				{(m-1) + (1-stages[[rank[[i]] ]])/2, rank[[i]]},
+				{i,V[g]}
+			]
+		]
+	] /; AcyclicQ[RemoveSelfLoops[g],Directed]
+ 
+TopologicalSort[g_Graph] :=
+	Module[{g1 = RemoveSelfLoops[g],e,indeg,zeros,v},
+		e=ToAdjacencyLists[g1];
+		indeg=InDegree[g1];
+		zeros = Flatten[ Position[indeg, 0] ];
+		Table [
+			{v,zeros}={First[zeros],Rest[zeros]};
+			Scan[
+				( indeg[[#]]--;
+				  If[indeg[[#]]==0, AppendTo[zeros,#]] )&,
+				e[[ v ]]
+			];
+			v,
+			{V[g]}
+		]
+	] /; AcyclicQ[RemoveSelfLoops[g],Directed]
+ 
+ChromaticPolynomial[g_Graph,z_] := 0 /; Identical[g,K[0]]
+
+ChromaticPolynomial[g_Graph,z_] :=
+	Module[{i}, Product[z-i, {i,0,V[g]-1}] ] /; CompleteQ[g]
+
+ChromaticPolynomial[g_Graph,z_] := z ( z - 1 ) ^ (V[g]-1) /; TreeQ[g]
+
+ChromaticPolynomial[g_Graph,z_] :=
+	If [M[g]>Binomial[V[g],2]/2, ChromaticDense[g,z], ChromaticSparse[g,z]]
+
+ChromaticSparse[g_Graph,z_] := z^V[g] /; EmptyQ[g]
+ChromaticSparse[g_Graph,z_] :=
+	Module[{i=1, v, e=Edges[g], none=Table[0,{V[g]}]},
+        	While[e[[i]] === none, i++];
+        	v = Position[e[[i]],1] [[1,1]];
+		ChromaticSparse[ DeleteEdge[g,{i,v}], z ] -
+			ChromaticSparse[ Contract[g,{i,v}], z ]
+	]
+
+ChromaticDense[g_Graph,z_] := ChromaticPolynomial[g,z] /; CompleteQ[g]
+ChromaticDense[g_Graph,z_] :=
+	Module[
+		{i=1, v, e=Edges[g], all=Join[Table[1,{V[g]-1}],{0}] },
+		While[e[[i]] === RotateRight[all,i], i++];
+		v = Last[ Position[e[[i]],0] ] [[1]];
+		ChromaticDense[ AddEdge[g,{i,v}], z ] +
+			ChromaticDense[ Contract[g,{i,v}], z ]
+	]
+ 
+ChromaticNumber[g_Graph] :=
+	Block[{ways, z},
+		ways[z_] = ChromaticPolynomial[g,z];
+		For [z=0, z<=V[g], z++,
+			If [ways[z] > 0, Return[z]]
+		]
+	]
+ 
+TwoColoring[g_Graph] := 
+	Module[{queue,elem,edges,col,flag=True,colored=Table[0,{V[g]}]},
+		edges = ToAdjacencyLists[g];
+		While[ MemberQ[colored,0],
+			queue = First[ Position[colored,0] ];
+			colored[[ First[queue] ]] = 1;
+			While[ queue != {},
+				elem = First[queue];
+				col = colored[[elem]];
+				Scan[
+					(Switch[colored[[ # ]],
+						col, flag = False,
+						0, AppendTo[queue, # ];
+						   colored[[#]] = Mod[col,2]+1
+					])&,
+					edges[[elem]]
+				];
+				queue = Rest[queue];
+			]
+		];
+		If [!flag, colored[[1]] = 0];
+		colored
+	]
+
+BipartiteQ[g_Graph] := ! MemberQ[ TwoColoring[g], 0 ]
+ 
+VertexColoring[g_Graph] :=
+	Module[{v,l,n=V[g],e=ToAdjacencyLists[g],x,color=Table[0,{V[g]}]},
+		v = Map[(Apply[Plus,#])&, Edges[g]];
+		Do[
+			l = MaximumColorDegreeVertices[e,color];
+			x = First[l];
+			Scan[(If[ v[[#]] > v[[x]], x = #])&, l];
+			color[[x]] = Min[
+				Complement[ Range[n], color[[ e[[x]] ]] ]
+			],
+			{V[g]}
+		];
+		color
+	]
+
+MaximumColorDegreeVertices[e_List,color_List] :=
+	Module[{n=Length[color],l,i,x},
+		l = Table[ Count[e[[i]], _?(Function[x,color[[x]]!=0])], {i,n}];
+		Do [ 
+			If [color[[i]]!=0, l[[i]] = -1],
+			{i,n}
+		];
+		Flatten[ Position[ l, Max[l] ] ]
+	]
+ 
+EdgeColoring[g_Graph] := VertexColoring[ LineGraph[g] ]
+
+EdgeChromaticNumber[g_Graph] := ChromaticNumber[ LineGraph[g] ]
+ 
+CliqueQ[g_Graph,clique_List] :=
+	IdenticalQ[ K[Length[clique]], InduceSubgraph[g,clique] ] /; SimpleQ[g]
+
+MaximumClique[g_Graph] := {} /; g === K[0]
+
+MaximumClique[g_Graph] :=
+	Module[{d = Degrees[g],i,clique=Null,k},
+		i = Max[d];
+		While[(SameQ[clique,Null]),
+			k = K[i+1];
+			clique = FirstExample[
+				KSubsets[Flatten[Position[d,_?((#>=i)&)]], i+1],
+				(IdenticalQ[k,InduceSubgraph[g,#]])&
+			];
+			i--;
+		];
+		clique
+	]
+
+FirstExample[list_List, predicate_] := Scan[(If [predicate[#],Return[#]])&,list]
+ 
+VertexCoverQ[g_Graph,vc_List] :=
+	CliqueQ[ GraphComplement[g], Complement[Range[V[g]], vc] ]
+
+MinimumVertexCover[g_Graph] :=
+	Complement[ Range[V[g]], MaximumClique[ GraphComplement[g] ] ]
+ 
+IndependentSetQ[g_Graph,indep_List] :=
+	VertexCoverQ[ g, Complement[ Range[V[g]], indep] ]
+
+MaximumIndependentSet[g_Graph] := Complement[Range[V[g]], MinimumVertexCover[g]]
+ 
+PerfectQ[g_Graph] :=
+	Apply[
+		And,
+		Map[(ChromaticNumber[#] == Length[MaximumClique[#]])&,
+			Map[(InduceSubgraph[g,#])&, Subsets[Range[V[g]]] ] ]
+	]
+ 
+Dijkstra[g_Graph,start_Integer] := First[ Dijkstra[g,{start}] ]
+
+Dijkstra[g_Graph, l_List] :=
+	Module[{x,start,e=ToAdjacencyLists[g],i,p,parent,untraversed},
+		p=Edges[PathConditionGraph[g]];
+		Table[
+			start = l[[i]];
+			parent=untraversed=Range[V[g]];
+			dist = p[[start]]; dist[[start]] = 0;
+			Scan[ (parent[[#]] = start)&, e[[start]] ];
+			While[ untraversed != {} ,
+				x = First[untraversed];
+				Scan[(If [dist[[#]]<dist[[x]],x=#])&, untraversed];
+				untraversed = Complement[untraversed,{x}];
+				Scan[
+					(If[dist[[#]] > dist[[x]]+p[[x,#]],
+						dist[[#]] = dist[[x]]+p[[x,#]];
+						parent[[#]] = x ])&,
+					e[[x]]
+				];
+			];
+			{parent, dist},
+			{i,Length[l]}
+		]
+	]
+
+ShortestPath[g_Graph,s_Integer,e_Integer] := 
+	Module[{parent=First[Dijkstra[g,s]],i=e,lst={e}},
+		While[ (i != s) && (i != parent[[i]]),
+			PrependTo[lst,parent[[i]]];
+			i = parent[[i]]
+		];
+		If[ i == s, lst, {}]
+	]
+
+ShortestPathSpanningTree[g_Graph,s_Integer] :=
+	Module[{parent=First[Dijkstra[g,s]],i},
+		FromUnorderedPairs[
+			Map[({#,parent[[#]]})&, Complement[Range[V[g]],{s}]],
+			Vertices[g]
+		]
+	]
+ 
+AllPairsShortestPath[g_Graph] :=
+	Module[{p=Edges[ PathConditionGraph[g] ],i,j,k,n=V[g]},
+		Do [
+			p = Table[Min[p[[i,k]]+p[[k,j]],p[[i,j]]],{i,n},{j,n}],
+			{k,n}
+		];
+		p
+	] /; Min[Edges[g]] < 0
+
+AllPairsShortestPath[g_Graph] := Map[ Last, Dijkstra[g, Range[V[g]]]]
+
+PathConditionGraph[Graph[e_,v_]] := RemoveSelfLoops[Graph[ReplaceAll[e,0->Infinity],v]]
+ 
+GraphPower[g_Graph,1] := g
+
+GraphPower[g_Graph,n_Integer] :=
+	Module[{prod=power=p=Edges[g]},
+		Do [
+			prod = prod . p;
+			power = prod + power,
+			{n-1}
+		];
+		Graph[power, Vertices[g]]
+	]
+ 
+InitializeUnionFind[n_Integer] := Module[{i}, Table[{i,1},{i,n}] ]
+
+FindSet[n_Integer,s_List] := If [n == s[[n,1]], n, FindSet[s[[n,1]],s] ]
+
+UnionSet[a_Integer,b_Integer,s_List] :=
+	Module[{sa=FindSet[a,s], sb=FindSet[b,s], set=s},
+		If[ set[[sa,2]] < set[[sb,2]], {sa,sb} = {sb,sa} ];
+		set[[sa]] = {sa, Max[ set[[sa,2]], set[[sb,2]]+1 ]};
+		set[[sb]] = {sa, set[[sb,2]]};
+		set
+	]
+ 
+MinimumSpanningTree[g_Graph] :=
+	Module[{edges=Edges[g],set=InitializeUnionFind[V[g]]},
+		FromUnorderedPairs[
+			Select [
+				Sort[
+					ToUnorderedPairs[g],
+					(Element[edges,#1]<=Element[edges,#2])&
+				],
+				(If [FindSet[#[[1]],set] != FindSet[#[[2]],set],
+					set=UnionSet[#[[1]],#[[2]],set]; True,
+					False
+				])&
+			],
+			Vertices[g]
+		]
+	] /; UndirectedQ[g]
+
+MaximumSpanningTree[g_Graph] := MinimumSpanningTree[Graph[-Edges[g],Vertices[g]]]
+ 
+Cofactor[m_List,{i_Integer,j_Integer}] :=
+	(-1)^(i+j) * Det[ Drop[ Transpose[ Drop[Transpose[m],{j,j}] ], {i,i}] ]
+ 
+NumberOfSpanningTrees[Graph[g_List,_]] :=
+	Cofactor[ DiagonalMatrix[Map[(Apply[Plus,#])&,g]] - g, {1,1}]
+ 
+NetworkFlow[g_Graph,source_Integer,sink_Integer] :=
+	Block[{flow=NetworkFlowEdges[g,source,sink], i},
+		Sum[flow[[i,sink]], {i,V[g]}]
+	]
+
+
+NetworkFlowEdges[g_Graph,source_Integer,sink_Integer] :=
+	Block[{e=Edges[g], x, y, flow=Table[0,{V[g]},{V[g]}], p, m},
+		While[ !SameQ[p=AugmentingPath[g,source,sink], {}],
+			m = Min[Map[({x,y}=#[[1]]; 
+				 If[SameQ[#[[2]],f],e[[x,y]]-flow[[x,y]],
+					flow[[x,y]]])&,p]];
+			Scan[	
+				({x,y}=#[[1]];
+				 If[ SameQ[#[[2]],f],
+					flow[[x,y]]+=m,flow[[x,y]]-=m])&,
+				 p
+			]
+		];
+		flow
+	]
+
+AugmentingPath[g_Graph,src_Integer,sink_Integer] :=
+	Block[{l={src},lab=Table[0,{V[g]}],v,c=Edges[g],e=ToAdjacencyLists[g]},
+		lab[[src]] = start;
+		While[l != {} && (lab[[sink]]==0),
+			{v,l} = {First[l],Rest[l]};
+			Scan[ (If[ c[[v,#]] - flow[[v,#]] > 0 && lab[[#]] == 0,
+				lab[[#]] = {v,f}; AppendTo[l,#]])&,
+				e[[v]]
+			];
+			Scan[ (If[ flow[[#,v]] > 0 && lab[[#]] == 0,
+				lab[[#]] = {v,b}; AppendTo[l,#]] )&,
+				Select[Range[V[g]],(c[[#,v]] > 0)&]
+			];
+		];
+		FindPath[lab,src,sink]
+	]
+
+FindPath[l_List,v1_Integer,v2_Integer] :=
+	Block[{x=l[[v2]],y,z=v2,lst={}},
+		If[SameQ[x,0], Return[{}]];
+		While[!SameQ[x, start],
+			If[ SameQ[x[[2]],f],
+				PrependTo[lst,{{ x[[1]], z }, f}],
+				PrependTo[lst,{{ z, x[[1]] }, b}]
+			];
+			z = x[[1]]; x = l[[z]];
+		];
+		lst
+	]
+ 
+BipartiteMatching[g_Graph] :=
+	Module[{p,v1,v2,coloring=TwoColoring[g],n=V[g]},
+		v1 = Flatten[Position[coloring,1]];
+		v2 = Flatten[Position[coloring,2]];
+		p = BipartiteMatchingFlowGraph[g,v1,v2];
+		flow = NetworkFlowEdges[p,V[g]+1,V[g]+2];
+		Select[ToOrderedPairs[Graph[flow,Vertices[p]]], (Max[#]<=n)&]
+	] /; BipartiteQ[g]
+
+BipartiteMatchingFlowGraph[g_Graph,v1_List,v2_List] :=
+	Module[{edges = Table[0,{V[g]+2},{V[g]+2}],i,e=ToAdjacencyLists[g]},
+		Do[ 
+	    		Scan[ (edges[[v1[[i]],#]] = 1)&, e[[ v1[[i]] ]] ],
+			{i,Length[v1]}
+		];
+		Scan[(edges[[V[g] + 1, #]] = 1)&, v1];
+		Scan[(edges[[#, V[g] + 2]] = 1)&, v2];
+		Graph[edges,RandomVertices[V[g] + 2] ]
+	]
+ 
+MinimumChainPartition[g_Graph] :=
+	ConnectedComponents[
+		FromUnorderedPairs[
+			Map[(#-{0,V[g]})&, BipartiteMatching[DilworthGraph[g]]],
+			Vertices[g]
+		]
+	]
+
+MaximumAntichain[g_Graph] := MaximumIndependentSet[TransitiveClosure[g]]
+
+DilworthGraph[g_Graph] :=
+	FromUnorderedPairs[
+		Map[
+			(#+{0,V[g]})&,
+			ToOrderedPairs[RemoveSelfLoops[TransitiveReduction[g]]]
+		]
+	]
+ 
+MaximalMatching[g_Graph] :=
+	Module[{match={}},
+		Scan[
+			(If [Intersection[#,match]=={}, match=Join[match,#]])&,
+			ToUnorderedPairs[g]
+		];
+		Partition[match,2]
+	]
+ 
+StableMarriage[mpref_List,fpref_List] :=
+	Module[{n=Length[mpref],freemen,cur,i,w,husband},
+		freemen = Range[n];
+		cur = Table[1,{n}];
+		husband = Table[n+1,{n}];
+		While[ freemen != {},
+			{i,freemen}={First[freemen],Rest[freemen]};
+			w = mpref[[ i,cur[[i]] ]];
+			If[BeforeQ[ fpref[[w]], i, husband[[w]] ], 
+				If[husband[[w]] != n+1,
+					AppendTo[freemen,husband[[w]] ]
+				];
+				husband[[w]] = i,
+				cur[[i]]++;
+				AppendTo[freemen,i]
+			];
+		];
+		InversePermutation[ husband ]
+	] /; Length[mpref] == Length[fpref]
+
+BeforeQ[l_List,a_,b_] :=
+	If [First[l]==a, True, If [First[l]==b, False, BeforeQ[Rest[l],a,b] ] ]
+ 
+PlanarQ[g_Graph] :=
+	Apply[
+		And,
+		Map[(PlanarQ[InduceSubgraph[g,#]])&, ConnectedComponents[g]]
+	] /; !ConnectedQ[g]
+
+PlanarQ[g_Graph] := False /;  (M[g] > 3 V[g]-6) && (V[g] > 2)
+PlanarQ[g_Graph] := True /;   (M[g] < V[g] + 3)
+PlanarQ[g_Graph] := PlanarGivenCycle[ g, Rest[FindCycle[g]] ]
+
+PlanarGivenCycle[g_Graph, cycle_List] :=
+	Module[{b, j, i},
+		{b, j} = FindBridge[g, cycle];
+		If[ InterlockQ[j, cycle],
+			False,
+			Apply[And, Table[SingleBridgeQ[b[[i]],j[[i]]], {i,Length[b]}]]
+		]
+	]
+
+SingleBridgeQ[b_Graph, {_}] := PlanarQ[b]
+
+SingleBridgeQ[b_Graph, j_List] :=
+	PlanarGivenCycle[ JoinCycle[b,j],
+		Join[ ShortestPath[b,j[[1]],j[[2]]], Drop[j,2]] ]
+
+JoinCycle[g1_Graph, cycle_List] :=
+	Module[{g=g1},
+		Scan[(g = AddEdge[g,#])&, Partition[cycle,2,1] ];
+		AddEdge[g,{First[cycle],Last[cycle]}]
+	]
+ 
+FindBridge[g_Graph, cycle_List] :=
+    Module[{rg = RemoveCycleEdges[g, cycle], b, bridge, j},
+	b = Map[
+		(IsolateSubgraph[rg,g,cycle,#])&,
+		Select[ConnectedComponents[rg], (Intersection[#,cycle]=={})&]
+	];
+	b = Select[b, (!EmptyQ[#])&];
+	j = Join[
+		Map[Function[bridge,Select[cycle, MemberQ[Edges[bridge][[#]],1]&] ], b],
+		Complement[
+			Select[ToOrderedPairs[g],
+				(Length[Intersection[#,cycle]] == 2)&],
+			Partition[Append[cycle,First[cycle]],2,1]
+		]
+	];
+	{b, j}
+    ]
+
+RemoveCycleEdges[g_Graph, c_List] :=
+	FromOrderedPairs[
+		Select[ ToOrderedPairs[g], (Intersection[c,#] === {})&],
+		Vertices[g]
+	]
+
+IsolateSubgraph[g_Graph,orig_Graph,cycle_List,cc_List] :=
+	Module[{eg=ToOrderedPairs[g], og=ToOrderedPairs[orig]},
+		FromOrderedPairs[
+			Join[
+				Select[eg, (Length[Intersection[cc,#]] == 2)&],
+				Select[og, (Intersection[#,cycle]!={} &&
+					Intersection[#,cc]!={})&]
+			],
+			Vertices[g]
+		]
+	]
+ 
+InterlockQ[ bl_List, c_List ] :=
+	Module[{in = out = {}, code, jp, bridgelist = bl },
+		While [ bridgelist != {},
+			{jp, bridgelist} = {First[bridgelist],Rest[bridgelist]};
+			code = Sort[ Map[(Position[c, #][[1,1]])&, jp] ];
+			If[ Apply[ Or, Map[(LockQ[#,code])&, in] ],
+				If [ Apply[Or, Map[(LockQ[#,code])&, out] ],
+					Return[True],
+					AppendTo[out,code]
+				],
+				AppendTo[in,code]
+			]
+		];
+		False
+	]
+
+LockQ[a_List,b_List] := Lock1Q[a,b] || Lock1Q[b,a]
+
+Lock1Q[a_List,b_List] :=
+	Module[{bk, aj},
+		bk = Min[ Select[Drop[b,-1], (#>First[a])&] ];
+		aj = Min[ Select[a, (# > bk)&] ];
+		(aj < Max[b])
+	]
+ 
+End[]
+
+Protect[
+AcyclicQ,
+AddEdge,
+AddVertex,
+AllPairsShortestPath,
+ArticulationVertices,
+Automorphisms,
+Backtrack,
+BiconnectedComponents,
+BiconnectedComponents,
+BiconnectedQ,
+BinarySearch,
+BinarySubsets,
+BipartiteMatching,
+BipartiteQ,
+BreadthFirstTraversal,
+Bridges,
+CartesianProduct,
+CatalanNumber,
+ChangeEdges,
+ChangeVertices,
+ChromaticNumber,
+ChromaticPolynomial,
+CirculantGraph,
+CircularVertices,
+CliqueQ,
+CodeToLabeledTree,
+Cofactor,
+CompleteQ,
+Compositions,
+ConnectedComponents,
+ConnectedQ,
+ConstructTableau,
+Contract,
+CostOfPath,
+Cycle,
+DeBruijnSequence,
+DegreeSequence,
+DeleteCycle,
+DeleteEdge,
+DeleteFromTableau,
+DeleteVertex,
+DepthFirstTraversal,
+DerangementQ,
+Derangements,
+Diameter,
+Dijkstra,
+DilateVertices,
+DistinctPermutations,
+Distribution,
+DurfeeSquare,
+Eccentricity,
+EdgeChromaticNumber,
+EdgeColoring,
+EdgeConnectivity,
+Edges,
+Element,
+EmptyGraph,
+EmptyQ,
+EncroachingListSet,
+EquivalenceClasses,
+EquivalenceRelationQ,
+Equivalences,
+EulerianCycle,
+EulerianQ,
+Eulerian,
+ExactRandomGraph,
+ExpandGraph,
+ExtractCycles,
+FerrersDiagram,
+FindCycle,
+FindSet,
+FirstLexicographicTableau,
+FromAdjacencyLists,
+FromCycles,
+FromInversionVector,
+FromOrderedPairs,
+FromUnorderedPairs,
+FromOrderedTriples,
+FromUnorderedTriples,
+FunctionalGraph,
+Girth,
+GraphCenter,
+GraphComplement,
+GraphDifference,
+GraphIntersection,
+GraphJoin,
+GraphPower,
+GraphProduct,
+GraphSum,
+GraphUnion,
+GraphicQ,
+GrayCode,
+GridGraph,
+HamiltonianCycle,
+HamiltonianQ,
+Harary,
+HasseDiagram,
+HeapSort,
+Heapify,
+HideCycles,
+Hypercube,
+IdenticalQ,
+IncidenceMatrix,
+IndependentSetQ,
+Index,
+InduceSubgraph,
+InitializeUnionFind,
+InsertIntoTableau,
+IntervalGraph,
+InversePermutation,
+Inversions,
+InvolutionQ,
+IsomorphicQ,
+IsomorphismQ,
+Isomorphism,
+Josephus,
+KSubsets,
+K,
+LabeledTreeToCode,
+LastLexicographicTableau,
+LexicographicPermutations,
+LexicographicSubsets,
+LineGraph,
+LongestIncreasingSubsequence,
+M,
+MakeGraph,
+MakeSimple,
+MakeUndirected,
+MaximalMatching,
+MaximumAntichain,
+MaximumClique,
+MaximumIndependentSet,
+MaximumSpanningTree,
+MinimumChainPartition,
+MinimumChangePermutations,
+MinimumSpanningTree,
+MinimumVertexCover,
+MultiplicationTable,
+NetworkFlowEdges,
+NetworkFlow,
+NextComposition,
+NextKSubset,
+NextPartition,
+NextPermutation,
+NextSubset,
+NextTableau,
+NormalizeVertices,
+NthPair,
+NthPermutation,
+NthSubset,
+NumberOfCompositions,
+NumberOfDerangements,
+NumberOfInvolutions,
+NumberOfPartitions,
+NumberOfPermutationsByCycles,
+NumberOfSpanningTrees,
+NumberOfTableaux,
+OrientGraph,
+PartialOrderQ,
+PartitionQ,
+Partitions,
+PathConditionGraph,
+Path,
+PerfectQ,
+PermutationGroupQ,
+PermutationQ,
+Permute,
+PlanarQ,
+PointsAndLines,
+Polya,
+PseudographQ,
+RadialEmbedding,
+Radius,
+RandomComposition,
+RandomGraph,
+RandomHeap,
+RandomKSubset,
+RandomPartition,
+RandomPermutation1,
+RandomPermutation2,
+RandomPermutation,
+RandomSubset,
+RandomTableau,
+RandomTree,
+RandomVertices,
+RankGraph,
+RankPermutation,
+RankSubset,
+RankedEmbedding,
+ReadGraph,
+RealizeDegreeSequence,
+RegularGraph,
+RegularQ,
+RemoveSelfLoops,
+RevealCycles,
+RootedEmbedding,
+RotateVertices,
+Runs,
+SamenessRelation,
+SelectionSort,
+SelfComplementaryQ,
+ShakeGraph,
+ShortestPathSpanningTree,
+ShortestPath,
+ShowGraph,
+ShowLabeledGraph,
+ShowWeightedGraph,
+ShowWeightedLabeledGraph,
+SignaturePermutation,
+SimpleQ,
+Spectrum,
+SpringEmbedding,
+SpringEmbeddingDirected,
+StableMarriage,
+Star,
+StirlingFirst,
+StirlingSecond,
+Strings,
+StronglyConnectedComponents,
+Subsets,
+TableauClasses,
+TableauQ,
+TableauxToPermutation,
+Tableaux,
+ToAdjacencyLists,
+ToCycles,
+ToInversionVector,
+ToOrderedPairs,
+ToUnorderedPairs,
+ToOrderedTriples,
+TopologicalSort,
+TransitiveClosure,
+TransitiveQ,
+TransitiveReduction,
+TranslateVertices,
+TransposePartition,
+TransposeTableau,
+TravelingSalesmanBounds,
+TravelingSalesman,
+TreeQ,
+TriangleInequalityQ,
+Turan,
+TwoColoring,
+UndirectedQ,
+UnionSet,
+UnweightedQ,
+V,
+VertexColoring,
+VertexConnectivity,
+VertexCoverQ,
+Vertices,
+WeaklyConnectedComponents,
+Wheel,
+WriteGraph,
+DilworthGraph ]
+
+EndPackage[ ]
diff --git a/third_party/cddlib/examples-ml/ExtendGraphics30.tar b/third_party/cddlib/examples-ml/ExtendGraphics30.tar
new file mode 100644
index 0000000..8fbd593
--- /dev/null
+++ b/third_party/cddlib/examples-ml/ExtendGraphics30.tar
Binary files differ
diff --git a/third_party/cddlib/examples-ml/IOPolyhedra.m b/third_party/cddlib/examples-ml/IOPolyhedra.m
new file mode 100644
index 0000000..b5ed23f
--- /dev/null
+++ b/third_party/cddlib/examples-ml/IOPolyhedra.m
@@ -0,0 +1,123 @@
+(* IOPolyhedra.m: written by Komei Fukuda;  Version-980111  *)
+
+ReadPolyhedraData[filename_String]:=
+	Block[{rf,outlist={},row={},m,n,i,val,st=" ",ty},
+		rf=OpenRead[filename];
+		While[st=!=EndOfFile && st=!="begin",
+			st=Read[rf,String];
+		];
+		{m,n,ty}=Read[rf,{Number,Number,Word}];
+		st=Skip[rf,String];
+		Print["m=", m,",   n=",n, " type=", ty];
+		Do[
+		  If[ty!="rational", 
+		  	row=Read[rf,Table[Number,{n}]],
+		  	row=Read[rf,Table[Word,{n}]];row=ToExpression[row]
+		  ];
+		  AppendTo[outlist,row],
+		  {i,m}
+		];
+		Close[rf];
+		outlist
+	];
+
+
+ReadIncidenceData[filename_String]:=
+	Block[{rf,outlist={},row={},m,n,n1,i,val,st=" ",inc,colon},
+		rf=OpenRead[filename];
+		While[st=!=EndOfFile && st=!="begin",
+			st=Read[rf,String];
+		];
+		{m,n,n1}=Read[rf,{Number,Number,Number}];
+		Print["m=", m,",   n=",n];
+		Do[
+			{inc}=Read[rf,{Number}];
+			colon=Read[rf,{Word}];
+			row=Read[rf,Table[Number,{Abs[inc]}]];
+		  	If[inc>0,
+		  		AppendTo[outlist,row],
+		  		AppendTo[outlist,Complement[Range[n1],row]]
+		  	],
+		  	{i,m}
+		];
+		Close[rf];
+		outlist
+	];
+
+
+ReadAdjacencyData[filename_String]:=
+	Block[{rf,outlist={},row={},v,num,i,val,st=" ",deg,colon},
+		rf=OpenRead[filename];
+		While[st=!=EndOfFile && st=!="begin",
+			st=Read[rf,String];
+		];
+		{v}=Read[rf,{Number}];
+		Print["v =", v];
+		Do[
+			{num, deg}=Read[rf,{Number, Number}];
+			colon=Read[rf,{Word}];
+			If[deg >0, row=Read[rf,Table[Number,{deg}]], row={}];
+		  	AppendTo[outlist,row],
+		  	{i,v}
+		];
+		Close[rf];
+		outlist
+	];
+
+
+WritePolyhedraIne[a_List,b_List,filename_String,type_String:"real"]:=
+	Block[{wf,m,n,i,j,str},
+		wf=OpenWrite[filename];
+		{m,n}=Dimensions[a];
+		Write[wf,OutputForm["H-representation"]];
+		Write[wf,OutputForm["begin"]];
+		Write[wf,m,OutputForm["  "],n+1,OutputForm["  "],OutputForm[type]];
+		Do[
+			str="";
+			Do[
+				If[j==0,
+					str=StringJoin[str,"  ",ToString[b[[i]]]],
+					str=StringJoin[str,"  ",ToString[-a[[i,j]],FormatType->InputForm]]
+				],
+		  	{j,0,n}
+		  ];
+		  Write[wf,OutputForm[str]],
+		  {i,m}
+		];
+		Write[wf,OutputForm["end"]];
+		Write[wf,OutputForm["incidence"]];
+		Write[wf,OutputForm["input_incidence"]];
+		Write[wf,OutputForm["input_adjacency"]];
+		Write[wf,OutputForm["adjacency"]];
+		Close[wf];
+	];
+
+VEtoIne[a_List,b_List,filename_String]:=WritePolyhedraIne[a,b,filename];
+
+WritePolyhedraExt[a_List,filename_String,type_String:"real"]:=
+	Block[{wf,m,n,i,j,str},
+		wf=OpenWrite[filename];
+		{m,n}=Dimensions[a];
+		Write[wf,OutputForm["V-representation"]];
+		Write[wf,OutputForm["begin"]];
+		Write[wf,m,OutputForm["  "],n+1,OutputForm["  "],OutputForm[type]];
+		Do[
+			str="";
+			Do[
+				If[j==0,
+					str=StringJoin[str,"  ",ToString[1]],
+					str=StringJoin[str,"  ",ToString[a[[i,j]],FormatType->InputForm]]
+				],
+		  	{j,0,n}
+		  ];
+		  Write[wf,OutputForm[str]],
+		  {i,m}
+		];
+		Write[wf,OutputForm["end"]];
+		Write[wf,OutputForm["hull"]];
+		Write[wf,OutputForm["incidence"]];
+		Write[wf,OutputForm["input_incidence"]];
+		Write[wf,OutputForm["input_adjacency"]];
+		Write[wf,OutputForm["adjacency"]];
+		Close[wf];
+	];
diff --git a/third_party/cddlib/examples-ml/PolytopeSkeleton.m b/third_party/cddlib/examples-ml/PolytopeSkeleton.m
new file mode 100644
index 0000000..5a617d3
--- /dev/null
+++ b/third_party/cddlib/examples-ml/PolytopeSkeleton.m
@@ -0,0 +1,66 @@
+(* 
+   PolytopeSkeleton.m,
+   by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version March 3, 1999.
+   -- This Needs View3D package ---
+*)
+
+Visible[ineq_Integer, {a_,b_}, viewpoint_]:=
+	If[N[a[[ineq]].viewpoint] >= N[b[[ineq]]], True, False];
+		
+Visible[{a_,b_}, viewpoint_]:=
+	Map[Visible[#,{a,b},viewpoint]&, Range[Length[b]]];
+		
+VisibleSkeleton[vertices_,ecd_, ead_, {a_, b_},viewpoint_]:=
+	Block[{grtemp, edgelist, i, visibility, viseges, invisedges, visibles,invisibles},
+		edgelist={};
+		Do[	edgelist=Join[edgelist,Map[{i, #}&, ead[[i]]]],
+			{i,1,Length[ead]}
+		];edgelist=Select[edgelist,#[[1]]<#[[2]]&];
+		visibility=Flatten[Position[Visible[{a, b},viewpoint],True]];
+		visedges=Select[edgelist, 
+		(Intersection[visibility,ecd[[#[[1]]]],ecd[[#[[2]]]] ] != {}) &];
+		invisedges=Complement[edgelist,visedges];
+		visibles=(vertices[[#]]&) /@ visedges;
+		invisibles=(vertices[[#]]&) /@ invisedges;
+		grtemp=Join[{Thickness[ 0.0085]},
+			Line /@ visibles, 
+			{Thickness[ 0.0035], Dashing[{0.01,0.012}]}, Line /@ invisibles];
+		grtemp
+	];
+		
+VisibleSkeleton2[vertices_,ecd_, ead_, flist_,{a_, b_},viewpoint_]:=
+	Block[{grtemp, edgelist, i, edgelist0, visibility, viseges, invisedges, visibles,invisibles},
+		edgelist0={};
+		Do[	edgelist0=Join[edgelist0,Map[{i, #}&, ead[[i]]]],
+			{i,1,Length[ead]}
+		];edgelist0=Select[edgelist0,#[[1]]<#[[2]]&];
+		edgelist=Select[edgelist0,(Intersection[ecd[[#[[1]]]],ecd[[#[[2]]]],flist] != {})&]; 
+		visibility=Flatten[Position[Visible[{a, b},viewpoint],True]];
+		visedges=Select[edgelist, 
+		(Intersection[visibility,ecd[[#[[1]]]],ecd[[#[[2]]]] ] != {}) &];
+		invisedges=Complement[edgelist,visedges];
+		visibles=(vertices[[#]]&) /@ visedges;
+		invisibles=(vertices[[#]]&) /@ invisedges;
+		grtemp=Join[{Thickness[ 0.0085]},
+			Line /@ visibles, 
+			{Thickness[ 0.0035], Dashing[{0.01,0.012}]}, Line /@ invisibles];
+		grtemp
+	];
+
+getMmaViewPoint[vp_,gr_]:=
+	ViewPointFromUser[vp,
+		FullOptions[gr,PlotRange],
+		FullOptions[gr,BoxRatios]
+	];
+
+getUserViewPoint[vp_,gr_]:=
+	ViewPointToUser[vp,
+		FullOptions[gr,PlotRange],
+		FullOptions[gr,BoxRatios]
+	];
+	
+circle[alpha_, r_:2, h_:2]:=
+	{r*Cos[alpha], r*Sin[alpha], h}
+
+(* end of PolytopeSkeleton.m *)
\ No newline at end of file
diff --git a/third_party/cddlib/examples-ml/README.cddmathlink b/third_party/cddlib/examples-ml/README.cddmathlink
new file mode 100644
index 0000000..5c99634
--- /dev/null
+++ b/third_party/cddlib/examples-ml/README.cddmathlink
@@ -0,0 +1,18 @@
+1999-03-14 (March 14, 1999)
+
+You need a properly built cddmathlink binary for the notebooks
+in this subdirectory "mma".  Go to "makedir" subdirectory, and
+use Makefile to build it.  I will try to put some prebuilt
+binaries in the ftp directory:
+
+ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlibml_binary/
+
+For more information, contact
+   Komei Fukuda
+   fukuda@ifor.math.ethz.ch
+   Zurich  :IFOR, ETH Zentrum, CH-8092 Zurich, Switzerland  
+   Lausanne:DMA, EPFL, Ch-1015 Lausanne, Switzerland
+   homepage: http://www.ifor.math.ethz.ch/staff/fukuda/fukuda.html
+
+// END of libcdd.readme
+
diff --git a/third_party/cddlib/examples-ml/UnfoldPolytope.m b/third_party/cddlib/examples-ml/UnfoldPolytope.m
new file mode 100755
index 0000000..64dcb22
--- /dev/null
+++ b/third_party/cddlib/examples-ml/UnfoldPolytope.m
@@ -0,0 +1,423 @@
+(*
+
+        Unfolding  Convex Polytopes
+
+             Version 1.0 Beta
+              February, 1992
+
+           Copyright (c) 1992 by
+              Makoto Namiki
+
+This package contains Mathematica implementations
+of unfolding 3-dimsional polytope.
+
+This package is copyright 1992 by Makoto Namiki.
+This package may be copied in its entirety for 
+nonprofit purposes only. Sale, other than for
+the direct cost of the media, is prohibited.  
+This copyright notice must accompany all copies.
+
+The authors make no representations, express or 
+implied, with respond to this documentation, of 
+the software it describes and contains, including
+without limitations, any implied warranties of 
+mechantability or fitness for a particular purpose,
+all of which are expressly disclaimed.  The authors
+shall in no event be liable for any indirect,
+incidental, or consequential damages.
+
+This beta release is designed to run under 
+Version 1.2 & 2.0 of Mathematica. Any comments, 
+bug reports, or requests to get on the 
+UnfoldPolytope mailing list should be 
+forwarded to:
+
+  Makoto Namiki
+  Department of Information Science,
+  Tokyo Institute of Technology, Tokyo
+  2-12-1 Oh-okayama, Meguro-ku
+  Tokyo 145, Japan
+
+  +81-3-3726-1111 (Ex. 4131)
+  namiki@titisna.is.titech.ac.jp
+ 
+*)
+
+BeginPackage["UnfoldPolytope`"]
+
+UnfoldPolytope::usage="UnfoldPolytope[facets] gives graphics of unfoldings of a polytope which is given as a list of facets.";
+
+OrderFacets::usage="OrderFacets[facets] returns a correctly order lists of facets.";
+
+ProperSubsetQ::usage="ProperSubsetQ[t,s] returns True if t is a proper subset of s.";
+
+MakeEdgesFromFacets::usage="MakeEdgesFromFacets[faces] returns a cordinats of lower faces and a adjacency of faces.";
+
+MakeFacetsFromZerosets::usage="MakeFacetsFromZerosets[v,z] returns a list of facets consisting of cordinates of vertices, where v denotes a list of vertices and z denotes a list of zerosets.";
+ 
+MakeAdjTable::usage="MakeAdjTable[n,l] or MakeAdjTable[n,l,costs] return an adjacency table where l denotes a list of unordered pairs consist of {1,2,...,n} and a costs denotes an adjacency cost.";
+
+BreadthFirstSearch::usage="BreadthFirstSearch[adj_list,n] gives a incidence matrix representing a tree of a graph obtained by breadth first search from a vertex n, where this graph is given as a incidence matrix of adj_list."; 
+
+DepthFirstSearch::usage="DepththFirstSearch[adj_list,n] gives a incidence matrix representing a tree of a graph obtained by depth first search from a vertex n, where this graph is given as a incidence matrix of adj_list."; 
+
+IntersectionOfList::usage="IntersectionOfList[{l_1,l_2,...l_n}] returns a Intersection[l_1,l_2,...,l_n].";
+
+SelectLeaf::usage="SelectLeaf[adj_Mat] returns {i,j} such that node i is a child of node j for adjacent matrix adj_Mat.";
+
+ProjectVertex::usage="ProjectVetex[v1,v2,v3,v4] returns coordinates which is a projection of v4 onto affine space {v1,v2,v3} around the line {v1,v2}.";
+
+ProjectFaces::usage="ProjectFaces[child,parent,faces,vervect] argument child is a list of faces, parent is a face, and faces is a list of all faces. This procedure project faces of child onto a face of parent by using ProjectVertices.";
+
+IntersectOfFaces::usage="IntersectOfFaces[f1_List,f2_List] returns veticeswhich commonly belong to f1 and f2.";
+
+VectEQ::usage="VectEQ[v1,v2] returns True if v1 == v2 otherwise False";
+
+Unfold::usage="Unfold[sptree,tree,maxf] open one of a leaf of Tree of Facet.";
+
+Zonotope::usage="Zonotope[vlist] returns a list extreme points of zonotope which is defined by vlist, a list of vectors."; 
+
+VerticalVector::usage="VerticalVector[maxf_List] returns a list of Vertical vector of each face.";
+ 
+OrderFace::usage="OrderFace[facet]: reorder a facet correctly.
+									where argument facet consits of {v_1,v_2,..,v_n}
+					 				,v_i is a cordinat of a vetex.";
+                  
+Begin["`private`"]
+
+UnfoldPolytope[facets_List]:=
+	Block[{odfacets,edg,faAdj,vertices,veAdj,
+	t,tree,cotree,sptree,i,tr,vervec},
+    odfacets = facets;
+    {edg,faAdj} = MakeEdgesFromFacets[odfacets];
+    vertices = Union[Flatten[facets,1]];
+	veAdj = Flatten[{Position[vertices,#[[1]]],
+                Position[vertices,#[[2]]]}]& /@ edg;
+	t = BreadthFirstSearch[MakeAdjTable[Length[vertices],veAdj],1];
+	tree = Flatten[Position[veAdj,#]& /@ Position[t,1]];
+	cotree = Complement[Table[i,{i,1,Length[edg]}],tree];
+	sptree = MakeAdjTable[Length[odfacets],faAdj[[cotree]]];
+	tr = Table[{i},{i,Length[facets]}];
+	vervec = VerticalVector[odfacets];
+	Show[Graphics3D[Polygon /@ odfacets],Boxed->False];
+	Do[{sptree,tr,odfacets,vervec} = Unfold[sptree,tr,N[odfacets],vervec];
+  	 Show[Graphics3D[(Polygon /@ odfacets)],Boxed->False];
+	,{i,1,Length[odfacets]-1}];
+ 	Show[Graphics3D[(Polygon /@ odfacets)],Boxed->False,ViewPoint->vervec[[1]][[1]]];
+	];
+
+
+OrderFacets[facets_List]:= 
+	Block[{i,edges,facetsAdj,f,out,cyc,cand,cand2cyc,ff},
+		{edges,facetsAdj} = MakeEdgesFromFacets[facets];
+		out = {};
+		For[i=1,i<=Length[facets],i++,
+			f = edges[[Transpose[Position[facetsAdj,i]][[1]]]];
+			cand = Drop[f,1];
+			cyc = {First[f]};
+			ff = {};
+			While[(cand2cyc = Select[cand,(Length[Intersection[Last[cyc],#]]==1)&]) != {},
+				AppendTo[ff,Intersection[Last[cyc],cand2cyc[[1]]][[1]]];
+				AppendTo[cyc,cand2cyc[[1]]];
+				cand = Complement[cand,{cand2cyc[[1]]}];
+			];
+			AppendTo[ff,Intersection[Last[cyc],First[cyc]][[1]]];
+			AppendTo[out,ff];
+		];
+		Return[out];
+	];
+	
+NonNegativeVectorQ[v_List]:=
+	Block[{i},
+		For[i=1, i<= Length[v], ++i,
+			If [v[[i]] < 0, Return[False]];
+		];
+		Return[True];
+	];
+		
+
+MakeEdgesFromFacets[l_List] := 
+	Block[{i,j,lf={},adj={}},
+		For[i=1,i<Length[l],i++,
+			For[j=i+1,j<=Length[l],j++,
+				If[Length[Intersection[l[[i]],l[[j]]]] == 2,
+					AppendTo[lf,Intersection[l[[i]],l[[j]]]];
+					AppendTo[adj,{i,j}];
+				];
+			];
+		];
+		Return[{lf,adj}];
+	];
+	
+MakeFacetsFromZerosets[v_List,z_List]:=
+	Block[{i,j,flist,maxf,flag,out},
+		flist = Transpose[Position[z,#]][[1]]& /@ Union[Flatten[z]];
+		maxf = {};
+		For[i=1,i<=Length[flist],i++,
+			flag = 0;
+			For[j=1,j<=Length[flist],j++,
+				If[ProperSubsetQ[flist[[i]],flist[[j]]],
+					flag = 1,
+					If[SubsetQ[flist[[i]],flist[[j]]] && i<j,
+						flag = 1;
+					];
+				];
+			];
+			If[flag == 0,
+				AppendTo[maxf,flist[[i]]];
+			];
+		];
+		(* Return[maxf]; *)
+		out = v[[#]]& /@ (MakeOrder[#,z]& /@ maxf);
+		Return[out];
+	];
+	
+MakeOrder[ver_List,zerova_List]:=
+	Block[{candidates, cycle ,candidate2cycle},
+		candidates = Drop[ver,1];
+		cycle = { First[ver] };
+		(* when one is list, comparing needs other is list *)
+		While[{} != (candidate2cycle = Select[candidates,AdjQ[Last[cycle],#,zerova] &]),
+			AppendTo[cycle,candidate2cycle[[1]]];
+			candidates = Complement[candidates,candidate2cycle[[{1}]]];
+		];
+		While[{} != (candidate2cycle = Select[candidates,AdjQ[First[cycle],#,zerova] &]),
+			PrependTo[cycle,candidate2cycle[[1]]];
+			candidates = Complement[candidates,candidate2cycle[[{1}]]];
+		];
+		cycle
+	];
+
+
+AdjQ[i_Integer,j_Integer,l_List]:=
+    Block[{subface},
+	subface=Intersection[l[[i]],l[[j]]];
+	Length[Select[l,SubsetQ[subface,#]&]]==2];
+		
+ProperSubsetQ[s_List,t_List]:=
+	Length[s]==Length[Intersection[s,t]] && Length[s]<Length[t];
+
+SubsetQ[s_List,t_List]:=
+	Length[s]==Length[Intersection[s,t]];
+	
+MakeAdjTable[n_Integer,l_List]:=
+	Block[{t=Table[Table[0,{n}],{n}],i},
+		For[i=1,i<=Length[l],i++,
+			t[[l[[i,1]],l[[i,2]]]] = 1;
+			t[[l[[i,2]],l[[i,1]]]] = 1;
+		];
+		Return[t];
+	];
+	
+MakeAdjTable[n_Integer,l_List,c_List]:=
+	Block[{t=Table[Table[0,{n}],{n}],i},
+		For[i=1,i<=Length[l],i++,
+			t[[l[[i,1]],l[[i,2]]]] = c[[i]];
+			t[[l[[i,2]],l[[i,1]]]] = c[[i]];
+		];
+		Return[t];
+	];
+
+BreadthFirstSearch[adj_?MatrixQ,n_Integer]:=
+	Block[{out={},search,find={},output,
+			i,obj,cd,l=Length[adj]},
+		search = {n};
+		While[search != {},
+			obj = search[[1]];
+			search = Drop[search,1];
+			cd = {};
+			For[i=1, i<=l, i++,
+				If[adj[[obj,i]] != 0, AppendTo[cd,i]];
+			];
+			cd = Complement[cd,search];
+			cd = Complement[cd,find];
+			For[i=1, i<=Length[cd],i++,
+				AppendTo[search,cd[[i]]];
+				AppendTo[out,{obj,cd[[i]]}];
+				AppendTo[out,{cd[[i]],obj}];
+			];
+			AppendTo[find,obj];
+		];
+		Return[MakeAdjTable[l,out]];
+	];
+	
+DepthFirstSearch[adj_?MatrixQ,n_Integer]:=
+	Block[{out={},search,find={},output,
+			i,obj,cd,l=Length[adj]},
+		search = {n};
+		While[search != {},
+			obj = search[[1]];
+			search = Drop[search,1];
+			cd = {};
+			For[i=1, i<=l, i++,
+				If[adj[[obj,i]] != 0, AppendTo[cd,i]];
+			];
+			cd = Complement[cd,search];
+			cd = Complement[cd,find];
+			search = Flatten[Append[cd,search]];
+			For[i=1, i<=Length[cd],i++,
+				AppendTo[out,{obj,cd[[i]]}];
+				AppendTo[out,{cd[[i]],obj}];
+			];
+			AppendTo[find,obj];
+		];
+		Return[MakeAdjTable[l,out]];
+	];
+	
+
+IntersectionOfList[l_List]:=
+	Block[{},
+		If[Length[l]==1,Return[l[[1]]],
+			Return[Intersection[l[[1]],
+				   IntersectionOfList[Drop[l,{1}]]]];
+		];
+	];
+    
+Maximals[l_List]:=
+    Block[{i,maximals={}},
+	Do[If[MaximalQ[i,l],
+	    AppendTo[maximals,l[[i]]]
+	    ], {i,Length[l]}
+	];
+	maximals]
+
+MaximalQ[i_Integer,l_List]:=
+    Block[{candidate},
+	candidate=l[[i]];
+	Length[Union[Select[l,ProperSubsetQ[candidate,#]&]]]==0]
+
+SubsetQ[s_List,t_List]:=
+    Length[s]==Length[Intersection[s,t]];
+
+Is[s_List]:=
+	Block[{},
+		If [Length[s] == 1,
+			Return[s[[1]]],
+			Return[Intersection[s[[1]],Is[Drop[s,1]]]]
+		]; 
+	];
+
+SelectLeaf[g_List]:=
+	Block[{size,i,j,deg,child,par,cp},
+	size = Length[g];
+	For[i=2,i<=size,i++,
+		deg = 0;
+		child = i;
+		For[j=1,j<=size,j++,
+			If[g[[i]][[j]] > 0, 
+				deg = deg + 1;
+			 	par = j;
+			];
+		];
+		If[deg == 1,
+			Return[{child,par}];
+		];
+	];
+	]
+
+ProjectFaces[child_List,par_Integer,face_List,vervec_List]:=
+	Block[{v1,v2,nch,i,fl},
+	{v1,v2} = IntersectOfFaces[face[[child[[1]]]],face[[par]]];
+	For[i=1, i<=Length[face[[par]]], ++i,
+		If[!VectEQ[face[[par]][[i]],v1] && !VectEQ[face[[par]][[i]],v2],
+			v3 = face[[par]][[i]];
+			Break[];
+		];
+	];
+	fl = {};
+	For[i=1, i<=Length[child], i++, 
+		AppendTo[fl,ProjectVertex[v1,v2,v3,#,vervec]& /@ face[[child[[i]]]]];
+	];
+	Return[fl];
+	]
+
+IntersectOfFaces[f1_List,f2_List]:=
+	Block[{i,j,lvect},
+	lvect = {};
+	For[i=1,i<=Length[f1],i++,
+		For[j=1,j<=Length[f2],j++,
+			If[VectEQ[f1[[i]],f2[[j]]],AppendTo[lvect,f1[[i]]]];
+		];
+	];
+	Return[{lvect[[1]],lvect[[2]]}];
+	]
+
+VectEQ[v1_List,v2_List]:= 
+	Block[{i},
+	For[i=1,i<=Length[v1],i++,
+		If[v1[[i]] != v2[[i]],Return[False]];
+	];
+	Return[True];
+	]
+
+
+ProjectVertex[v1_List,v2_List,v3_List,v4_List,a_List]:=
+	Block[{x,y},
+	If [N[a[[1]].v4] <= a[[2]] + 10^(-10),
+		x = (v2-v1).(v2-v4)/(v2-v1).(v2-v1)*v1 + (v1-v2).(v1-v4)/(v1-v2).(v1-v2)*v2;
+		y = (v2-v1).(v2-v3)/(v2-v1).(v2-v1)*v1 + (v1-v2).(v1-v3)/(v1-v2).(v1-v2)*v2;
+		Return[x + Sqrt[(v4-x).(v4-x)/(y-v3).(y-v3)]*(y-v3)]
+	];
+	If [N[a[[1]].v4] >= a[[2]] - 10^(-10),
+		x = (v2-v1).(v2-v4)/(v2-v1).(v2-v1)*v1 + (v1-v2).(v1-v4)/(v1-v2).(v1-v2)*v2;
+		y = (v2-v1).(v2-v3)/(v2-v1).(v2-v1)*v1 + (v1-v2).(v1-v3)/(v1-v2).(v1-v2)*v2;
+		Return[x + Sqrt[(v4-x).(v4-x)/(y-v3).(y-v3)]*(v3-y)]
+	];
+	]
+
+Unfold[sptree1_List,tree1_List,maxf1_List,vervec_List]:=
+	Block[{j,child,par,posch,ch,of,pospa,sptree=sptree1,tree=tree1,maxf=maxf1,vv=vervec},
+	{child, par} = SelectLeaf[sptree];
+	sptree[[child,par]] = -1;
+	sptree[[par,child]] = -1;
+
+	{posch} = Transpose[Position[tree,child]][[1]]; 
+	ch = tree[[posch]];
+	of = ProjectFaces[ch,par,maxf,vv[[par]]];
+	For[j=1, j<=Length[ch],j++,
+		maxf[[ch[[j]]]] = of[[j]];
+	];
+	{pospa} = Transpose[Position[tree,par]][[1]]; 
+	tree[[pospa]] = (AppendTo[tree[[pospa]],#]& /@ ch)[[Length[ch]]];
+	tree = Drop[tree,{posch}];
+	Return[{sptree,tree,maxf,vv}];
+	]
+
+Zonotope[vectors_List]:= 
+	Block[{vlist},
+	vlist = Sum[(#)[[i]],{i,Length[#]}]& /@ ((vectors * (#)&) /@ Pow[Length[vectors]]);
+	Return[vlist];
+	]
+
+Pow[n_Integer]:=
+	Block[{p,a,b},
+	If[n == 1, Return[{{1},{-1}}]
+	];
+	p = Pow[n-1];
+	a = Append[#,1]& /@ p;
+	b = Append[#,-1]& /@ p;
+	Return[(AppendTo[a,#]& /@ b)[[Length[b]]]];
+	]
+
+NonEmptyFaces[zerova_List]:=
+    Map[Function[Transpose[Position[zerova,#]][[1]]],Union[Flatten[zerova]]]
+
+VerticalVector[maxf_List]:=
+	Block[{i,vervec,a1,a2,x,y,z,b,v,vv={}},
+		For[i=1,i<=Length[maxf],i++,
+			a1 = maxf[[i]][[3]]-maxf[[i]][[2]];
+			a2 = maxf[[i]][[1]]-maxf[[i]][[3]];
+			Clear[x,y,z];
+			vervec = {x,y,z};
+			{vervec} = vervec /. Solve[{a1.vervec == 0, a2.vervec == 0}];
+			x = 1; y = 1; z = 1;
+			b = vervec.maxf[[i]][[1]];
+			v = Complement[Union[Flatten[maxf,1]],maxf[[i]]][[1]];
+			If[v.vervec > b, vervec = -vervec; b = -b];
+			AppendTo[vv,{vervec,b}];
+		];
+		Return[vv];
+	]
+
+End[]
+EndPackage[]
diff --git a/third_party/cddlib/examples-ml/cddml-DietProblem.nb b/third_party/cddlib/examples-ml/cddml-DietProblem.nb
new file mode 100644
index 0000000..ec42445
--- /dev/null
+++ b/third_party/cddlib/examples-ml/cddml-DietProblem.nb
@@ -0,0 +1,586 @@
+(************** Content-type: application/mathematica **************
+
+                    Mathematica-Compatible Notebook
+
+This notebook can be used with any Mathematica-compatible
+application, such as Mathematica, MathReader or Publicon. The data
+for the notebook starts with the line containing stars above.
+
+To get the notebook into a Mathematica-compatible application, do
+one of the following:
+
+* Save the data starting with the line of stars above into a file
+  with a name ending in .nb, then open the file inside the
+  application;
+
+* Copy the data starting with the line of stars above to the
+  clipboard, then use the Paste menu command inside the application.
+
+Data for notebooks contains only printable 7-bit ASCII and can be
+sent directly in email or through ftp in text mode.  Newlines can be
+CR, LF or CRLF (Unix, Macintosh or MS-DOS style).
+
+NOTE: If you modify the data for this notebook not in a Mathematica-
+compatible application, you must delete the line below containing
+the word CacheID, otherwise Mathematica-compatible applications may
+try to use invalid cache data.
+
+For more information on notebooks and Mathematica-compatible 
+applications, contact Wolfram Research:
+  web: http://www.wolfram.com
+  email: info@wolfram.com
+  phone: +1-217-398-0700 (U.S.)
+
+Notebook reader applications are available free of charge from 
+Wolfram Research.
+*******************************************************************)
+
+(*CacheID: 232*)
+
+
+(*NotebookFileLineBreakTest
+NotebookFileLineBreakTest*)
+(*NotebookOptionsPosition[     13920,        436]*)
+(*NotebookOutlinePosition[     14959,        472]*)
+(*  CellTagsIndexPosition[     14871,        466]*)
+(*WindowFrame->Normal*)
+
+
+
+Notebook[{
+Cell[TextData[{
+  StyleBox["Diet Problem",
+    FontColor->RGBColor[0.0557107, 0.137819, 0.517113]],
+  "\nAn Application of Vertex Enumeration\nwith ",
+  StyleBox["MathLink",
+    FontSize->24,
+    FontSlant->"Italic",
+    FontColor->RGBColor[0.0146487, 0.461387, 0.0967727]],
+  " to ",
+  StyleBox["cddlib",
+    FontColor->RGBColor[0.517113, 0.0273594, 0.0273594]]
+}], "Title",
+  ImageRegion->{{0, 1}, {0, 1}},
+  FontSize->27],
+
+Cell[TextData[StyleBox["Komei Fukuda, fukuda@ifor.math.ethz.ch\nSwiss Federal \
+Institute of Technology, Lausanne and Zurich\nMarch 14, 1999",
+  FontSize->17,
+  FontSlant->"Italic"]], "Subtitle",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["Connecting  cddmathlink", "Section",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell[TextData[{
+  "You just put the compiled cddmathlink for your computer in some directory. \
+ In this example, the name of the directory is ",
+  StyleBox["\"~/Math\".",
+    FontFamily->"Courier",
+    FontWeight->"Bold"]
+}], "Text",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["Off[General::spell1]; Off[General::spell];", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["cddml=Install[\"~/Math/cddmathlink\"]", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \(LinkObject["/Users/fukuda/Math/cddmathlink", 7, 7]\)], "Output"]
+}, Open  ]]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+
+Cell["What is Diet Problem?", "Section",
+  ImageRegion->{{0, 1}, {0, 1}},
+  FontSize->20],
+
+Cell["\<\
+The following diet problem is taken from V. Chvatal's  great book \
+on Linear Programming (\"Linear Programming\", W.H.Freeman and Company,1983). \
+  It is to design a cheapest meal with six possible items below to satisfy \
+prescribed nutritional needs.  Please see Page 3 of the book.\
+\>", "Text",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+var={\"\",\"Oatmeal\",\"Chicken\",\"Eggs\",\"Milk\",\"Cherry Pie\", \
+
+\t\"Pork Beans\"};
+
+price={\"Price/Ser\", \"3c\", \"24c\", \"13c\", \"9c\", \"20c\", \
+\"19c\"}\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}},
+  FontSize->14],
+
+Cell[BoxData[
+    \({"Price/Ser", "3c", "24c", "13c", "9c", "20c", "19c"}\)], "Output"]
+}, Open  ]],
+
+Cell["\<\
+MatrixForm[dietproblem1=
+{{0, 1, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0},
+ {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0}, 
+ {0, 0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 1}, 
+ {4, -1, 0, 0, 0, 0, 0}, {3, 0, -1, 0, 0, 0, 0},
+ {2, 0, 0, -1, 0, 0, 0}, {8, 0, 0, 0, -1, 0, 0}, 
+ {2, 0, 0, 0, 0, -1, 0}, {2, 0, 0, 0, 0, 0, -1},
+ {-2000, 110, 205, 160, 160, 420, 260}, 
+ {-55, 4, 32, 13, 8, 4, 14}, 
+ {-800, 2, 12, 54, 285, 22, 80}}];\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}},
+  FontSize->14],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+TableForm[table1=Prepend[Prepend[dietproblem1,var],price]]
+\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    TagBox[GridBox[{
+          {"\<\"Price/Ser\"\>", "\<\"3c\"\>", "\<\"24c\"\>", "\<\"13c\"\>", "\
+\<\"9c\"\>", "\<\"20c\"\>", "\<\"19c\"\>"},
+          {"\<\"\"\>", "\<\"Oatmeal\"\>", "\<\"Chicken\"\>", "\<\"Eggs\"\>", \
+"\<\"Milk\"\>", "\<\"Cherry Pie\"\>", "\<\"Pork Beans\"\>"},
+          {"0", "1", "0", "0", "0", "0", "0"},
+          {"0", "0", "1", "0", "0", "0", "0"},
+          {"0", "0", "0", "1", "0", "0", "0"},
+          {"0", "0", "0", "0", "1", "0", "0"},
+          {"0", "0", "0", "0", "0", "1", "0"},
+          {"0", "0", "0", "0", "0", "0", "1"},
+          {"4", \(-1\), "0", "0", "0", "0", "0"},
+          {"3", "0", \(-1\), "0", "0", "0", "0"},
+          {"2", "0", "0", \(-1\), "0", "0", "0"},
+          {"8", "0", "0", "0", \(-1\), "0", "0"},
+          {"2", "0", "0", "0", "0", \(-1\), "0"},
+          {"2", "0", "0", "0", "0", "0", \(-1\)},
+          {\(-2000\), "110", "205", "160", "160", "420", "260"},
+          {\(-55\), "4", "32", "13", "8", "4", "14"},
+          {\(-800\), "2", "12", "54", "285", "22", "80"}
+          },
+        RowSpacings->1,
+        ColumnSpacings->3,
+        RowAlignments->Baseline,
+        ColumnAlignments->{Left}],
+      Function[ BoxForm`e$, 
+        TableForm[ BoxForm`e$]]]], "Output"]
+}, Open  ]],
+
+Cell["\<\
+m=Transpose[Drop[Transpose[dietproblem1],1]];
+b=-First[Transpose[dietproblem1]];
+c={3, 24, 13, 9, 20, 19};\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}},
+  FontSize->14],
+
+Cell[TextData[{
+  "By using the build-in LP optimizer of ",
+  StyleBox["Mathematica",
+    FontSlant->"Italic"],
+  ", one can easily compute the optimal solution."
+}], "Text",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["lps=LinearProgramming[c, m,b]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}},
+  FontSize->14],
+
+Cell[BoxData[
+    \({4, 0, 0, 9\/2, 2, 0}\)], "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["optvalue= N[c.lps]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}},
+  FontSize->14],
+
+Cell[BoxData[
+    \(92.5`\)], "Output"]
+}, Open  ]],
+
+Cell["\<\
+We can see the optimal solution better in the following table.   It \
+is certainly not an exciting menu.   In fact, an optimal solution to any \
+optimization problem tends to be extreme, and thus it must be modified for \
+practical purposes.\
+\>", "Text",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+TableForm[Join[{var},{Prepend[N[lps],optvalue]}]]
+\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}},
+  FontSize->14],
+
+Cell[BoxData[
+    TagBox[GridBox[{
+          {"\<\"\"\>", "\<\"Oatmeal\"\>", "\<\"Chicken\"\>", "\<\"Eggs\"\>", \
+"\<\"Milk\"\>", "\<\"Cherry Pie\"\>", "\<\"Pork Beans\"\>"},
+          {"92.5`", "4.`", "0.`", "0.`", "4.5`", "2.`", "0.`"}
+          },
+        RowSpacings->1,
+        ColumnSpacings->3,
+        RowAlignments->Baseline,
+        ColumnAlignments->{Left}],
+      Function[ BoxForm`e$, 
+        TableForm[ BoxForm`e$]]]], "Output"]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+
+Cell["Why is the Vertex Enumeration Useful?", "Section",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["\<\
+Now we try to do something more reasonable.  We use cddmathlink \
+fuction AllVertices:\
+\>", "Subsection",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["?AllVertices", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \("AllVertices[m,d+1,A] generates all extreme points (vertices) and \
+extreme rays of the convex polyhedron in R^(d+1) given as the solution set to \
+an inequality system  A x >= 0 where  A is an m*(d+1) matrix  and  \
+x=(1,x1,...,xd).  The output is {{extlist, linearity}, ecdlist} where extlist \
+is  the extreme point list and ecdlist is the incidence list.  Each vertex \
+(ray) has the first component 1 (0).  If the convex polyhedron is nonempty \
+and has no vertices, extlist is a (nonunique) set of generators of the \
+polyhedron where those generators in the linearity list are considered as \
+linearity space (of points satisfying A (0, x1, x2, ...., xd) = 0)  \
+generators."\)], "Print",
+  CellTags->"Info3249106745-1451094"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+We can then compute ALL possibilities for cost at most, say One \
+Dollar.\
+\>", "Subsection",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["BudgetLimit=100;", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+MatrixForm[dietproblem2=Append[dietproblem1, 
+  {BudgetLimit, -3, -24, -13, -9, -20, -19}]]\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    TagBox[
+      RowBox[{"(", "\[NoBreak]", GridBox[{
+            {"0", "1", "0", "0", "0", "0", "0"},
+            {"0", "0", "1", "0", "0", "0", "0"},
+            {"0", "0", "0", "1", "0", "0", "0"},
+            {"0", "0", "0", "0", "1", "0", "0"},
+            {"0", "0", "0", "0", "0", "1", "0"},
+            {"0", "0", "0", "0", "0", "0", "1"},
+            {"4", \(-1\), "0", "0", "0", "0", "0"},
+            {"3", "0", \(-1\), "0", "0", "0", "0"},
+            {"2", "0", "0", \(-1\), "0", "0", "0"},
+            {"8", "0", "0", "0", \(-1\), "0", "0"},
+            {"2", "0", "0", "0", "0", \(-1\), "0"},
+            {"2", "0", "0", "0", "0", "0", \(-1\)},
+            {\(-2000\), "110", "205", "160", "160", "420", "260"},
+            {\(-55\), "4", "32", "13", "8", "4", "14"},
+            {\(-800\), "2", "12", "54", "285", "22", "80"},
+            {"100", \(-3\), \(-24\), \(-13\), \(-9\), \(-20\), \(-19\)}
+            }], "\[NoBreak]", ")"}],
+      Function[ BoxForm`e$, 
+        MatrixForm[ BoxForm`e$]]]], "Output"],
+
+Cell[CellGroupData[{
+
+Cell["{m2,d2}=Dimensions[dietproblem2]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({16, 7}\)], "Output"]
+}, Open  ]],
+
+Cell["\<\
+{{extlist,linearity},inclist}=AllVertices[m2,d2,Flatten[\
+dietproblem2]];\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["Length[extlist]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \(17\)], "Output"]
+}, Open  ]],
+
+Cell["vlist=Map[Drop[#,1]&, extlist];", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["allsolutions=Union[Map[Prepend[#, N[c.#,3]]&, N[vlist,5]]];", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["TableForm[table2=Prepend[allsolutions,var]]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    TagBox[GridBox[{
+          {"\<\"\"\>", "\<\"Oatmeal\"\>", "\<\"Chicken\"\>", "\<\"Eggs\"\>", \
+"\<\"Milk\"\>", "\<\"Cherry Pie\"\>", "\<\"Pork Beans\"\>"},
+          {"92.5`", "4.`", "0.`", "0.`", "4.5`", "2.`", "0.`"},
+          {"97.33333333333336`", "4.`", "0.`", "0.`", "8.`", 
+            "0.6666666666666675`", "0.`"},
+          {"98.6035889070147`", "4.`", "0.`", "0.`", "2.232952691680261`", 
+            "2.`", "1.3951060358890708`"},
+          {"100.`", "1.6470588235294117`", "0.`", "0.`", "6.117647058823529`",
+             "2.`", "0.`"},
+          {"100.`", "2.8085106382978777`", "0.`", "0.`", "8.`", 
+            "0.9787234042553182`", "0.`"},
+          {"100.`", "3.7415068699984926`", "0.`", "0.`", 
+            "2.1980371432885404`", "2.`", "1.5259550052846136`"},
+          {"100.`", "4.`", "0.`", "0.`", "2.2091586794462197`", "2.`", 
+            "1.4798722044728432`"},
+          {"100.`", "4.`", "0.`", "0.`", "5.333333333333333`", "2.`", "0.`"},
+          {"100.`", "4.`", "0.`", "0.`", "8.`", "0.8000000000000002`", 
+            "0.`"},
+          {"100.`", "4.`", "0.`", "0.49557522123893516`", "8.`", 
+            "0.4778761061946923`", "0.`"},
+          {"100.`", "4.`", "0.`", "1.8750000000000029`", "2.624999999999996`",
+             "2.`", "0.`"},
+          {"100.`", "4.`", "0.1655305777133171`", "0.`", "2.268813149625332`",
+             "2.`", "1.2425235678027577`"},
+          {"100.`", "4.`", "0.1872909698996644`", "0.`", "8.`", 
+            "0.5752508361204028`", "0.`"},
+          {"100.`", "4.`", "0.601503759398496`", "0.`", "3.729323308270678`", 
+            "2.`", "0.`"},
+          {"100.00000000000001`", "4.`", "0.`", "0.`", "2.179657768651609`", 
+            "1.8828199863107473`", "1.6171937029431882`"},
+          {"100.00000000000001`", "4.`", "0.`", "0.`", "8.`", 
+            "0.4172661870503621`", "0.4028776978417242`"},
+          {"100.00000000000001`", "4.`", "0.`", "1.025149700598805`", 
+            "2.2122155688622755`", "2.`", "0.7770059880239508`"}
+          },
+        RowSpacings->1,
+        ColumnSpacings->3,
+        RowAlignments->Baseline,
+        ColumnAlignments->{Left}],
+      Function[ BoxForm`e$, 
+        TableForm[ BoxForm`e$]]]], "Output"]
+}, Open  ]]
+}, Open  ]],
+
+Cell["\<\
+The list is complete in the sense that any feasible menu of cost at \
+most One Dollar is a combination of these seventeen (extreme) solutions.  One \
+can find menus with Chicken, Eggs or Pork that might be much more desireble \
+than the optimal menu.   Also it shows you cannot avoid Oatmeal nor Cherry \
+pie within this budget to satisfy the nutritional needs.\
+\>", "Text",
+  ImageRegion->{{0, 1}, {0, 1}}]
+}, Closed]],
+
+Cell[CellGroupData[{
+
+Cell["Disconnecting  cddmathlink", "Section",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["Uninstall[cddml]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \("/Users/fukuda/Math/cddmathlink"\)], "Output"]
+}, Open  ]]
+}, Closed]]
+},
+FrontEndVersion->"4.1 for Macintosh",
+ScreenRectangle->{{0, 1152}, {0, 746}},
+AutoGeneratedPackage->None,
+WindowToolbars->{},
+CellGrouping->Manual,
+WindowSize->{639, 621},
+WindowMargins->{{1, Automatic}, {Automatic, 1}},
+PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}},
+ShowCellLabel->True,
+ShowCellTags->False,
+RenderingOptions->{"ObjectDithering"->True,
+"RasterDithering"->False}
+]
+
+(*******************************************************************
+Cached data follows.  If you edit this Notebook file directly, not
+using Mathematica, you must remove the line containing CacheID at
+the top of  the file.  The cache data will then be recreated when
+you save this file from within Mathematica.
+*******************************************************************)
+
+(*CellTagsOutline
+CellTagsIndex->{
+  "Info3249106745-1451094"->{
+    Cell[7959, 273, 753, 11, 167, "Print",
+      CellTags->"Info3249106745-1451094"]}
+  }
+*)
+
+(*CellTagsIndex
+CellTagsIndex->{
+  {"Info3249106745-1451094", 14759, 459}
+  }
+*)
+
+(*NotebookFileOutline
+Notebook[{
+Cell[1705, 50, 424, 13, 179, "Title"],
+Cell[2132, 65, 228, 4, 92, "Subtitle"],
+
+Cell[CellGroupData[{
+Cell[2385, 73, 103, 2, 56, "Section",
+  InitializationCell->True],
+
+Cell[CellGroupData[{
+Cell[2513, 79, 295, 8, 49, "Text",
+  InitializationCell->True],
+Cell[2811, 89, 120, 2, 27, "Input",
+  InitializationCell->True],
+
+Cell[CellGroupData[{
+Cell[2956, 95, 115, 2, 27, "Input",
+  InitializationCell->True],
+Cell[3074, 99, 84, 1, 27, "Output"]
+}, Open  ]]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[3219, 107, 89, 2, 40, "Section"],
+Cell[3311, 111, 343, 6, 68, "Text"],
+
+Cell[CellGroupData[{
+Cell[3679, 121, 240, 9, 76, "Input"],
+Cell[3922, 132, 87, 1, 27, "Output"]
+}, Open  ]],
+Cell[4024, 136, 495, 13, 172, "Input"],
+
+Cell[CellGroupData[{
+Cell[4544, 153, 117, 4, 42, "Input"],
+Cell[4664, 159, 1261, 27, 293, "Output"]
+}, Open  ]],
+Cell[5940, 189, 180, 6, 60, "Input"],
+Cell[6123, 197, 207, 6, 32, "Text"],
+
+Cell[CellGroupData[{
+Cell[6355, 207, 95, 2, 28, "Input"],
+Cell[6453, 211, 55, 1, 42, "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[6545, 217, 84, 2, 28, "Input"],
+Cell[6632, 221, 39, 1, 27, "Output"]
+}, Open  ]],
+Cell[6686, 225, 298, 6, 50, "Text"],
+
+Cell[CellGroupData[{
+Cell[7009, 235, 124, 5, 44, "Input"],
+Cell[7136, 242, 443, 11, 53, "Output"]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[7628, 259, 89, 1, 36, "Section"],
+Cell[7720, 262, 149, 4, 46, "Subsection"],
+
+Cell[CellGroupData[{
+Cell[7894, 270, 62, 1, 27, "Input"],
+Cell[7959, 273, 753, 11, 167, "Print",
+  CellTags->"Info3249106745-1451094"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[8749, 289, 136, 4, 46, "Subsection"],
+Cell[8888, 295, 66, 1, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[8979, 300, 149, 4, 42, "Input"],
+Cell[9131, 306, 1041, 21, 277, "Output"],
+
+Cell[CellGroupData[{
+Cell[10197, 331, 82, 1, 27, "Input"],
+Cell[10282, 334, 41, 1, 27, "Output"]
+}, Open  ]],
+Cell[10338, 338, 131, 4, 42, "Input"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[10506, 347, 65, 1, 27, "Input"],
+Cell[10574, 350, 36, 1, 27, "Output"]
+}, Open  ]],
+Cell[10625, 354, 81, 1, 27, "Input"],
+Cell[10709, 357, 109, 1, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[10843, 362, 93, 1, 27, "Input"],
+Cell[10939, 365, 2233, 42, 309, "Output"]
+}, Open  ]]
+}, Open  ]],
+Cell[13199, 411, 418, 7, 68, "Text"]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[13654, 423, 78, 1, 36, "Section"],
+
+Cell[CellGroupData[{
+Cell[13757, 428, 66, 1, 27, "Input"],
+Cell[13826, 431, 66, 1, 27, "Output"]
+}, Open  ]]
+}, Closed]]
+}
+]
+*)
+
+
+
+(*******************************************************************
+End of Mathematica Notebook file.
+*******************************************************************)
+
diff --git a/third_party/cddlib/examples-ml/cddml-PolytopeSkeleton.nb b/third_party/cddlib/examples-ml/cddml-PolytopeSkeleton.nb
new file mode 100644
index 0000000..91c8597
--- /dev/null
+++ b/third_party/cddlib/examples-ml/cddml-PolytopeSkeleton.nb
@@ -0,0 +1,18567 @@
+(************** Content-type: application/mathematica **************
+
+                    Mathematica-Compatible Notebook
+
+This notebook can be used with any Mathematica-compatible
+application, such as Mathematica, MathReader or Publicon. The data
+for the notebook starts with the line containing stars above.
+
+To get the notebook into a Mathematica-compatible application, do
+one of the following:
+
+* Save the data starting with the line of stars above into a file
+  with a name ending in .nb, then open the file inside the
+  application;
+
+* Copy the data starting with the line of stars above to the
+  clipboard, then use the Paste menu command inside the application.
+
+Data for notebooks contains only printable 7-bit ASCII and can be
+sent directly in email or through ftp in text mode.  Newlines can be
+CR, LF or CRLF (Unix, Macintosh or MS-DOS style).
+
+NOTE: If you modify the data for this notebook not in a Mathematica-
+compatible application, you must delete the line below containing
+the word CacheID, otherwise Mathematica-compatible applications may
+try to use invalid cache data.
+
+For more information on notebooks and Mathematica-compatible 
+applications, contact Wolfram Research:
+  web: http://www.wolfram.com
+  email: info@wolfram.com
+  phone: +1-217-398-0700 (U.S.)
+
+Notebook reader applications are available free of charge from 
+Wolfram Research.
+*******************************************************************)
+
+(*CacheID: 232*)
+
+
+(*NotebookFileLineBreakTest
+NotebookFileLineBreakTest*)
+(*NotebookOptionsPosition[    896774,      18330]*)
+(*NotebookOutlinePosition[    897652,      18360]*)
+(*  CellTagsIndexPosition[    897608,      18356]*)
+(*WindowFrame->Normal*)
+
+
+
+Notebook[{
+Cell["\<\
+PolytopeSkeleton.m
+Visualizing Convex Polytope Skeletons (with cddmathlink)\
+\>", "Title",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[TextData[StyleBox["Komei Fukuda, fukuda@ifor.math.ethz.ch\nSwiss Federal \
+Institute of Technology, Lausanne and Zurich\nDecember 17, 2002",
+  FontSize->17,
+  FontSlant->"Italic"]], "Subtitle",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["Preparation (reading Packages)", "Section",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["Off[General::spell1]; Off[General::spell]", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["$Path = Append[$Path,\"~/Math\"]; ", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[TextData[{
+  "We use an extra graphics package available from ",
+  StyleBox["MathSource",
+    FontSlant->"Italic"],
+  ".    It is called View3D which is a part of ExtendGraphics  package wrtten \
+by  Tom Wickham-Jones .  The package is available at ",
+  StyleBox["http://www.mathsource.com/",
+    FontFamily->"Courier",
+    FontWeight->"Bold"],
+  ".  If you install it in a directory which in not in the $Path, you need to \
+append the directory to $Path."
+}], "Text",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["$Path", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({"/Users/fukuda/Library/Mathematica/4.1/Kernel", 
+      "/Users/fukuda/Library/Mathematica/4.1/AddOns/Autoload", 
+      "/Users/fukuda/Library/Mathematica/4.1/AddOns/Applications", 
+      "/Library/Mathematica/Kernel/", "/Library/Mathematica/Autoload/", 
+      "/Library/Mathematica/Applications/", "/Library/Mathematica/", ".", 
+      "/Users/fukuda", 
+      "/Applications/LocalApps/Mathematica 4.1.app/AddOns/StandardPackages", 
+      "/Applications/LocalApps/Mathematica \
+4.1.app/AddOns/StandardPackages/StartUp", 
+      "/Applications/LocalApps/Mathematica 4.1.app/AddOns/Autoload", 
+      "/Applications/LocalApps/Mathematica 4.1.app/AddOns/Applications", 
+      "/Applications/LocalApps/Mathematica 4.1.app/AddOns/ExtraPackages", 
+      "/Applications/LocalApps/Mathematica \
+4.1.app/SystemFiles/Graphics/Packages", 
+      "/Applications/LocalApps/Mathematica 4.1.app/Configuration/Kernel", 
+      "~/Math", "~/Math", "~/Math"}\)], "Output"]
+}, Open  ]],
+
+Cell["Needs[\"ExtendGraphics`View3D`\"];", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[TextData[{
+  "cddmathlink is a ",
+  StyleBox["MathLink",
+    FontSlant->"Italic"],
+  "  version of libcdd for doing the vertex enumeration and the facet \
+enumeration of a convex polyhedron.  cddlib-080.tar.gz is available from \
+Fukuda's Homepage:   http:///www.ifor.math.ethz.ch/staff/fukuda/fukuda.html  \
+.   Look for \"cdd Homepage\"."
+}], "Text",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["cddml=Install[\"~/Math/cddmathlink\"]", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \(LinkObject["/Users/fukuda/Math/cddmathlink", 4, 3]\)], "Output"]
+}, Open  ]],
+
+Cell[TextData[{
+  "The following packages come with libcdd package and should be installed in \
+your favorite directory.  Here I assume it is in \"~/Math\" directory.   They \
+are separately available from Fukuda's Homepage: \
+http:///www.ifor.math.ethz.ch/staff/fukuda/fukuda.html  .  Look for ",
+  StyleBox["Mathematica",
+    FontSlant->"Italic"],
+  " Projects."
+}], "Text",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["<< PolytopeSkeleton.m", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["<< IOPolyhedra.m", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \(Syntax::"com" \(\(:\)\(\ \)\) 
+      "Warning: comma encountered with no adjacent expression; the expression \
+will be treated as Null. \!\(\" (line 49 of \\\"IOPolyhedra.m\\\")\"\)"\)], \
+"Message"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["<< UnfoldPolytope.m", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \(Syntax::"com" \(\(:\)\(\ \)\) 
+      "Warning: comma encountered with no adjacent expression; the expression \
+will be treated as Null. \!\(\" (line 90 of \
+\\\"UnfoldPolytope.m\\\")\"\)"\)], "Message"]
+}, Open  ]]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["Compute theVertices of a Polytope by using cddmathlink", "Section",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["FileNames[\"*\",\"~/Math/ine_3d\"]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({"~/Math/ine_3d/cube3a.ine", "~/Math/ine_3d/cube3b.ine", 
+      "~/Math/ine_3d/cube3.ine", "~/Math/ine_3d/cubocta.ine", 
+      "~/Math/ine_3d/cuboctaT.ine", "~/Math/ine_3d/denault1.ine", 
+      "~/Math/ine_3d/dodeca.ine", "~/Math/ine_3d/dodecaT.ine", 
+      "~/Math/ine_3d/grcubocta.ine", "~/Math/ine_3d/grcuboctaT.ine", 
+      "~/Math/ine_3d/hexocta.ine", "~/Math/ine_3d/hexoctaT.ine", 
+      "~/Math/ine_3d/icododeca.ine", "~/Math/ine_3d/icododecaT.ine", 
+      "~/Math/ine_3d/icosaT.ine", "~/Math/ine_3d/rcubocta.ine", 
+      "~/Math/ine_3d/rcuboctaT.ine", "~/Math/ine_3d/rhomtria.ine", 
+      "~/Math/ine_3d/rhomtriaT.ine", "~/Math/ine_3d/scube3.ine", 
+      "~/Math/ine_3d/zono3_10.ine"}\)], "Output"]
+}, Open  ]],
+
+Cell["\<\
+The file test.ine is the main output file of cdd+, which gives the \
+inequality (facet) representation of the polytope.\
+\>", "Text",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+MatrixForm[inedata=
+\tReadPolyhedraData[\"~/Math/ine_3d/hexocta.ine\"]];\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    InterpretationBox[\("m="\[InvisibleSpace]48\[InvisibleSpace]",   n="\
+\[InvisibleSpace]4\[InvisibleSpace]" type="\[InvisibleSpace]"integer"\),
+      SequenceForm[ "m=", 48, ",   n=", 4, " type=", "integer"],
+      Editable->False]], "Print"]
+}, Open  ]],
+
+Cell["\<\
+amat=-Transpose[Drop[Transpose[inedata],1]];
+bvec=Transpose[inedata][[1]];\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["{m,d}=Dimensions[inedata]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({48, 4}\)], "Output"]
+}, Open  ]],
+
+Cell["\<\
+{{extlist,linearity},ecdlist,eadlist,icdlist,iadlist}=
+\tAllVerticesWithAdjacency[m,d,Flatten[inedata]];\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["vlist = Map[Drop[#, 1]&, extlist]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({{\(-0.5000000000000002`\), \(-0.5000000000000002`\), 
+        0.4999999999999997`}, {\(-0.5999999999999998`\), \
+\(-2.2204460492503246`*^-17\), 
+        0.6000000000000003`}, {\(-0.5000000000000001`\), 0.5`, 
+        0.4999999999999999`}, {\(-2.2204460492503072`*^-16\), \
+\(-1.1102230246251578`*^-16\), 
+        1.`}, {1.7763568394002483`*^-16, \(-0.6000000000000002`\), 
+        0.5999999999999998`}, {0.`, 0.6000000000000001`, 
+        0.6`}, {0.49999999999999967`, \(-0.5000000000000003`\), 0.5`}, {0.5`, 
+        0.5`, 0.5`}, {0.6`, 8.881784197001252`*^-17, 0.6`}, {1.`, 0.`, 
+        0.`}, {0.6`, 0.6`, 0.`}, {0.6000000000000001`, 
+        4.440892098500625`*^-17, \(-0.5999999999999999`\)}, {0.6`, \(-0.6`\), 
+        0.`}, {0.5`, 
+        0.5`, \(-0.5`\)}, {0.5000000000000002`, \(-0.4999999999999999`\), \
+\(-0.4999999999999999`\)}, {\(-8.881784197001252`*^-17\), 
+        0.6`, \(-0.6`\)}, {\(-8.881784197001258`*^-17\), \
+\(-0.5999999999999999`\), \(-0.6`\)}, {0.`, 1.`, 
+        0.`}, {5.181040781584065`*^-16, 
+        8.881784197001247`*^-17, \(-0.9999999999999997`\)}, \
+{7.401486830834381`*^-17, \(-1.`\), 
+        4.440892098500629`*^-17}, {\(-0.6000000000000001`\), 
+        0.6000000000000001`, 
+        2.2944609175586584`*^-17}, {\(-0.4999999999999999`\), 
+        0.5`, \(-0.5`\)}, {\(-0.6000000000000006`\), 
+        9.769962616701379`*^-17, \(-0.5999999999999991`\)}, \
+{\(-0.4999999999999999`\), \(-0.5`\), \(-0.5`\)}, {\(-0.6000000000000004`\), \
+\(-0.5999999999999995`\), 4.9589961766590355`*^-17}, {\(-1.`\), 
+        1.8503717077085943`*^-16, 4.5642502123478674`*^-17}}\)], "Output"]
+}, Open  ]],
+
+Cell["\<\
+invertpos[l_List, j_]:=
+\tModule[{i,pos={}},
+\t\tDo[
+\t\t\tIf[Position[l[[i]],j]!={},AppendTo[pos,i]],
+\t\t\t{i,1,Length[l]}
+\t\t];
+\t\tpos
+\t];
+dualizeIndices[ecd_List, ineLen_Integer]:=
+\tMap[invertpos[ecd,#]&, Range[ineLen]];\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["icdlist=dualizeIndices[ecdlist, Length[inedata]]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({{7, 9, 10}, {4, 8, 9}, {4, 7, 9}, {8, 9, 10}, {7, 13, 20}, {13, 15, 
+        20}, {7, 10, 13}, {10, 13, 15}, {16, 18, 22}, {16, 19, 22}, {14, 16, 
+        18}, {14, 16, 19}, {17, 19, 24}, {17, 20, 24}, {15, 17, 19}, {15, 17, 
+        20}, {1, 2, 26}, {2, 3, 4}, {2, 3, 26}, {1, 2, 4}, {1, 20, 25}, {1, 
+        25, 26}, {20, 24, 25}, {24, 25, 26}, {19, 23, 24}, {22, 23, 26}, {19, 
+        22, 23}, {23, 24, 26}, {18, 21, 22}, {3, 18, 21}, {21, 22, 26}, {3, 
+        21, 26}, {5, 7, 20}, {4, 5, 7}, {1, 5, 20}, {1, 4, 5}, {4, 6, 8}, {6, 
+        8, 18}, {3, 4, 6}, {3, 6, 18}, {10, 12, 14}, {12, 15, 19}, {12, 14, 
+        19}, {10, 12, 15}, {11, 14, 18}, {8, 11, 18}, {10, 11, 14}, {8, 10, 
+        11}}\)], "Output"]
+}, Open  ]]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["Drawing the Skeleton of a Polytope", "Section",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["Defining 3D objects.  ", "Subsection",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+skel3D[vp_]:= 
+\tGraphics3D[
+\t\tVisibleSkeleton[vlist, ecdlist, eadlist, 
+     \t{amat, bvec}, vp]
+     ]; 
+\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["\<\
+facets=Map[(Part[vlist,#]) &, icdlist];
+facets1=OrderFacets[facets];
+solid3D:= Graphics3D[Polygon /@ facets1]; 
+\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+
+Cell["Draw a Polytope  by Built-In Graphics", "Subsection",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+Do[ uvp=circle[a,5,2];
+\tShow[solid3D, 
+\t\tBoxed->False, 
+ \t\tViewPoint -> getMmaViewPoint[uvp,skel3D[uvp]],
+ \t\tSphericalRegion->True
+ \t],
+ \t{a,Pi/11,Pi,Pi/18}
+ ]\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.483333],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.65684 .64913 m .68009 .53652 L .56256 .57912 L closepath p .334 .121 .435 r
+F P
+0 g
+s
+.64695 .41988 m .68009 .53652 L .56256 .57912 L closepath p .434 .359 .673 r
+F P
+0 g
+s
+.42318 .44701 m .53835 .42212 L .56256 .57912 L closepath p .713 .619 .75 r
+F P
+0 g
+s
+.53835 .42212 m .56256 .57912 L .64695 .41988 L closepath p .561 .511 .757 r
+F P
+0 g
+s
+.40674 .56343 m .42318 .44701 L .56256 .57912 L closepath p .774 .613 .68 r
+F P
+0 g
+s
+.41824 .66762 m .40674 .56343 L .56256 .57912 L closepath p .765 .483 .507 r
+F P
+0 g
+s
+.54135 .68857 m .65684 .64913 L .56256 .57912 L closepath p .417 .094 .308 r
+F P
+0 g
+s
+.54135 .68857 m .41824 .66762 L .56256 .57912 L closepath p .66 .311 .37 r
+F P
+0 g
+s
+.5 .27523 m .53835 .42212 L .42318 .44701 L closepath p .721 .705 .835 r
+F P
+0 g
+s
+.26321 .52582 m .40674 .56343 L .42318 .44701 L closepath p .861 .697 .677 r
+F P
+0 g
+s
+.36084 .38051 m .26321 .52582 L .42318 .44701 L closepath p .888 .809 .765 r
+F P
+0 g
+s
+.36084 .38051 m .5 .27523 L .42318 .44701 L closepath p .806 .811 .855 r
+F P
+0 g
+s
+.5 .27523 m .53835 .42212 L .64695 .41988 L closepath p .547 .593 .851 r
+F P
+0 g
+s
+.40674 .56343 m .26321 .52582 L .41824 .66762 L closepath p .863 .558 .47 r
+F P
+0 g
+s
+.76097 .47154 m .68009 .53652 L .64695 .41988 L closepath p .175 .194 .64 r
+F P
+0 g
+s
+.64718 .34153 m .5 .27523 L .64695 .41988 L closepath p .342 .523 .889 r
+F P
+0 g
+s
+.64718 .34153 m .76097 .47154 L .64695 .41988 L closepath p .061 .255 .748 r
+F P
+0 g
+s
+.5 .75807 m .34918 .66239 L .41824 .66762 L closepath p .626 .065 0 r
+F P
+0 g
+s
+.26321 .52582 m .34918 .66239 L .41824 .66762 L closepath p .862 .427 .174 r
+F P
+0 g
+s
+.54135 .68857 m .5 .75807 L .41824 .66762 L closepath p .566 .066 .028 r
+F P
+0 g
+s
+.26321 .52582 m .36084 .38051 L .33546 .34355 L closepath p .918 .978 .732 r
+F P
+0 g
+s
+.36084 .38051 m .33546 .34355 L .5 .27523 L closepath p .79 .986 .894 r
+F P
+0 g
+s
+.68009 .53652 m .65684 .64913 L .76097 .47154 L closepath p 0 0 .253 r
+F P
+0 g
+s
+.5 .27523 m .45357 .28826 L .33546 .34355 L closepath p .361 .819 .715 r
+F P
+0 g
+s
+.64718 .34153 m .59455 .30616 L .5 .27523 L closepath p 0 .362 .749 r
+F P
+0 g
+s
+.59455 .30616 m .45357 .28826 L .5 .27523 L closepath p .255 0 0 r
+F P
+0 g
+s
+.54135 .68857 m .5 .75807 L .65684 .64913 L closepath p .15 0 0 r
+F P
+0 g
+s
+.32295 .59653 m .34918 .66239 L .26321 .52582 L closepath p 0 0 .487 r
+F P
+0 g
+s
+.29275 .45797 m .33546 .34355 L .26321 .52582 L closepath p 0 0 0 r
+F P
+0 g
+s
+.29275 .45797 m .32295 .59653 L .26321 .52582 L closepath p 0 0 .455 r
+F P
+0 g
+s
+.76097 .47154 m .66028 .63762 L .65684 .64913 L closepath p .644 .823 .403 r
+F P
+0 g
+s
+.5 .75807 m .66028 .63762 L .65684 .64913 L closepath p .514 .877 .654 r
+F P
+0 g
+s
+.64718 .34153 m .59455 .30616 L .76097 .47154 L closepath p .671 .159 0 r
+F P
+0 g
+s
+.32295 .59653 m .34918 .66239 L .5 .75807 L closepath p .029 .388 .849 r
+F P
+0 g
+s
+.41264 .38951 m .45357 .28826 L .33546 .34355 L closepath p .168 0 .005 r
+F P
+0 g
+s
+.29275 .45797 m .41264 .38951 L .33546 .34355 L closepath p .057 0 .209 r
+F P
+0 g
+s
+.76097 .47154 m .62074 .41788 L .60215 .57046 L closepath p .912 .736 .65 r
+F P
+0 g
+s
+.76097 .47154 m .62074 .41788 L .59455 .30616 L closepath p .89 .508 .307 r
+F P
+0 g
+s
+.66028 .63762 m .76097 .47154 L .60215 .57046 L closepath p .937 .888 .758 r
+F P
+0 g
+s
+.45357 .28826 m .41264 .38951 L .59455 .30616 L closepath p .588 .142 .159 r
+F P
+0 g
+s
+.60215 .57046 m .66028 .63762 L .5 .75807 L closepath p .822 .894 .893 r
+F P
+0 g
+s
+.4491 .60337 m .5 .75807 L .32295 .59653 L closepath p .452 .58 .891 r
+F P
+0 g
+s
+.4491 .60337 m .60215 .57046 L .5 .75807 L closepath p .717 .749 .877 r
+F P
+0 g
+s
+.32295 .59653 m .29275 .45797 L .41264 .38951 L closepath p .28 .235 .628 r
+F P
+0 g
+s
+.59455 .30616 m .62074 .41788 L .41264 .38951 L closepath p .772 .428 .404 r
+F P
+0 g
+s
+.4491 .60337 m .41264 .38951 L .32295 .59653 L closepath p .493 .477 .768 r
+F P
+0 g
+s
+.60215 .57046 m .62074 .41788 L .41264 .38951 L closepath p .797 .625 .668 r
+F P
+0 g
+s
+.4491 .60337 m .60215 .57046 L .41264 .38951 L closepath p .715 .633 .765 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00R_ooool5o`0008_ooooo0025ooooo`Go00001@11
+0003o`0008Sooooo0021ooooo`Co00003@110003o`0008Gooooo001nooooo`Go00004P110003o`00
+08;ooooo001looooo`;o000000<0:`01o`00002F92P00P2F92P7o`0000h0@@000ol0001oooooo`00
+N_ooool2o`000080:`0100?o000009HT:02F92P02@2F92P7o`0000X0@@000ol0001looooo`00N?oo
+ool2o`0000@0:`0100?o000009HT:02F92P0402F92P6o`0000L0@@000ol0001iooooo`00M_ooool2
+o`0000H0:`0100?o000009HT:02F92P05P2F92P7o`0000<0@@000ol0001fooooo`00M?ooool2o`00
+00L0:`0100?o000009HT:02F92P07P2F92P9o`0007?ooooo001booooo`;o00002@0[00400ol00000
+UR@X09HT:00U09HT:0Co0000LOooool0073ooooo0_l0000:02/00@03o`00002F92P0UR@X02D0UR@X
+0_l000001035KFOo0000o`000?l0001`ooooo`00KOooool3o`0000`0:`0100?o000009HT:02F92P0
+8P2F92P3o`0000<0aFeW00?o00000>>2C_l000000_l0001^ooooo`00Joooool2o`0000h0:`0100?o
+000009HT:02F92P08@2F92P2o`0000L0aFeW00Go00000>>2C_l00000ZbP0o`00001]ooooo`00JOoo
+ool2o`000100:`0100?o000009HT:02F92P07`2F92P2o`0000T0aFeW00Go00000>>2CP3SPTko0000
+0:/X0002o`0006_ooooo001Wooooo`;o00004P0[00400ol00000UR@X09HT:00M09HT:0;o00002`35
+KFL01Ol00000hh9>0>>2CP3SPTko00000080ZbP00_l0001Yooooo`00IOooool2o`0001<0:`0100?o
+000009HT:02F92P06`2F92P3o`0000d0aFeW00?o00000>>2CP3SPTh00P3SPTh01Ol00000ZbP00:/X
+002[:03o000006Sooooo001Sooooo`;o00005@0[00400ol00000UR@X09HT:00I09HT:0;o00004035
+KFL00ol00000hh9>0>>2CP030>>2CP04o`00002[:000ZbP00:/X00;o0000I_ooool0067ooooo0_l0
+000F02/00@03o`00002F92P0UR@X01P0UR@X0_l0000C0<E]I`03o`00003SPTh0hh9>00<0hh9>00?o
+00000:/X002[:0000P2[:0000ol0003oooooooooo`1Sooooo`00Goooool2o`0001P0:`0100?o0000
+09HT:02F92P05P2F92P2o`0001D0aFeW00?o00000>>2CP3SPTh0103SPTh00ol00000ZbP00:/X0002
+0:/X0003o`000?oooooooooo06;ooooo001Nooooo`;o00006@0[00400ol00000UR@X09HT:00C09HT
+:0?o00005`35KFL00ol00000hh9>0>>2CP050>>2CP05o`00002[:000ZbP00:/X0?l00000I?ooool0
+05kooooo00?o000000h0=Ol000005`0[00400ol00000UR@X09HT:00B09HT:0;o00006P35KFL00ol0
+0000hh9>0>>2CP060>>2CP05o`00002[:000ZbP00:/X0?l00000Hoooool005gooooo00Co000000h0
+=@0>03D03P0e0_l0000E02/00@03o`00002F92P0UR@X0100UR@X0_l0000M0<E]I`03o`00003SPTh0
+hh9>00H0hh9>00Go00000:/X002[:000ZbP0o`00001Rooooo`00GOooool00ol000003P0e00h0=@03
+00h0=@;o00004P0[00400ol00000UR@X09HT:00>09HT:0?o00007`35KFL00ol00000hh9>0>>2CP07
+0>>2CP05o`00002[:000ZbP00:/X0?l00000HOooool005gooooo00?o000000h0=@0>03D01@0>03D0
+0ol00000:`0102/00@0?02/00@03o`00002F92P0UR@X00`0UR@X0_l0000R0<E]I`03o`00003SPTh0
+hh9>00P0hh9>00Go00000:/X002[:000ZbP0o`00001Pooooo`00G?ooool00ol000003P0e00h0=@07
+00h0=@;o00003`0[00400ol00000UR@X09HT:00:09HT:0;o00009035KFL00ol00000hh9>0>>2CP09
+0>>2CP05o`00002[:000ZbP00:/X0?l00000Goooool005cooooo00?o000000h0=@0>03D02@0>03D2
+o`0000`0:`0100?o000009HT:02F92P02@2F92P2o`0002L0aFeW00?o00000>>2CP3SPTh02@3SPTh0
+1Ol00000ZbP00:/X002[:03o000005kooooo001Kooooo`;o00003@0>03D00ol00000:`0102/00@09
+02/00@03o`00002F92P0UR@X00H0UR@X0ol0000Y0<E]I`03o`00003SPTh0hh9>00X0hh9>00Co0000
+0:/X002[:03o0000G_ooool005_ooooo00?o000000h0=@0>03D03@0>03D2o`0000P0:`0100?o0000
+09HT:02F92P01@2F92P2o`0002`0aFeW00?o00000>>2CP3SPTh02`3SPTh01?l00000ZbP00:/X0?l0
+001Mooooo`00F_ooool2o`0001403P0e00?o000002/00@0[00401@0[00400ol00000UR@X09HT:003
+09HT:0;o0000;P35KFL00ol00000hh9>0>>2CP0<0>>2CP04o`00002[:000ZbP0o`0005cooooo001J
+ooooo`03o`00000>03D03P0e01403P0e0_l0000402/00@03o`00002F92P0UR@X0080UR@X0_l0000`
+0<E]I`03o`00003SPTh0hh9>00d0hh9>00Co00000:/X002[:03o0000Foooool005[ooooo00?o0000
+00h0=@0>03D04`0>03D2o`000080:`0100?o000009HT:?l000000_l0000c0<E]I`03o`00003SPTh0
+hh9>00d0hh9>00Co00000:/X002[:03o0000F_ooool005Wooooo0_l0000G00h0=@04o`00000[007o
+0000o`0003H0aFeW00?o00000>>2CP3SPTh03P3SPTh01?l00000ZbP00:/X0?l0001Iooooo`00FOoo
+ool00ol000003P0e00h0=@0F00h0=@Ko0000=035KFL00ol00000hh9>0>>2CP0?0>>2CP04o`00002[
+:000ZbP0o`0005Sooooo001Hooooo`;o00005P0>03D2o`00000404LlX?l00000]j;3o`000080c9n[
+1ol0000]0<E]I`03o`00003SPTh0hh9>0100hh9>00Co00000:/X002[:03o0000Eoooool005Sooooo
+0_l0000E00h0=@03o`000017?:00AcbP00;o00000P2gX/<00ol00000c9n[0<bOZ`060<bOZ`Oo0000
+9`35KFL00ol00000hh9>0>>2CP0@0>>2CP03o`00002[:03o000005Oooooo001Hooooo`03o`00000>
+03D03P0e01803P0e0_l0000304LlX0;o00000`2gX/<00ol00000c9n[0<bOZ`0<0<bOZ`So00007`35
+KFL00ol00000hh9>0>>2CP0A0>>2CP03o`00002[:03o000005Kooooo001Gooooo`;o00004P0>03D2
+o`0000@0AcbP00Co000007ija01nN/Co00000`2gX/<00ol00000c9n[0<bOZ`0C0<bOZ`Oo00006035
+KFL00ol00000hh9>0>>2CP0B0>>2CP03o`00002[:03o000005Gooooo001Gooooo`03o`00000>03D0
+3P0e00l03P0e0_l0000604LlX004o`00001nN/@0OW[4o`0000@0]j;300?o00000<bOZ`3<Wj/06@3<
+Wj/8o`000100aFeW00?o00000>>2CP3SPTh04`3SPTh00ol00000ZbP0o`00001Dooooo`00E_ooool2
+o`0001003P0e00?o000004LlX017?:001P17?:001?l00000OW[407ija?l000050;NR``03o`00003<
+Wj/0c9n[0200c9n[1ol000090<E]I`03o`00003SPTh0hh9>01@0hh9>00?o00000:/X0?l00000Dooo
+ool005Kooooo0_l0000>00h0=@;o00002017?:001Ol00000OW[407ija01nN/Co000000H0]j;300?o
+00000<bOZ`3<Wj/09P3<Wj/7o`0000<0aFeW00?o00000>>2CP3SPTh0503SPTh00ol00000ZbP0o`00
+001Booooo`00E_ooool00ol000003P0e00h0=@0;00h0=@;o00002P17?:001Ol00000OW[407ija01n
+N/Co000000L0]j;300?o00000<bOZ`3<Wj/0;03<Wj/5o`0001H0hh9>00?o00000:/X0?l00000DOoo
+ool005Gooooo0_l0000;00h0=@;o00002`17?:000ol00000OW[407ija00307ija003o`00002gX/<0
+]j;300D0]j;300?o00000<bOZ`3<Wj/0;P3<Wj/00ol00000jKbVo`000002o`0001@0hh9>0_l0001A
+ooooo`00EOooool2o`0000X03P0e00?o000004LlX017?:002`17?:000ol00000OW[407ija00307ij
+a003o`00002gX/<0]j;300H0]j;300?o00000<bOZ`3<Wj/0;@3<Wj/00ol00000jKbV0>VlYP020>Vl
+YP?o00004P3SPTh2o`00053ooooo001Dooooo`;o00002@0>03D2o`0000d0AcbP00?o000007ija01n
+N/@0101nN/@00ol00000]j;30;NR``070;NR``03o`00003<Wj/0c9n[02`0c9n[00?o00000>VlYP3Y
+_:H01@3Y_:H2o`000140hh9>0_l0001?ooooo`00E?ooool2o`0000L03P0e0_l0000?04LlX003o`00
+001nN/@0OW[400@0OW[400?o00000;NR``2gX/<0202gX/<00ol00000c9n[0<bOZ`0[0<bOZ`03o`00
+003Y_:H0jKbV00L0jKbV0ol0000?0>>2CP;o0000C_ooool005?ooooo0_l0000700h0=@03o`000017
+?:00AcbP00l0AcbP00?o000007ija01nN/@0101nN/@00ol00000]j;30;NR``090;NR``03o`00003<
+Wj/0c9n[02T0c9n[00?o00000>VlYP3Y_:H02`3Y_:H2o`0000h0hh9>0_l0001=ooooo`00Doooool2
+o`0000D03P0e0_l0000A04LlX003o`00001nN/@0OW[400D0OW[400?o00000;NR``2gX/<02P2gX/<0
+0ol00000c9n[0<bOZ`0X0<bOZ`03o`00003Y_:H0jKbV00d0jKbV0ol0000<0>>2CP;o0000C?ooool0
+05?ooooo0_l0000300h0=@;o00004`17?:000ol00000OW[407ija00607ija003o`00002gX/<0]j;3
+00X0]j;300?o00000<bOZ`3<Wj/09`3<Wj/00ol00000jKbV0>VlYP0@0>VlYP?o00002P3SPTh2o`00
+04_ooooo001Booooo`;o00000P0>03D2o`0001@0AcbP00?o000007ija01nN/@01`1nN/@00ol00000
+]j;30;NR``0;0;NR``03o`00003<Wj/0c9n[02H0c9n[00?o00000>VlYP3Y_:H04`3Y_:H2o`0000T0
+hh9>0_l0001:ooooo`00D_ooool2o`00000300h0=Ol00000AcbP01D0AcbP00?o000007ija01nN/@0
+1`1nN/@00ol00000]j;30;NR``0<0;NR``;o00009P3<Wj/00ol00000jKbV0>VlYP0E0>VlYP?o0000
+1`3SPTh00ol0003oooooooooo`18ooooo`00DOooool01?l000000000o`000?l0000F04LlX003o`00
+001nN/@0OW[400P0OW[400?o00000;NR``2gX/<03P2gX/<00ol00000c9n[0<bOZ`0S0<bOZ`03o`00
+003Y_:H0jKbV01P0jKbV0_l000060>>2CP03o`000?oooooooooo04Oooooo001Aooooo`;o00006017
+?:000ol00000OW[407ija00807ija003o`00002gX/<0]j;300l0]j;300?o00000<bOZ`3<Wj/08P3<
+Wj/00ol00000jKbV0>VlYP0J0>VlYP?o0000103SPTh00ol0003oooooooooo`16ooooo`00DOooool2
+o`0001P0AcbP00?o000007ija01nN/@02@1nN/@00ol00000]j;30;NR``0?0;NR``03o`00003<Wj/0
+c9n[0240c9n[00?o00000>VlYP3Y_:H07@3Y_:H3o`000080hh9>00?o0000ooooooooool0AOooool0
+053ooooo0ol0000G04LlX003o`00001nN/@0OW[400X0OW[400?o00000;NR``2gX/<0402gX/<00ol0
+0000c9n[0<bOZ`0P0<bOZ`03o`00003Y_:H0jKbV0200jKbV0_l000000`3SPTko0000ooooo`15oooo
+o`00D?ooool2o`0000030000M?l00000AcbP01D0AcbP00?o000007ija01nN/@02P1nN/@00ol00000
+]j;30;NR``0A0;NR``03o`00003<Wj/0c9n[01h0c9n[00?o00000>VlYP3Y_:H08`3Y_:H3o`0004Go
+oooo001?ooooo`;o00000P0007@00ol00000AcbP04LlX00C04LlX003o`00001nN/@0OW[400/0OW[4
+00?o00000;NR``2gX/<04P2gX/<00ol00000c9n[0<bOZ`0M0<bOZ`03o`00003Y_:H0jKbV02D0jKbV
+0_l00014ooooo`00Coooool2o`000080001d00?o000004LlX017?:004`17?:000ol00000OW[407ij
+a00;07ija003o`00002gX/<0]j;301<0]j;300?o00000<bOZ`3<Wj/0703<Wj/00ol00000jKbV0>Vl
+YP0T0>VlYP03o`00003_hl;o000004Cooooo001?ooooo`05o`00000007@0001d0000M?l000005017
+?:000ol00000OW[407ija00<07ija003o`00002gX/<0]j;301@0]j;300?o00000<bOZ`3<Wj/06`3<
+Wj/00ol00000jKbV0>VlYP0R0>VlYP;o000000<0kn?2o`000?ooool0A?ooool004kooooo0_l00003
+0000M003o`000017?:00AcbP0180AcbP00?o000007ija01nN/@03@1nN/@00ol00000]j;30;NR``0D
+0;NR``03o`00003<Wj/0c9n[01X0c9n[00?o00000>VlYP3Y_:H0803Y_:H2o`0000<0kn?200?o0000
+ooooooooool0@oooool004kooooo00?o00000000M00007@00`0007@00ol00000AcbP04LlX00A04Ll
+X003o`00001nN/@0OW[400d0OW[400?o00000;NR``2gX/<05@2gX/<00ol00000c9n[0<bOZ`0I0<bO
+Z`03o`00003Y_:H0jKbV01l0jKbV00?o00000>oS`P3_hl800P3_hl800ol0003oooooooooo`14oooo
+o`00COooool2o`0000D0001d00?o000004LlX017?:004017?:000ol00000OW[407ija00>07ija003
+o`00002gX/<0]j;301H0]j;300?o00000<bOZ`3<Wj/0603<Wj/00ol00000jKbV0>VlYP0M0>VlYP;o
+0000103_hl800ol0003oooooooooo`15ooooo`00COooool00ol00000001d0000M0040000M003o`00
+0017?:00AcbP0100AcbP00?o000007ija01nN/@03P1nN/@00ol00000]j;30;NR``0G0;NR``03o`00
+003<Wj/0c9n[01L0c9n[00?o00000>VlYP3Y_:H0703Y_:H00ol00000kn?20>oS`P040>oS`P03o`00
+0?oooooooooo04Gooooo001<ooooo`;o00001P0007@00ol00000AcbP04LlX00?04LlX003o`00001n
+N/@0OW[400l0OW[400?o00000;NR``2gX/<0602gX/<00ol00000c9n[0<bOZ`0E0<bOZ`03o`00003Y
+_:H0jKbV01/0jKbV0_l000060>oS`P03o`000?oooooooooo04Kooooo001<ooooo`;o00001P0007@0
+0ol00000AcbP04LlX00?04LlX003o`00001nN/@0OW[40100OW[400?o00000;NR``2gX/<0602gX/<0
+0ol00000c9n[0<bOZ`0D0<bOZ`03o`00003Y_:H0jKbV01X0jKbV00?o00000>oS`P3_hl801P3_hl80
+0ol0003oooooooooo`16ooooo`00C?ooool00ol00000001d0000M0060000M003o`000017?:00AcbP
+00d0AcbP00?o000007ija01nN/@04@1nN/@00ol00000]j;30;NR``0I0;NR``03o`00003<Wj/0c9n[
+01<0c9n[00?o00000>VlYP3Y_:H0603Y_:H2o`0000P0kn?200?o0000ooooooooool0Aoooool004_o
+oooo0_l000080000M003o`000017?:00AcbP00d0AcbP00?o000007ija01nN/@04@1nN/@00ol00000
+]j;30;NR``0J0;NR``03o`00003<Wj/0c9n[0180c9n[00?o00000>VlYP3Y_:H05P3Y_:H2o`0000T0
+kn?200?o0000ooooooooool0B?ooool004_ooooo00?o00000000M00007@01`0007@00ol00000AcbP
+04LlX00=04LlX003o`00001nN/@0OW[40140OW[400?o00000;NR``2gX/<06`2gX/<2o`000180c9n[
+00?o00000>VlYP3Y_:H05@3Y_:H00ol00000kn?20>oS`P090>oS`P03o`000?oooooooooo04Sooooo
+001:ooooo`;o00002@0007@00ol00000AcbP04LlX00<04LlX003o`00001nN/@0OW[40180OW[400?o
+00000;NR``2gX/<07@2gX/<00ol00000c9n[0<bOZ`0?0<bOZ`03o`00003Y_:H0jKbV01<0jKbV0_l0
+000;0>oS`P03o`000?oooooooooo04Wooooo001:ooooo`03o`00000007@0001d00P0001d00?o0000
+04LlX017?:003017?:000ol00000OW[407ija00C07ija003o`00002gX/<0]j;301d0]j;300?o0000
+0<bOZ`3<Wj/03P3<Wj/00ol00000jKbV0>VlYP0B0>VlYP03o`00003_hl80kn?200/0kn?200?o0000
+ooooooooool0BOooool004[ooooo00?o00000000M00007@02@0007@00ol00000AcbP04LlX00:04Ll
+X003o`00001nN/@0OW[401@0OW[400?o00000;NR``2gX/<07P2gX/<00ol00000c9n[0<bOZ`0=0<bO
+Z`03o`00003Y_:H0jKbV0100jKbV0_l0000=0>oS`P03o`000?oooooooooo04[ooooo0019ooooo`03
+o`00000007@0001d00X0001d00?o000004LlX017?:002P17?:000ol00000OW[407ija00D07ija003
+o`00002gX/<0]j;301l0]j;300?o00000<bOZ`3<Wj/0303<Wj/00ol00000jKbV0>VlYP0?0>VlYP03
+o`00003_hl80kn?200`0kn?20_l0001<ooooo`00BOooool00ol00000001d0000M00:0000M003o`00
+0017?:00AcbP00T0AcbP00?o000007ija01nN/@05@1nN/@00ol00000]j;30;NR``0P0;NR``03o`00
+003<Wj/0c9n[00X0c9n[00?o00000>VlYP3Y_:H03P3Y_:H2o`0000l0kn?200?o0000ooooooooool0
+Boooool004[ooooo00?o00000000M00007@02@0007@00ol00000AcbP04LlX00904LlX003o`00001n
+N/@0OW[401D0OW[400?o00000;NR``2gX/<08@2gX/<00ol00000c9n[0<bOZ`090<bOZ`03o`00003Y
+_:H0jKbV00`0jKbV0_l0000@0>oS`P03o`000?oooooooooo04cooooo001;ooooo`03o`00000007@0
+001d00P0001d00?o000004LlX017?:002@17?:000ol00000OW[407ija00E07ija003o`00002gX/<0
+]j;30280]j;300?o00000<bOZ`3<Wj/0203<Wj/00ol00000jKbV0>VlYP0;0>VlYP03o`00003_hl80
+kn?20100kn?200?o0000ooooooooool0C?ooool004_ooooo0_l0000:0000M003o`000017?:00AcbP
+00L0AcbP00?o000007ija01nN/@05`1nN/@00ol00000]j;30;NR``0R0;NR``03o`00003<Wj/0c9n[
+00L0c9n[00?o00000>VlYP3Y_:H02@3Y_:H2o`000180kn?200?o0000ooooooooool0COooool004co
+oooo0_l000090000M003o`000017?:00AcbP00L0AcbP00?o000007ija01nN/@05`1nN/@00ol00000
+]j;30;NR``0S0;NR``03o`00003<Wj/0c9n[00H0c9n[00?o00000>VlYP3Y_:H0203Y_:H00ol00000
+kn?20>oS`P0A0>oS`P;o0000Coooool004gooooo0_l000080000M003o`000017?:00AcbP00H0AcbP
+00?o000007ija01nN/@0601nN/@00ol00000]j;30;NR``0T0;NR``03o`00003<Wj/0c9n[00D0c9n[
+00?o00000>VlYP3Y_:H01P3Y_:H2o`0001@0kn?200?o0000ooooooooool0C_ooool004gooooo00?o
+00000000O?l000001`0007@00ol00000AcbP04LlX00604LlX003o`00001nN/@0OW[401P0OW[400?o
+00000;NR``2gX/<09@2gX/<00ol00000c9n[0<bOZ`040<bOZ`03o`00003Y_:H0jKbV00D0jKbV00?o
+00000>oS`P3_hl804`3_hl82o`00053ooooo001>ooooo`;o00001`0007@00ol00000AcbP04LlX005
+04LlX003o`00001nN/@0OW[401T0OW[400?o00000;NR``2gX/<09P2gX/<00ol00000c9n[0<bOZ`03
+0<bOZ`03o`00003Y_:H0jKbV00<0jKbV0_l0000F0>oS`P03o`000?oooooooooo04oooooo001>oooo
+o`03o`00000007co000000L0001d00?o000004LlX017?:001017?:000ol00000OW[407ija00J07ij
+a003o`00002gX/<0]j;302H0]j;300?o00000<bOZ`3<Wj/00P3<Wj/01?l00000jKbV0>VlYP3Y_:H2
+o`0001L0kn?200?o0000ooooooooool0D?ooool004oooooo00?o00000000O?l000001P0007@00ol0
+0000AcbP04LlX00404LlX003o`00001nN/@0OW[401X0OW[400?o00000;NR``2gX/<09`2gX/<01?l0
+0000c9n[0<bOZol000030>VlYP03o`00003_hl80kn?201H0kn?20_l0001Booooo`00D?ooool00ol0
+0000001lo`0000050000M003o`000017?:00AcbP00<0AcbP00?o000007ija01nN/@06`1nN/@00ol0
+0000]j;30;NR``0X0;NR``04o`00003<Wj_o00000>VlYP;o00006@3_hl800ol0003oooooooooo`1A
+ooooo`00D?ooool01?l00000001l0000O?l000040000M003o`000017?:00AcbP00<0AcbP00?o0000
+07ija01nN/@06`1nN/@00ol00000]j;30;NR``0Y0;NR``?o00006P3_hl82o`0005?ooooo001Aoooo
+o`04o`00000007`0001lo`0000<0001d00?o000004LlX017?:000P17?:000ol00000OW[407ija00L
+07ija003o`00002gX/<0]j;302P0]j;30ol0000K0>oS`P03o`000?oooooooooo05;ooooo001Boooo
+o`03o`00000007co000000@0001d00Go000004LlX017?:00AcbPo`00000N07ija003o`00002gX/<0
+]j;302<0]j;31Ol000020;Noh003o`00003_hl80kn?201P0kn?200?o0000ooooooooool0Doooool0
+05;ooooo00Co00000000O00007co00000`0007@01?l00000AcbP04LlX?l0000P07ija003o`00002g
+X/<0]j;301d0]j;31Ol000060;Noh003o`00003Bi>Co000001P0kn?20_l0001Eooooo`00Doooool0
+1?l00000001l0000O?l000020000M004o`000017?:00AcbPo`000200OW[400?o00000;NR``2gX/<0
+602gX/<5o`0000/0]koP00Co00000=;Ti03Bi>Co00005`3_hl800ol0003oooooooooo`1Dooooo`00
+E?ooool01_l00000001l0000O?l00000001do`000080AcbP00?o000007ija01nN/@07P1nN/@00ol0
+0000]j;30;NR``0C0;NR``Go00003`2g_n000ol00000d^CT0=;Ti0020=;Ti003o`00003_hl80kn?2
+01<0kn?20_l0001Fooooo`00E?ooool01?l00000001l0000O00007`2o`00000304LlX?l00000OW[4
+0200OW[400?o00000;NR``2gX/<03`2gX/<4o`0001@0]koP00?o00000=;Ti03Bi>@00`3Bi>@00ol0
+0000kn?20>oS`P0B0>oS`P03o`000?oooooooooo05Gooooo001Eooooo`04o`00000007`0001l0000
+O0?o00008@1nN/@00ol00000]j;30;NR``0:0;NR``Go00005`2g_n000ol00000d^CT0=;Ti0050=;T
+i003o`00003_hl80kn?20100kn?20_l0001Gooooo`00E_ooool01?l00000001l0000O00007`:o`00
+01X0OW[400?o00000;NR``2gX/<0102gX/<5o`0001/0]koP00?o00000=;Ti03Bi>@01P3Bi>@00ol0
+0000kn?20>oS`P0?0>oS`P;o0000F?ooool005Kooooo00Oo00000000O00007`0001lo`000007HmWo
+000000L0LiCT4_l0000807ija003o`00002gX/?o000000Co0000802g_n000ol00000d^CT0=;Ti007
+0=;Ti003o`00003_hl80kn?200h0kn?200?o0000ooooooooool0Eoooool005Oooooo00Oo00000000
+O00007`0001lo`000007HmWo000001P0LiCT2_l0000T0;Noh003o`00003Bi>@0d^CT00T0d^CT00?o
+00000>oS`P3_hl80303_hl82o`0005Wooooo001Gooooo`05o`00000007`0001l0000O?l000000P07
+HmT00ol00000LiCT07>Di00M07>Di003o`00002g_n00]koP02<0]koP00?o00000=;Ti03Bi>@02P3B
+i>@00ol00000kn?20>oS`P0;0>oS`P03o`000?oooooooooo05Sooooo001Hooooo`04o`00000007`0
+001lo`0000<01f?I00?o000007>Di01cU>@0701cU>@00ol00000]koP0;Noh00R0;Noh003o`00003B
+i>@0d^CT00`0d^CT00?o00000>oS`P3_hl802@3_hl82o`0005[ooooo001Iooooo`04o`00000007`0
+001lo`0000<01f?I00?o000007>Di01cU>@0701cU>@00ol00000]koP0;Noh00Q0;Noh003o`00003B
+i>@0d^CT00d0d^CT00?o00000>oS`P3_hl801`3_hl82o`0005_ooooo001Iooooo`04o`00000007`0
+001lo`0000@01f?I00?o000007>Di01cU>@06`1cU>@00ol00000]koP0;Noh00P0;Noh003o`00003B
+i>@0d^CT00l0d^CT00?o00000>oS`P3_hl801P3_hl82o`0005_ooooo001Jooooo`04o`00000007`0
+001lo`0000@01f?I00?o000007>Di01cU>@06P1cU>@00ol00000]koP0;Noh00P0;Noh003o`00003B
+i>@0d^CT00l0d^CT00?o00000>oS`P3_hl801@3_hl82o`0005cooooo001Kooooo`03o`00000007co
+000000D01f?I00?o000007>Di01cU>@06P1cU>@00ol00000]koP0;Noh00N0;Noh003o`00003Bi>@0
+d^CT0140d^CT00?o00000>oS`P3_hl80103_hl800ol0003oooooooooo`1Kooooo`00Foooool01?l0
+0000001l0000O?l0000500MSf@03o`00001cU>@0LiCT01T0LiCT00?o00000;Noh02g_n007P2g_n00
+0ol00000d^CT0=;Ti00B0=;Ti003o`00003_hl80kn?20080kn?20_l0001Mooooo`00G?ooool00ol0
+0000001lo`00000600MSf@03o`00001cU>@0LiCT01P0LiCT00?o00000;Noh02g_n007@2g_n000ol0
+0000d^CT0=;Ti00D0=;Ti003o`00003_hl80kn?200;o0000G_ooool005gooooo0_l0000700MSf@;o
+00006@1cU>@00ol00000]koP0;Noh00K0;Noh003o`00003Bi>@0d^CT01H0d^CT00Co00000>oS`_l0
+003o0000G_ooool005gooooo00?o00000000O?l000002007HmT00ol00000LiCT07>Di00F07>Di003
+o`00002g_n00]koP01/0]koP00?o00000=;Ti03Bi>@05P3Bi>@3o`0005oooooo001Nooooo`;o0000
+2@07HmT00ol00000LiCT07>Di00E07>Di003o`00002g_n00]koP01X0]koP00?o00000=;Ti03Bi>@0
+5P3Bi>@00ol00000Pn2Wo`00001Pooooo`00G_ooool00ol00000001lo`00000900MSf@03o`00001c
+U>@0LiCT01D0LiCT00?o00000;Noh02g_n006@2g_n000ol00000d^CT0=;Ti00E0=;Ti004o`000023
+h:Oo0000o`00063ooooo001Oooooo`;o00002P07HmT00ol00000LiCT07>Di00D07>Di003o`00002g
+_n00]koP01P0]koP00?o00000=;Ti03Bi>@0503Bi>@2o`00000308?PYol0003o0000067ooooo001P
+ooooo`;o00002P07HmT00ol00000LiCT07>Di00C07>Di003o`00002g_n00]koP01P0]koP00?o0000
+0=;Ti03Bi>@04`3Bi>@01?l00000Pn2W08?PYol0001Sooooo`00H?ooool2o`0000/01f?I00?o0000
+07>Di01cU>@04`1cU>@00ol00000]koP0;Noh00F0;Noh003o`00003Bi>@0d^CT01<0d^CT00Co0000
+08?PYol0003o0000I?ooool0067ooooo00?o000000MSf@07HmT02P07HmT00ol00000LiCT07>Di00B
+07>Di003o`00002g_n00]koP01H0]koP00?o00000=;Ti03Bi>@04@3Bi>@2o`00000308?PYol0003o
+oooo06Gooooo001Rooooo`;o00002`07HmT00ol00000LiCT07>Di00A07>Di003o`00002g_n00]koP
+01D0]koP00?o00000=;Ti03Bi>@04@3Bi>@01?l00000Pn2W08?PYol0001Wooooo`00I?ooool00ol0
+00001f?I00MSf@0900MSf@03o`00001cU>@0LiCT0140LiCT00?o00000;Noh02g_n004`2g_n000ol0
+0000d^CT0=;Ti00A0=;Ti004o`000023h:Oo0000o`0006Sooooo001Uooooo`;o00002P07HmT00ol0
+0000LiCT07>Di00@07>Di003o`00002g_n00]koP01<0]koP00?o00000=;Ti03Bi>@03`3Bi>@2o`00
+000308?PYol0003ooooo06Wooooo001Wooooo`03o`000007HmT01f?I00P01f?I00?o000007>Di01c
+U>@03`1cU>@00ol00000]koP0;Noh00B0;Noh003o`00003Bi>@0d^CT00l0d^CT00Co000008?PYol0
+003o0000Joooool006Sooooo0_l0000900MSf@;o0000401cU>@00ol00000]koP0;Noh00A0;Noh003
+o`00003Bi>@0d^CT00h0d^CT00?o000008?PYol00000KOooool006[ooooo0_l0000900MSf@03o`00
+001cU>@0LiCT00d0LiCT00?o00000;Noh02g_n00402g_n000ol00000d^CT0=;Ti00=0=;Ti0;o0000
+00<0Pn2Wo`000?ooool0KOooool006cooooo00?o000000MSf@07HmT01`07HmT00ol00000LiCT07>D
+i00<07>Di003o`00002g_n00]koP0100]koP00?o00000=;Ti03Bi>@0303Bi>@01?l00000Pn2Wo`00
+0?l0001_ooooo`00KOooool2o`0000P01f?I00?o000007>Di01cU>@02`1cU>@00ol00000]koP0;No
+h00?0;Noh003o`00003Bi>@0d^CT00`0d^CT00?o000008?PYol00000LOooool006oooooo00?o0000
+00MSf@07HmT01P07HmT00ol00000LiCT07>Di00;07>Di003o`00002g_n00]koP00h0]koP00?o0000
+0=;Ti03Bi>@02P3Bi>@4o`0007;ooooo001`ooooo`;o00001`07HmT00ol00000LiCT07>Di00:07>D
+i003o`00002g_n00]koP00d0]koP00?o00000=;Ti03Bi>@02P3Bi>@00ol00000Pn2Wo`00001doooo
+o`00L_ooool00ol000001f?I00MSf@0500MSf@03o`00001cU>@0LiCT00T0LiCT00?o00000;Noh02g
+_n003@2g_n000ol00000d^CT0=;Ti0090=;Ti0?o0000MOooool007?ooooo0_l0000600MSf@03o`00
+001cU>@0LiCT00T0LiCT00?o00000;Noh02g_n002`2g_n000ol00000d^CT0=;Ti0090=;Ti0;o0000
+Moooool007Gooooo00?o000000MSf@07HmT01007HmT00ol00000LiCT07>Di00807>Di003o`00002g
+_n00]koP00X0]koP00?o00000=;Ti03Bi>@0203Bi>@3o`0007Sooooo001fooooo`;o00001@07HmT0
+0ol00000LiCT07>Di00707>Di003o`00002g_n00]koP00X0]koP00?o00000=;Ti03Bi>@01`3Bi>@3
+o`0007Wooooo001hooooo`;o00001007HmT00ol00000LiCT07>Di00707>Di003o`00002g_n00]koP
+00P0]koP00?o00000=;Ti03Bi>@01`3Bi>@2o`0007_ooooo001jooooo`03o`000007HmT01f?I0080
+1f?I0_l0000707>Di003o`00002g_n00]koP00P0]koP00?o00000=;Ti03Bi>@01@3Bi>@3o`0007co
+oooo001kooooo`;o00001007HmT00ol00000LiCT07>Di00407>Di003o`00002g_n00]koP00L0]koP
+00?o00000=;Ti03Bi>@01@3Bi>@2o`0007kooooo001mooooo`03o`000007HmT01f?I00801f?I00?o
+000007>Di01cU>@0101cU>@00ol00000]koP0;Noh0060;Noh003o`00003Bi>@0d^CT00@0d^CT0_l0
+001oooooo`00O_ooool2o`0000<01f?I00?o000007>Di01cU>@00`1cU>@00ol00000]koP0;Noh005
+0;Noh003o`00003Bi>@0d^CT00<0d^CT0_l00021ooooo`00P?ooool01Ol000001f?I00MSf@07HmWo
+000000@0LiCT00?o00000;Noh02g_n001@2g_n000ol00000d^CT0=;Ti0020=;Ti0;o0000P_ooool0
+087ooooo0_l0000200MSf@03o`00001cU>@0LiCT0080LiCT00?o00000;Noh02g_n000`2g_n000ol0
+0000d^CT0=;Ti0020=;Ti0;o0000Poooool008?ooooo00Co000000MSf@07HmWo00000`1cU>@00ol0
+0000]koP0;Noh0030;Noh003o`00003Bi>@0d^CT00;o0000QOooool008Cooooo0_l000001@07HmWo
+000007>Di01cU>Co000000@0]koP00?o00000=;Ti03Bi>@00_l00026ooooo`00Q_ooool3o`000080
+LiCT00Co00000;Noh02g_n3o00000P3Bi>@00ol0003oooooooooo`26ooooo`00R?ooool2o`000004
+07>Di?l00000]koP0;Noh0?o0000ROooool008Wooooo0ol00000102g_n3o0000o`000?l0002:oooo
+o`00Roooool3o`0008cooooo002<ooooo`03o`000?oooooooooo08_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.67262 .64122 m .69877 .5249 L .59954 .57459 L closepath p .196 .004 .378 r
+F P
+0 g
+s
+.66153 .40832 m .69877 .5249 L .59954 .57459 L closepath p .34 .298 .665 r
+F P
+0 g
+s
+.44915 .45153 m .5608 .41844 L .59954 .57459 L closepath p .677 .589 .75 r
+F P
+0 g
+s
+.5608 .41844 m .59954 .57459 L .66153 .40832 L closepath p .506 .478 .761 r
+F P
+0 g
+s
+.43837 .56787 m .44915 .45153 L .59954 .57459 L closepath p .736 .58 .68 r
+F P
+0 g
+s
+.44591 .6707 m .43837 .56787 L .59954 .57459 L closepath p .72 .448 .513 r
+F P
+0 g
+s
+.56558 .68627 m .67262 .64122 L .59954 .57459 L closepath p .311 0 .257 r
+F P
+0 g
+s
+.56558 .68627 m .44591 .6707 L .59954 .57459 L closepath p .607 .267 .368 r
+F P
+0 g
+s
+.5 .27523 m .5608 .41844 L .44915 .45153 L closepath p .693 .681 .834 r
+F P
+0 g
+s
+.28463 .53964 m .43837 .56787 L .44915 .45153 L closepath p .823 .658 .679 r
+F P
+0 g
+s
+.37205 .39097 m .28463 .53964 L .44915 .45153 L closepath p .856 .765 .761 r
+F P
+0 g
+s
+.37205 .39097 m .5 .27523 L .44915 .45153 L closepath p .785 .779 .847 r
+F P
+0 g
+s
+.43837 .56787 m .28463 .53964 L .44591 .6707 L closepath p .82 .525 .492 r
+F P
+0 g
+s
+.5 .27523 m .5608 .41844 L .66153 .40832 L closepath p .503 .574 .861 r
+F P
+0 g
+s
+.28463 .53964 m .37205 .39097 L .32583 .35751 L closepath p .941 .942 .761 r
+F P
+0 g
+s
+.37205 .39097 m .32583 .35751 L .5 .27523 L closepath p .826 .964 .896 r
+F P
+0 g
+s
+.5 .75807 m .36151 .669 L .44591 .6707 L closepath p .633 .089 0 r
+F P
+0 g
+s
+.28463 .53964 m .36151 .669 L .44591 .6707 L closepath p .839 .425 .254 r
+F P
+0 g
+s
+.56558 .68627 m .5 .75807 L .44591 .6707 L closepath p .519 .031 .037 r
+F P
+0 g
+s
+.31287 .60622 m .36151 .669 L .28463 .53964 L closepath p .693 .257 0 r
+F P
+0 g
+s
+.28173 .47266 m .32583 .35751 L .28463 .53964 L closepath p .869 .87 .426 r
+F P
+0 g
+s
+.28173 .47266 m .31287 .60622 L .28463 .53964 L closepath p 0 0 .262 r
+F P
+0 g
+s
+.75109 .45378 m .69877 .5249 L .66153 .40832 L closepath p 0 .075 .593 r
+F P
+0 g
+s
+.63975 .32946 m .5 .27523 L .66153 .40832 L closepath p .262 .501 .896 r
+F P
+0 g
+s
+.63975 .32946 m .75109 .45378 L .66153 .40832 L closepath p 0 .156 .697 r
+F P
+0 g
+s
+.5 .27523 m .42732 .29358 L .32583 .35751 L closepath p .52 .912 .793 r
+F P
+0 g
+s
+.63975 .32946 m .56363 .2992 L .5 .27523 L closepath p 0 .333 .666 r
+F P
+0 g
+s
+.56363 .2992 m .42732 .29358 L .5 .27523 L closepath p .197 0 0 r
+F P
+0 g
+s
+.56558 .68627 m .5 .75807 L .67262 .64122 L closepath p 0 0 0 r
+F P
+0 g
+s
+.69877 .5249 m .67262 .64122 L .75109 .45378 L closepath p 0 0 .082 r
+F P
+0 g
+s
+.31287 .60622 m .36151 .669 L .5 .75807 L closepath p 0 .299 .776 r
+F P
+0 g
+s
+.75109 .45378 m .65243 .6299 L .67262 .64122 L closepath p .849 .946 .586 r
+F P
+0 g
+s
+.5 .75807 m .65243 .6299 L .67262 .64122 L closepath p .671 .967 .773 r
+F P
+0 g
+s
+.36409 .39816 m .42732 .29358 L .32583 .35751 L closepath p 0 0 0 r
+F P
+0 g
+s
+.28173 .47266 m .36409 .39816 L .32583 .35751 L closepath p 0 0 .054 r
+F P
+0 g
+s
+.63975 .32946 m .56363 .2992 L .75109 .45378 L closepath p .742 .22 0 r
+F P
+0 g
+s
+.31287 .60622 m .28173 .47266 L .36409 .39816 L closepath p .098 .111 .583 r
+F P
+0 g
+s
+.42732 .29358 m .36409 .39816 L .56363 .2992 L closepath p .508 .075 .152 r
+F P
+0 g
+s
+.56879 .56558 m .65243 .6299 L .5 .75807 L closepath p .8 .851 .888 r
+F P
+0 g
+s
+.42038 .60681 m .5 .75807 L .31287 .60622 L closepath p .369 .542 .895 r
+F P
+0 g
+s
+.42038 .60681 m .56879 .56558 L .5 .75807 L closepath p .68 .716 .876 r
+F P
+0 g
+s
+.42038 .60681 m .36409 .39816 L .31287 .60622 L closepath p .402 .422 .766 r
+F P
+0 g
+s
+.75109 .45378 m .58146 .41029 L .56879 .56558 L closepath p .861 .685 .661 r
+F P
+0 g
+s
+.75109 .45378 m .58146 .41029 L .56363 .2992 L closepath p .842 .478 .364 r
+F P
+0 g
+s
+.65243 .6299 m .75109 .45378 L .56879 .56558 L closepath p .903 .832 .766 r
+F P
+0 g
+s
+.56363 .2992 m .58146 .41029 L .36409 .39816 L closepath p .712 .382 .418 r
+F P
+0 g
+s
+.42038 .60681 m .56879 .56558 L .36409 .39816 L closepath p .665 .593 .765 r
+F P
+0 g
+s
+.56879 .56558 m .58146 .41029 L .36409 .39816 L closepath p .745 .58 .67 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00R_ooool4o`0008cooooo0026ooooo`Co0000100b
+0003o`0008Wooooo0022ooooo`Co00002`0b0003o`0008Kooooo001nooooo`Co00004@0b0003o`00
+08Cooooo001jooooo`Co0000600b0003o`00087ooooo001gooooo`co00005P0b0002o`0007oooooo
+001fooooo`03o`000000003o000000X0PQ<V4ol00005038000?o0000O?ooool007Cooooo0_l00000
+0`00003o0000088C9P0M088C9P_o0000NOooool007;ooooo0_l0000200000003o`0000224bH0PQ<V
+0280PQ<V0_l000000`2fHF_o00000=MjG@03o`0007Oooooo001aooooo`03o`000000000000000080
+000000?o0000088C9P224bH080224bH2o`0000<0]V5[00Go00000=MjG@3GNUgo00000;dh0003o`00
+07Cooooo001_ooooo`;o0000100000000ol00000PQ<V088C9P0O088C9P;o00001@2fHF/01Ol00000
+egYM0=MjG@3GNUgo000000<0_CP00_l0001booooo`00K_ooool00ol0000000000000000400000003
+o`0000224bH0PQ<V01d0PQ<V0_l000080;IQJ`04o`00003GNUd0egYM0=MjG@;o00000`2m>003o`00
+06oooooo001/ooooo`;o00001P0000000ol00000PQ<V088C9P0L088C9P;o00002P2fHF/00ol00000
+egYM0=MjG@030=MjG@03o`00002m>000_CP000<0_CP00ol0001/ooooo`00J_ooool2o`0000L00000
+00?o0000088C9P224bH06`224bH2o`0000`0]V5[00?o00000=MjG@3GNUd0103GNUd00ol00000_CP0
+0;dh00040;dh00?o0000J_ooool006Wooooo00?o00000000000000001`0000000ol00000PQ<V088C
+9P0H088C9P?o00003P2fHF/00ol00000egYM0=MjG@050=MjG@03o`00002m>000_CP000H0_CP00ol0
+001Wooooo`00Ioooool2o`0000T0000000?o0000088C9P224bH05`224bH2o`000140]V5[00?o0000
+0=MjG@3GNUd01P3GNUd00ol00000_CP00;dh00080;dh0003o`000?oooooooooo06Cooooo001Uoooo
+o`;o00002P0000000ol00000PQ<V088C9P0F088C9P;o00004`2fHF/00ol00000egYM0=MjG@070=Mj
+G@;o0000202m>0000ol0003oooooooooo`1Tooooo`00I?ooool00ol0000000000000000:00000003
+o`0000224bH0PQ<V01@0PQ<V0_l0000F0;IQJ`03o`00003GNUd0egYM00P0egYM00?o00000;dh002m
+>0001P2m>0000ol0003oooooooooo`1Sooooo`00H_ooool2o`0000`0000000?o0000088C9P224bH0
+4`224bH2o`0001P0]V5[00?o00000=MjG@3GNUd02@3GNUd00ol00000_CP00;dh00060;dh0003o`00
+0?oooooooooo06;ooooo001Qooooo`03o`0000000000000000`0000000?o0000088C9P224bH04@22
+4bH2o`0001X0]V5[00?o00000=MjG@3GNUd02P3GNUd00ol00000_CP00;dh00060;dh0003o`000?oo
+oooooooo067ooooo001Oooooo`;o00003P0000000ol00000PQ<V088C9P0@088C9P;o0000702fHF/0
+0ol00000egYM0=MjG@0;0=MjG@;o00001`2m>0000ol0003oooooooooo`1Pooooo`00GOooool2o`00
+00l0000000?o0000088C9P224bH03`224bH2o`0001h0]V5[00?o00000=MjG@3GNUd03@3GNUd00ol0
+0000_CP00;dh00050;dh0003o`000?oooooooooo05oooooo001Looooo`03o`0000000000000000l0
+000000?o0000088C9P224bH03@224bH2o`000200]V5[00?o00000=MjG@3GNUd03P3GNUd00ol00000
+_CP00;dh00050;dh0003o`000?oooooooooo05kooooo001Kooooo`03o`0000000000000000l00000
+00?o0000088C9P224bH030224bH2o`0002<0]V5[00?o00000=MjG@3GNUd03P3GNUd00ol00000_CP0
+0;dh00050;dh0003o`000?oooooooooo05gooooo001Kooooo`;o0000400000000ol00000PQ<V088C
+9P0:088C9P;o00009@2fHF/00ol00000egYM0=MjG@0?0=MjG@;o00001P2m>0000ol0003ooooooooo
+o`1Looooo`00F_ooool01?l00000000=00003Ol0000>00000003o`0000224bH0PQ<V00T0PQ<V0_l0
+000W0;IQJ`03o`00003GNUd0egYM0140egYM00?o00000;dh002m>000102m>0000ol0003ooooooooo
+o`1Kooooo`00F_ooool01Ol00000000=00003@0000go000000`0000000?o0000088C9P224bH02022
+4bH2o`0002T0]V5[00?o00000=MjG@3GNUd04P3GNUd00ol00000_CP00;dh00040;dh0003o`000?oo
+oooooooo05[ooooo001Jooooo`03o`00000000d0000=0080000=00?o00000000000000002@000000
+0ol00000PQ<V088C9P05088C9P?o0000:`2fHF/00ol00000egYM0=MjG@0C0=MjG@03o`00002m>000
+_CP000@0_CP000?o0000ooooooooool0FOooool005Wooooo00?o000000003@0000d0100000d00ol0
+000000000000000700000003o`0000224bH0PQ<V00@0PQ<V0_l0000^0;IQJ`03o`00003GNUd0egYM
+01@0egYM0_l000040;dh0003o`000?oooooooooo05Wooooo001Iooooo`03o`00000000d0000=00D0
+000=00?o00000000000000001@0000000ol00000PQ<V088C9P03088C9P;o0000<02fHF/00ol00000
+egYM0=MjG@0F0=MjG@03o`00002m>000_CP00080_CP000?o0000ooooooooool0F?ooool005Wooooo
+00?o000000003@0000d01P0000d00ol0000000000000000400000004o`0000224bH0PQ<V088C9P;o
+0000<`2fHF/00ol00000egYM0=MjG@0F0=MjG@03o`00002m>000_CP00080_CP000?o0000oooooooo
+ool0Eoooool005Sooooo00?o000000003@0000d0200000d00ol0000000000000000200000003o`00
+00224bH0PQ<V00;o0000=@2fHF/00ol00000egYM0=MjG@0G0=MjG@03o`00002m>000_CP00080_CP0
+00?o0000ooooooooool0E_ooool005Sooooo00?o000000003@0000d02@0000d01?l0000000000000
+00000003o`0003L0]V5[00?o00000=MjG@3GNUd0603GNUd00ol00000_CP00;dh00020;dh0003o`00
+0?oooooooooo05Gooooo001Gooooo`03o`00000000d0000=00/0000=00Co000000000?l0003o0000
+>@2fHF/00ol00000egYM0=MjG@0I0=MjG@;o00000`2m>0000ol0003oooooooooo`1Dooooo`00Eooo
+ool00ol00000000=00003@0;00003@[o0000<`2fHF/00ol00000egYM0=MjG@0K0=MjG@05o`00002m
+>000_CP00;dh0?l00000EOooool005Oooooo00?o000000003@0000d02P0000d01Ol000006AbEo`00
+002ZUl?o000000H0_YB[3ol0000T0;IQJ`03o`00003GNUd0egYM01`0egYM00Go00000;dh002m>000
+_CP0o`00001Dooooo`00E_ooool00ol00000000=00003@0:00003@04o`00000I79D06AbEo`000080
+ZYO300?o00000;jDZ`2nU:/04P2nU:/?o`0001H0]V5[00?o00000=MjG@3GNUd0703GNUd01Ol00000
+_CP00;dh002m>03o000005?ooooo001Fooooo`03o`00000000d0000=00T0000=00Ko000001TLU@0I
+79Go000006I/a?l000020:ZG``03o`00002nU:/0_YB[0200_YB[3ol000070;IQJ`03o`00003GNUd0
+egYM01d0egYM0_l000020;dh0003o`000?oooooooooo053ooooo001Fooooo`03o`00000000d0000=
+00P0000=00Oo000001TLU@0I79D06AbEo`00001VK<Co000000<0ZYO300?o00000;jDZ`2nU:/0;P2n
+U:/:o`0001l0egYM00Co00000;dh002m>03o0000DOooool005Gooooo00?o000000003@0000d02000
+00d00ol000006AbE01TLU@0201TLU@03o`00001VK<Co000000@0ZYO30_l0000e0;jDZ`03o`00003L
+[jT0g:nY00Co0000703GNUd00ol00000_CP0o`00001Aooooo`00EOooool00ol00000000=00003@07
+00003@03o`00000I79D06AbE00<06AbE00?o000006I/a?l000001P2ZUl<00ol00000_YB[0;jDZ`0b
+0;jDZ`03o`00003L[jT0g:nY00@0g:nY1?l0000I0=MjG@03o`00002m>03o0000053ooooo001Doooo
+o`03o`00000000d0000=00L0000=00?o000001TLU@0I79D00`0I79D01Ol00000IVc406I/a01VK<Co
+000000H0ZYO300?o00000;jDZ`2nU:/0<@2nU:/00ol00000g:nY0=b_Z@080=b_Z@Co00005P3GNUd3
+o`0004oooooo001Dooooo`03o`00000000d0000=00H0000=00?o000001TLU@0I79D0100I79D01Ol0
+0000IVc406I/a01VK<Co000000L0ZYO300?o00000;jDZ`2nU:/0<02nU:/00ol00000g:nY0=b_Z@0<
+0=b_Z@Co0000503GNUd2o`0004kooooo001Dooooo`03o`00000000d0000=00D0000=00?o000001TL
+U@0I79D01@0I79D01Ol00000IVc406I/a01VK<Co000000P0ZYO30_l0000`0;jDZ`03o`00003L[jT0
+g:nY0100g:nY1?l0000A0=MjG@;o0000COooool005?ooooo00?o000000003@0000d0100000d2o`00
+00P06AbE00?o000006I/a01VK<@00P1VK<@00ol00000ZYO30:ZG``070:ZG``03o`00002nU:/0_YB[
+02`0_YB[00?o00000=b_Z@3L[jT05@3L[jT4o`0000h0egYM0_l0001<ooooo`00Doooool00ol00000
+000=00003@0300003@03o`00000I79D06AbE00L06AbE00?o000006I/a01VK<@00`1VK<@00ol00000
+ZYO30:ZG``080:ZG``03o`00002nU:/0_YB[02/0_YB[00?o00000=b_Z@3L[jT06@3L[jT4o`0000/0
+egYM0_l0001;ooooo`00Doooool00ol00000000=00003@0200003@03o`00000I79D06AbE00P06AbE
+00?o000006I/a01VK<@00`1VK<@00ol00000ZYO30:ZG``090:ZG``03o`00002nU:/0_YB[02X0_YB[
+00?o00000=b_Z@3L[jT07@3L[jT4o`0000P0egYM0_l0001:ooooo`00D_ooool00ol00000000=0000
+3@0200003@03o`00000I79D06AbE00T06AbE00?o000006I/a01VK<@00`1VK<@00ol00000ZYO30:ZG
+``0:0:ZG``03o`00002nU:/0_YB[02T0_YB[00?o00000=b_Z@3L[jT08@3L[jT4o`0000H0egYM00?o
+0000ooooooooool0Aoooool005;ooooo00Go000000003@0000d0000=o`00000<01TLU@03o`00001V
+K<@0IVc400@0IVc400?o00000:ZG``2ZUl<02P2ZUl<2o`0002T0_YB[00?o00000=b_Z@3L[jT09@3L
+[jT4o`0000<0egYM00?o0000ooooooooool0A_ooool0057ooooo00Go000000003@0000d0000=o`00
+000<01TLU@03o`00001VK<@0IVc400D0IVc400?o00000:ZG``2ZUl<0302ZUl<00ol00000_YB[0;jD
+Z`0V0;jDZ`03o`00003L[jT0g:nY02T0g:nY1Ol00017ooooo`00DOooool01?l00000000=00003Ol0
+000=01TLU@03o`00001VK<@0IVc400D0IVc400?o00000:ZG``2ZUl<03@2ZUl<00ol00000_YB[0;jD
+Z`0U0;jDZ`03o`00003L[jT0g:nY02d0g:nY0_l00016ooooo`00DOooool00ol00000000=o`00000>
+01TLU@03o`00001VK<@0IVc400D0IVc400?o00000:ZG``2ZUl<03P2ZUl<00ol00000_YB[0;jDZ`0T
+0;jDZ`03o`00003L[jT0g:nY02/0g:nY0_l000000`3We<Co0000ooooo`15ooooo`00D?ooool00ol0
+0000000=o`00000?01TLU@03o`00001VK<@0IVc400H0IVc400?o00000:ZG``2ZUl<03P2ZUl<00ol0
+0000_YB[0;jDZ`0S0;jDZ`03o`00003L[jT0g:nY02X0g:nY00Co00000>ODa03We<Co0000Aoooool0
+053ooooo0_l0000?01TLU@03o`00001VK<@0IVc400L0IVc400?o00000:ZG``2ZUl<03`2ZUl<2o`00
+02<0_YB[00?o00000=b_Z@3L[jT0:03L[jT2o`0000<0imC400?o0000ooooooooool0AOooool0053o
+oooo00?o000001TLU@0I79D03P0I79D00ol00000IVc406I/a00706I/a003o`00002ZUl<0ZYO30140
+ZYO300?o00000;jDZ`2nU:/0802nU:/00ol00000g:nY0=b_Z@0V0=b_Z@;o0000103We<@2o`0004Oo
+oooo001?ooooo`03o`00000I79D06AbE00l06AbE00?o000006I/a01VK<@0201VK<@00ol00000ZYO3
+0:ZG``0A0:ZG``03o`00002nU:/0_YB[01h0_YB[00?o00000=b_Z@3L[jT09P3L[jT00ol00000imC4
+0>ODa0030>ODa0;o0000B?ooool004oooooo00?o000001TLU@0I79D03`0I79D00ol00000IVc406I/
+a00806I/a003o`00002ZUl<0ZYO30180ZYO300?o00000;jDZ`2nU:/07@2nU:/00ol00000g:nY0=b_
+Z@0T0=b_Z@;o00001P3We<@2o`0004Sooooo001?ooooo`03o`00000I79D06AbE00h06AbE00?o0000
+06I/a01VK<@02@1VK<@00ol00000ZYO30:ZG``0C0:ZG``;o00007@2nU:/00ol00000g:nY0=b_Z@0R
+0=b_Z@;o00001`3We<@2o`0004Wooooo001?ooooo`;o00003`0I79D00ol00000IVc406I/a00906I/
+a003o`00002ZUl<0ZYO301D0ZYO300?o00000;jDZ`2nU:/06P2nU:/00ol00000g:nY0=b_Z@0Q0=b_
+Z@03o`00003We<@0imC400L0imC40_l00019ooooo`00Coooool2o`0000l06AbE00?o000006I/a01V
+K<@02P1VK<@00ol00000ZYO30:ZG``0E0:ZG``03o`00002nU:/0_YB[01T0_YB[00?o00000=b_Z@3L
+[jT07`3L[jT2o`0000T0imC40_l0001:ooooo`00Coooool2o`0000l06AbE00?o000006I/a01VK<@0
+2P1VK<@00ol00000ZYO30:ZG``0F0:ZG``03o`00002nU:/0_YB[01P0_YB[00?o00000=b_Z@3L[jT0
+7@3L[jT2o`0000/0imC40_l0001:ooooo`00Coooool2o`0000h06AbE00?o000006I/a01VK<@02`1V
+K<@00ol00000ZYO30:ZG``0G0:ZG``03o`00002nU:/0_YB[01L0_YB[00?o00000=b_Z@3L[jT0703L
+[jT00ol00000imC40>ODa00:0>ODa003o`00003IlYKo000004[ooooo001?ooooo`;o00003P0I79D0
+0ol00000IVc406I/a00;06I/a003o`00002ZUl<0ZYO301P0ZYO30_l0000G0;jDZ`03o`00003L[jT0
+g:nY01X0g:nY0_l0000<0>ODa003o`00003IlYKo000004_ooooo001?ooooo`03o`00000004?o0000
+00d06AbE00?o000006I/a01VK<@0301VK<@00ol00000ZYO30:ZG``0I0:ZG``03o`00002nU:/0_YB[
+01@0_YB[00?o00000=b_Z@3L[jT0603L[jT2o`0000h0imC400?o00000=WbU_l00000Boooool004oo
+oooo00?o00000000@ol00000300I79D00ol00000IVc406I/a00=06I/a003o`00002ZUl<0ZYO301X0
+ZYO300?o00000;jDZ`2nU:/04`2nU:/00ol00000g:nY0=b_Z@0G0=b_Z@03o`00003We<@0imC400d0
+imC400?o00000=WbU_l00000C?ooool004oooooo00?o00000000@ol00000300I79D00ol00000IVc4
+06I/a00=06I/a003o`00002ZUl<0ZYO301/0ZYO300?o00000;jDZ`2nU:/04P2nU:/00ol00000g:nY
+0=b_Z@0E0=b_Z@;o0000403We<@00ol00000fO:Fo`00001<ooooo`00Coooool00ol000000013o`00
+000<01TLU@03o`00001VK<@0IVc400h0IVc400?o00000:ZG``2ZUl<06`2ZUl<00ol00000_YB[0;jD
+Z`0@0;jDZ`03o`00003L[jT0g:nY01@0g:nY0_l0000A0>ODa004o`00003IlYH0fO:Fo`0004cooooo
+001?ooooo`03o`00000004?o000000`06AbE00?o000006I/a01VK<@03P1VK<@00ol00000ZYO30:ZG
+``0L0:ZG``;o0000402nU:/00ol00000g:nY0=b_Z@0C0=b_Z@03o`00003We<@0imC40140imC400?o
+00000=WbU_l00000COooool004oooooo00Co00000000@`0004?o00002P0I79D00ol00000IVc406I/
+a00?06I/a003o`00002ZUl<0ZYO301h0ZYO300?o00000;jDZ`2nU:/03@2nU:/00ol00000g:nY0=b_
+Z@0A0=b_Z@;o00004`3We<@01?l00000fO:F0=WbU_l0001=ooooo`00Coooool01?l0000000130000
+@ol0000:01TLU@03o`00001VK<@0IVc400l0IVc400?o00000:ZG``2ZUl<07`2ZUl<00ol00000_YB[
+0;jDZ`0<0;jDZ`03o`00003L[jT0g:nY00l0g:nY0_l0000D0>ODa004o`00003IlYH0fO:Fo`0004ko
+oooo001?ooooo`04o`00000004<00013o`0000X06AbE00?o000006I/a01VK<@0401VK<@00ol00000
+ZYO30:ZG``0O0:ZG``03o`00002nU:/0_YB[00/0_YB[00?o00000=b_Z@3L[jT03P3L[jT00ol00000
+imC40>ODa00D0>ODa004o`00003IlYH0fO:Fo`0004kooooo001?ooooo`04o`00000004<00013o`00
+00X06AbE00?o000006I/a01VK<@0401VK<@00ol00000ZYO30:ZG``0P0:ZG``03o`00002nU:/0_YB[
+00X0_YB[00?o00000=b_Z@3L[jT0303L[jT2o`0001H0imC400Co00000=WbUP3IlYKo0000Coooool0
+04oooooo00Co00000000@`0004?o00002@0I79D00ol00000IVc406I/a00A06I/a003o`00002ZUl<0
+ZYO30240ZYO30_l0000:0;jDZ`03o`00003L[jT0g:nY00X0g:nY0_l0000H0>ODa004o`00003IlYH0
+fO:Fo`0004oooooo001?ooooo`05o`00000004<000130000@ol00000200I79D00ol00000IVc406I/
+a00A06I/a003o`00002ZUl<0ZYO302<0ZYO300?o00000;jDZ`2nU:/01`2nU:/00ol00000g:nY0=b_
+Z@090=b_Z@03o`00003We<@0imC401L0imC400Go00000=WbUP3IlYH0fO:Fo`00001?ooooo`00Cooo
+ool01Ol0000000130000@`0004?o000000P06AbE00?o000006I/a01VK<@04P1VK<@00ol00000ZYO3
+0:ZG``0S0:ZG``03o`00002nU:/0_YB[00H0_YB[00?o00000=b_Z@3L[jT01`3L[jT2o`0001X0imC4
+00Co00000=WbUP3IlYKo0000D?ooool004oooooo00Go00000000@`0004<00013o`00000801TLU@03
+o`00001VK<@0IVc40180IVc400?o00000:ZG``2ZUl<0902ZUl<00ol00000_YB[0;jDZ`050;jDZ`03
+o`00003L[jT0g:nY00D0g:nY0_l0000K0>ODa005o`00003IlYH0fO:F0=WbU_l00000D?ooool0053o
+oooo00Co00000000@`0004?o00001`0I79D00ol00000IVc406I/a00C06I/a003o`00002ZUl<0ZYO3
+02D0ZYO30_l000050;jDZ`03o`00003L[jT0g:nY00@0g:nY00?o00000>ODa03We<@06P3We<@01Ol0
+0000fO:F0=WbUP3IlYKo0000057ooooo001@ooooo`05o`00000004<000130000@ol000001P0I79D0
+0ol00000IVc406I/a00D06I/a003o`00002ZUl<0ZYO302H0ZYO300Go00000;jDZ`2nU:/0_YB[o`00
+00050=b_Z@;o00007@3We<@01Ol00000fO:F0=WbUP3IlYKo0000057ooooo001@ooooo`05o`000000
+04<000130000@ol000001P0I79D00ol00000IVc406I/a00D06I/a003o`00002ZUl<0ZYO302L0ZYO3
+00Co00000;jDZ`2nU:_o00000`3L[jT2o`0001h0imC400?o00000=WbUP3IlYH00P3IlYH00ol0003o
+ooooooooo`1?ooooo`00DOooool01?l0000000130000@ol0000601TLU@03o`00001VK<@0IVc401@0
+IVc400?o00000:ZG``2ZUl<0:02ZUl<00ol00000_YB[o`0000020=b_Z@03o`00003We<@0imC401h0
+imC400Go00000=WbUP3IlYH0fO:Fo`00001Booooo`00DOooool01?l0000000130000@ol0000501TL
+U@03o`00001VK<@0IVc401D0IVc400?o00000:ZG``2ZUl<0:@2ZUl<4o`000200imC400?o00000=Wb
+UP3IlYH00P3IlYH00ol0003oooooooooo`1@ooooo`00D_ooool00ol000000013o`00000501TLU@03
+o`00001VK<@0IVc401H0IVc400?o00000:ZG``2ZUl<09`2ZUl<4o`000240imC400Go00000=WbUP3I
+lYH0fO:Fo`00001Cooooo`00D_ooool01?l0000000130000@ol0000401TLU@03o`00001VK<@0IVc4
+01H0IVc400?o00000:ZG``2ZUl<0902ZUl<3o`000080[[OP00?o00000<cIhol000007`3We<@00ol0
+0000fO:F0=WbUP020=WbUP03o`000?oooooooooo057ooooo001Cooooo`03o`00000004?o000000@0
+6AbE00?o000006I/a01VK<@05P1VK<@00ol00000ZYO30:ZG``0P0:ZG``Co0000102^]n001Ol00000
+c=WS0<cIh`3<fN?o000001d0imC400?o00000=WbUP3IlYH00`3IlYH00ol0003oooooooooo`1Aoooo
+o`00Doooool00ol000000013o`00000301TLU@03o`00001VK<@0IVc401L0IVc400?o00000:ZG``2Z
+Ul<07@2ZUl<3o`0000P0[[OP00?o00000<cIh`3<fN<00P3<fN<2o`0001/0imC400?o00000=WbUP3I
+lYH00P3IlYH00ol0003oooooooooo`1Booooo`00Doooool00ol000000013o`00000301TLU@03o`00
+001VK<@0IVc401P0IVc400?o00000:ZG``2ZUl<06@2ZUl<3o`0000/0[[OP00?o00000<cIh`3<fN<0
+103<fN<00ol00000imC40>ODa00G0>ODa003o`00003IlYH0fO:F00<0fO:F00?o0000ooooooooool0
+D_ooool005Cooooo0_l0000301TLU@03o`00001VK<@0IVc401P0IVc400?o00000:ZG``2ZUl<05@2Z
+Ul<4o`0000d0[[OP00?o00000<cIh`3<fN<01P3<fN<00ol00000imC40>ODa00F0>ODa003o`00003I
+lYH0fO:F0080fO:F00?o0000ooooooooool0Doooool005Cooooo00?o00000000@ol000000P0I79D0
+0ol00000IVc406I/a00H06I/a003o`00002ZUl<0ZYO30180ZYO30ol0000A0:jgh003o`00003<fN<0
+c=WS00L0c=WS0_l0000E0>ODa003o`00003IlYH0fO:F00<0fO:F00?o0000ooooooooool0Doooool0
+05Gooooo0_l000000`0I79Go000006I/a00K06I/a003o`00002ZUl<0ZYO300d0ZYO31?l0000D0:jg
+h003o`00003<fN<0c=WS00T0c=WS00?o00000>ODa03We<@04P3We<@00ol00000fO:F0=WbUP020=Wb
+UP03o`000?oooooooooo05Cooooo001Eooooo`;o000000<06AbEo`00001VK<@06`1VK<@00ol00000
+ZYO30:ZG``0:0:ZG``?o00005`2^]n000ol00000c=WS0<cIh`0;0<cIh`03o`00003We<@0imC40100
+imC400?o00000=WbUP3IlYH00`3IlYH00ol0003oooooooooo`1Dooooo`00E_ooool00ol000006AbE
+o`00000L06I/a003o`00002ZUl<0ZYO300L0ZYO30ol0000J0:jgh003o`00003<fN<0c=WS00`0c=WS
+0_l0000?0>ODa003o`00003IlYH0fO:F00@0fO:F00?o0000ooooooooool0E?ooool005Kooooo00?o
+000001TLUOl00000701VK<@00ol00000ZYO30:ZG``030:ZG``Co00007@2^]n000ol00000c=WS0<cI
+h`0>0<cIh`03o`00003We<@0imC400`0imC400?o00000=WbUP3IlYH00`3IlYH00ol0003ooooooooo
+o`1Eooooo`00E_ooool2o`0001h0IVc400?o00000:ZG`ol000000_l0000P0:jgh003o`00003<fN<0
+c=WS0100c=WS00?o00000>ODa03We<@02P3We<@00ol00000fO:F0=WbUP040=WbUP03o`000?oooooo
+oooo05Gooooo001Gooooob7o00008`2^]n000ol00000c=WS0<cIh`0A0<cIh`;o00002P3We<@00ol0
+0000fO:F0=WbUP030=WbUP03o`000?oooooooooo05Kooooo001Gooooo`03o`000000C<Ko000001`0
+GX[U00?o00000:jgh02^]n008P2^]n000ol00000c=WS0<cIh`0C0<cIh`03o`00003We<@0imC400H0
+imC400?o00000=WbUP3IlYH0103IlYH00ol0003oooooooooo`1Fooooo`00F?ooool00ol0000004c6
+o`00000L05j:i@03o`00002^]n00[[OP0200[[OP00?o00000<cIh`3<fN<05@3<fN<00ol00000imC4
+0>ODa0050>ODa003o`00003IlYH0fO:F00@0fO:F00?o0000ooooooooool0E_ooool005Wooooo00?o
+0000001<a_l000006`1NR^D00ol00000[[OP0:jgh00P0:jgh003o`00003<fN<0c=WS01H0c=WS0_l0
+00040>ODa003o`00003IlYH0fO:F00@0fO:F00?o0000ooooooooool0Eoooool005[ooooo00Co0000
+001<a_l0003o00006P1NR^D00ol00000[[OP0:jgh00O0:jgh003o`00003<fN<0c=WS01P0c=WS00Co
+00000>ODa03We<Co00001`3IlYH00ol0003oooooooooo`1Gooooo`00Foooool01?l0000004c6001<
+a_l0000I05j:i@03o`00002^]n00[[OP01h0[[OP00?o00000<cIh`3<fN<06P3<fN<00ol00000imC4
+o`0000060=WbUP03o`000?oooooooooo05Sooooo001Looooo`04o`000000C<H004c6o`0001T0GX[U
+00?o00000:jgh02^]n007@2^]n000ol00000c=WS0<cIh`0J0<cIh`?o00001P3IlYH00ol0003ooooo
+ooooo`1Hooooo`00G?ooool01Ol0000004c6001<aP00C<Ko000001P0GX[U00?o00000:jgh02^]n00
+7@2^]n000ol00000c=WS0<cIh`0I0<cIh`05o`00002[mlD0ZoO50:_gaOl00000103IlYH00ol0003o
+ooooooooo`1Iooooo`00GOooool01Ol0000004c6001<aP00C<Ko000001P0GX[U00?o00000:jgh02^
+]n006`2^]n000ol00000c=WS0<cIh`0I0<cIh`03o`00002[mlD0ZoO500<0ZoO50_l000020=WbUP03
+o`000?oooooooooo05Wooooo001Nooooo`04o`000000C<H004c6001<aP;o00005P1NR^D00ol00000
+[[OP0:jgh00K0:jgh003o`00003<fN<0c=WS01P0c=WS00?o00000:_ga@2[mlD01P2[mlD00ol00000
+fO:Fo`00001Kooooo`00Goooool00ol0000004c6001<aP02001<aP03o`00001NR^D0GX[U01@0GX[U
+00?o00000:jgh02^]n006P2^]n000ol00000c=WS0<cIh`0G0<cIh`03o`00002[mlD0ZoO500L0ZoO5
+0_l0001Looooo`00H?ooool00ol0000004c6001<aP02001<aP03o`00001NR^D0GX[U01<0GX[U00?o
+00000:jgh02^]n006@2^]n000ol00000c=WS0<cIh`0G0<cIh`03o`00002[mlD0ZoO500L0ZoO500?o
+0000ooooooooool0G?ooool0063ooooo00?o0000001<aP00C<H00`00C<H00ol00000GX[U05j:i@0C
+05j:i@03o`00002^]n00[[OP01P0[[OP00?o00000<cIh`3<fN<05@3<fN<2o`0000P0ZoO50_l0001O
+ooooo`00HOooool00ol0000004c6001<aP03001<aP;o00004`1NR^D00ol00000[[OP0:jgh00H0:jg
+h003o`00003<fN<0c=WS01@0c=WS00?o00000:_ga@2[mlD01`2[mlD00ol0003oooooooooo`1Ooooo
+o`00H_ooool00ol0000004c6001<aP04001<aP03o`00001NR^D0GX[U0140GX[U00?o00000:jgh02^
+]n005P2^]n000ol00000c=WS0<cIh`0D0<cIh`03o`00002[mlD0ZoO500H0ZoO50_l0001Rooooo`00
+Hoooool00ol0000004c6001<aP04001<aP03o`00001NR^D0GX[U0100GX[U00?o00000:jgh02^]n00
+5P2^]n000ol00000c=WS0<cIh`0C0<cIh`03o`00002[mlD0ZoO500H0ZoO500?o0000ooooooooool0
+H_ooool006Cooooo00?o0000001<aP00C<H01000C<H00ol00000GX[U05j:i@0@05j:i@03o`00002^
+]n00[[OP01@0[[OP00?o00000<cIh`3<fN<04`3<fN<00ol00000ZoO50:_ga@050:_ga@;o0000IOoo
+ool006Gooooo0_l00005001<aP;o0000401NR^D00ol00000[[OP0:jgh00D0:jgh003o`00003<fN<0
+c=WS0180c=WS00?o00000:_ga@2[mlD01@2[mlD00ol0003oooooooooo`1Uooooo`00Ioooool00ol0
+000004c6001<aP04001<aP03o`00001NR^D0GX[U00h0GX[U00?o00000:jgh02^]n004`2^]n000ol0
+0000c=WS0<cIh`0@0<cIh`;o00001P2[mlD2o`0006Sooooo001Xooooo`;o00001@00C<H00ol00000
+GX[U05j:i@0=05j:i@03o`00002^]n00[[OP0180[[OP00?o00000<cIh`3<fN<0403<fN<00ol00000
+ZoO50:_ga@050:_ga@03o`000?oooooooooo06Sooooo001Zooooo`03o`000000C<H004c600<004c6
+00?o000005j:i@1NR^D03@1NR^D00ol00000[[OP0:jgh00A0:jgh003o`00003<fN<0c=WS00l0c=WS
+00?o00000:_ga@2[mlD0102[mlD2o`0006_ooooo001[ooooo`;o00001000C<H2o`0000d0GX[U00?o
+00000:jgh02^]n004@2^]n000ol00000c=WS0<cIh`0>0<cIh`03o`00002[mlD0ZoO500@0ZoO500?o
+0000ooooooooool0Joooool006gooooo00?o0000001<aP00C<H00`00C<H00ol00000GX[U05j:i@0;
+05j:i@03o`00002^]n00[[OP00l0[[OP00?o00000<cIh`3<fN<03P3<fN<00ol00000ZoO50:_ga@03
+0:_ga@;o0000K_ooool006kooooo0_l00004001<aP03o`00001NR^D0GX[U00/0GX[U00?o00000:jg
+h02^]n003P2^]n000ol00000c=WS0<cIh`0=0<cIh`03o`00002[mlD0ZoO500<0ZoO500?o0000oooo
+ooooool0K_ooool0073ooooo00?o0000001<aP00C<H00P00C<H00ol00000GX[U05j:i@0:05j:i@03
+o`00002^]n00[[OP00h0[[OP00?o00000<cIh`3<fN<02`3<fN<2o`0000@0ZoO50_l0001aooooo`00
+LOooool2o`0000<004c600?o000005j:i@1NR^D02P1NR^D00ol00000[[OP0:jgh00<0:jgh003o`00
+003<fN<0c=WS00/0c=WS00?o00000:_ga@2[mlD00`2[mlD00ol0003oooooooooo`1aooooo`00Looo
+ool01?l0000004c6001<aP00C<H2o`0000X0GX[U00?o00000:jgh02^]n00302^]n000ol00000c=WS
+0<cIh`0:0<cIh`03o`00002[mlD0ZoO50080ZoO50_l0001dooooo`00M?ooool2o`0000<004c600?o
+000005j:i@1NR^D0201NR^D00ol00000[[OP0:jgh00;0:jgh003o`00003<fN<0c=WS00T0c=WS00?o
+00000:_ga@2[mlD00P2[mlD00ol0003oooooooooo`1dooooo`00M_ooool01Ol0000004c6001<aP00
+C<Ko000000T0GX[U00?o00000:jgh02^]n002P2^]n000ol00000c=WS0<cIh`090<cIh`03o`00002[
+mlD0ZoO50080ZoO500?o0000ooooooooool0MOooool007Oooooo0_l00002001<aP03o`00001NR^D0
+GX[U00L0GX[U00?o00000:jgh02^]n002@2^]n000ol00000c=WS0<cIh`080<cIh`04o`00002[mlD0
+ZoO50:_ga@;o0000N?ooool007Wooooo00?o0000001<aP00C<H00_l0000705j:i@03o`00002^]n00
+[[OP00T0[[OP00?o00000<cIh`3<fN<01`3<fN<01Ol00000ZoO50:_ga@2[mlGo000007[ooooo001j
+ooooo`;o00000P00C<H00ol00000GX[U05j:i@0505j:i@03o`00002^]n00[[OP00L0[[OP00?o0000
+0<cIh`3<fN<01P3<fN<2o`000080ZoO50_l0001kooooo`00O?ooool01?l0000004c6001<a_l00006
+05j:i@03o`00002^]n00[[OP00L0[[OP00?o00000<cIh`3<fN<01@3<fN<01Ol00000ZoO50:_ga@2[
+mlGo000007gooooo001mooooo`;o000000<004c6o`00001NR^D01@1NR^D00ol00000[[OP0:jgh006
+0:jgh003o`00003<fN<0c=WS00@0c=WS00?o00000:_ga@2[mlD00_l0001nooooo`00Ooooool01?l0
+000004c6o`000?l0000405j:i@03o`00002^]n00[[OP00D0[[OP00?o00000<cIh`3<fN<0103<fN<0
+1?l00000ZoO50:_gaOl00020ooooo`00P?ooool2o`000003001<a_l00000GX[U00<0GX[U00?o0000
+0:jgh02^]n00102^]n000ol00000c=WS0<cIh`030<cIh`04o`00002[mlGo0000o`00087ooooo0022
+ooooo`03o`000000C<Ko000000<0GX[U00?o00000:jgh02^]n00102^]n000ol00000c=WS0<cIh`02
+0<cIh`03o`00002[mlGo000008?ooooo0023ooooo`?o00000`1NR^D00ol00000[[OP0:jgh0020:jg
+h004o`00003<fN<0c=WS0<cIh`Co0000Q?ooool008Gooooo0_l0000205j:i@03o`00002^]n00[[OP
+0080[[OP00Ko00000<cIh`3<fN?o00000:_gaOl00026ooooo`00Q_ooool3o`00000305j:iOl00000
+[[OP0080[[OP00?o00000<cIhol000000_l00027ooooo`00R?ooool3o`000080[[OP00Co00000<cI
+hol0003o0000ROooool008Wooooo0ol00000102^]n3o0000o`000?l0002:ooooo`00Roooool00ol0
+0000[[OPo`00002<ooooo`00S?ooool00ol0003oooooooooo`2;ooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.47621 .45416 m .58185 .41311 L .63473 .56796 L closepath p .637 .561 .752 r
+F P
+0 g
+s
+.5 .27523 m .58185 .41311 L .47621 .45416 L closepath p .664 .659 .835 r
+F P
+0 g
+s
+.47119 .57044 m .47621 .45416 L .63473 .56796 L closepath p .696 .546 .68 r
+F P
+0 g
+s
+.31094 .5517 m .47119 .57044 L .47621 .45416 L closepath p .785 .622 .68 r
+F P
+0 g
+s
+.38662 .40027 m .31094 .5517 L .47621 .45416 L closepath p .824 .726 .757 r
+F P
+0 g
+s
+.38662 .40027 m .5 .27523 L .47621 .45416 L closepath p .763 .75 .841 r
+F P
+0 g
+s
+.4747 .67248 m .47119 .57044 L .63473 .56796 L closepath p .673 .409 .514 r
+F P
+0 g
+s
+.47119 .57044 m .31094 .5517 L .4747 .67248 L closepath p .776 .492 .505 r
+F P
+0 g
+s
+.68388 .63248 m .71242 .51198 L .63473 .56796 L closepath p .002 0 .286 r
+F P
+0 g
+s
+.67184 .39558 m .71242 .51198 L .63473 .56796 L closepath p .215 .219 .647 r
+F P
+0 g
+s
+.58185 .41311 m .63473 .56796 L .67184 .39558 L closepath p .44 .442 .765 r
+F P
+0 g
+s
+.58835 .68293 m .68388 .63248 L .63473 .56796 L closepath p .171 0 .178 r
+F P
+0 g
+s
+.58835 .68293 m .4747 .67248 L .63473 .56796 L closepath p .547 .214 .356 r
+F P
+0 g
+s
+.5 .27523 m .58185 .41311 L .67184 .39558 L closepath p .451 .556 .871 r
+F P
+0 g
+s
+.31094 .5517 m .38662 .40027 L .32197 .37174 L closepath p .931 .892 .769 r
+F P
+0 g
+s
+.38662 .40027 m .32197 .37174 L .5 .27523 L closepath p .839 .931 .89 r
+F P
+0 g
+s
+.31094 .5517 m .37742 .67486 L .4747 .67248 L closepath p .804 .41 .307 r
+F P
+0 g
+s
+.30901 .61606 m .37742 .67486 L .31094 .5517 L closepath p .823 .365 0 r
+F P
+0 g
+s
+.27803 .48748 m .32197 .37174 L .31094 .5517 L closepath p .974 .903 .557 r
+F P
+0 g
+s
+.27803 .48748 m .30901 .61606 L .31094 .5517 L closepath p .825 .525 0 r
+F P
+0 g
+s
+.5 .75807 m .37742 .67486 L .4747 .67248 L closepath p .619 .094 0 r
+F P
+0 g
+s
+.58835 .68293 m .5 .75807 L .4747 .67248 L closepath p .462 0 .029 r
+F P
+0 g
+s
+.5 .27523 m .40391 .30106 L .32197 .37174 L closepath p .653 .97 .851 r
+F P
+0 g
+s
+.62758 .31802 m .5 .27523 L .67184 .39558 L closepath p .167 .475 .895 r
+F P
+0 g
+s
+.53006 .29504 m .40391 .30106 L .5 .27523 L closepath p .109 0 0 r
+F P
+0 g
+s
+.62758 .31802 m .53006 .29504 L .5 .27523 L closepath p .282 0 0 r
+F P
+0 g
+s
+.73211 .43653 m .71242 .51198 L .67184 .39558 L closepath p 0 0 .497 r
+F P
+0 g
+s
+.62758 .31802 m .73211 .43653 L .67184 .39558 L closepath p 0 .034 .59 r
+F P
+0 g
+s
+.58835 .68293 m .5 .75807 L .68388 .63248 L closepath p 0 0 0 r
+F P
+0 g
+s
+.71242 .51198 m .68388 .63248 L .73211 .43653 L closepath p 0 0 0 r
+F P
+0 g
+s
+.30901 .61606 m .37742 .67486 L .5 .75807 L closepath p 0 .194 .659 r
+F P
+0 g
+s
+.32183 .41013 m .40391 .30106 L .32197 .37174 L closepath p 0 0 0 r
+F P
+0 g
+s
+.27803 .48748 m .32183 .41013 L .32197 .37174 L closepath p 0 0 0 r
+F P
+0 g
+s
+.73211 .43653 m .63934 .62256 L .68388 .63248 L closepath p .939 .964 .694 r
+F P
+0 g
+s
+.5 .75807 m .63934 .62256 L .68388 .63248 L closepath p .772 .997 .846 r
+F P
+0 g
+s
+.62758 .31802 m .53006 .29504 L .73211 .43653 L closepath p .749 .24 0 r
+F P
+0 g
+s
+.30901 .61606 m .27803 .48748 L .32183 .41013 L closepath p 0 0 .491 r
+F P
+0 g
+s
+.40391 .30106 m .32183 .41013 L .53006 .29504 L closepath p .408 0 .122 r
+F P
+0 g
+s
+.39483 .61165 m .5 .75807 L .30901 .61606 L closepath p .265 .497 .892 r
+F P
+0 g
+s
+.39483 .61165 m .32183 .41013 L .30901 .61606 L closepath p .282 .352 .758 r
+F P
+0 g
+s
+.53252 .56266 m .63934 .62256 L .5 .75807 L closepath p .772 .81 .883 r
+F P
+0 g
+s
+.39483 .61165 m .53252 .56266 L .5 .75807 L closepath p .639 .684 .877 r
+F P
+0 g
+s
+.53006 .29504 m .53855 .40574 L .32183 .41013 L closepath p .646 .329 .421 r
+F P
+0 g
+s
+.73211 .43653 m .53855 .40574 L .53006 .29504 L closepath p .787 .439 .398 r
+F P
+0 g
+s
+.73211 .43653 m .53855 .40574 L .53252 .56266 L closepath p .81 .637 .667 r
+F P
+0 g
+s
+.63934 .62256 m .73211 .43653 L .53252 .56266 L closepath p .862 .779 .768 r
+F P
+0 g
+s
+.39483 .61165 m .53252 .56266 L .32183 .41013 L closepath p .609 .553 .766 r
+F P
+0 g
+s
+.53252 .56266 m .53855 .40574 L .32183 .41013 L closepath p .691 .535 .67 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00RP3oool5o`0008/0oooo00260?ooo`Co0000100K
+0004o`0008P0oooo00220?ooo`Co00002@0K0002o`00000404P00?l0003o0000o`0008D0oooo001n
+0?ooo`Co00003`0K0002o`000080B0000ol000220?ooo`00N`3oool3o`0001D06`0000?o000004P0
+001800000P180003o`0007l0oooo001g0?ooo`Co0000400K000<o`0000@0B0000ol0001l0?ooo`00
+L`3oool4o`0000<06`004Ol0000606P07`;o000000<0YEA[o`000039L6D01Ol0000304P000?o0000
+N@3oool00700oooo2_l0000F06P07`05o`00002UE6/0YEA[0:EDJol000000P39L6D2o`000080_cd0
+1?l0000204P000?o0000MP3oool006l0oooo00?o000000000?l00000701X01l2o`0000@0YEA[00?o
+00000<U`I@39L6D00P39L6D00ol00000_cd00;lm00030;lm00Co000000@0B000o`000?l0003o0000
+L`3oool006h0oooo00?o000000000?l000006`1X01l2o`0000H0YEA[00?o00000<U`I@39L6D00`39
+L6D00ol00000_cd00;lm00060;lm00Oo0000L03oool006d0oooo00?o000000000?l000006P1X01l2
+o`0000P0YEA[00?o00000<U`I@39L6D01039L6D2o`0000X0_cd01_l0001]0?ooo`00K03oool00ol0
+00000000o`00000J06P07`03o`00002UE6/0YEA[00T0YEA[00?o00000<U`I@39L6D01@39L6D00ol0
+0000_cd00;lm000;0;lm00Go0000JP3oool006/0oooo00Co000000000000003o0000601X01l2o`00
+00`0YEA[00?o00000<U`I@39L6D01P39L6D2o`0000l0_cd00_l0001Y0?ooo`00JP3oool01?l00000
+000000000?l0000G06P07`;o00003P2UE6/00ol00000bG1U0<U`I@080<U`I@03o`00002o?@00_cd0
+00d0_cd000?o00000?ooo`3oool0I`3oool006P0oooo0_l0000200000003o`00001X01l0J00O01@0
+J00O0_l0000@0:EDJ`03o`000039L6D0bG1U00T0bG1U0_l0000>0;lm0003o`00003oool0oooo06H0
+oooo001W0?ooo`05o`0000000000000000000?l000005P1X01l00ol00000YEA[0:EDJ`0@0:EDJ`03
+o`000039L6D0bG1U00/0bG1U00?o00000;lm002o?@00302o?@000ol00000oooo0?ooo`1U0?ooo`00
+IP3oool00ol0000000000000000200000003o`00001X01l0J00O0180J00O0_l0000C0:EDJ`03o`00
+0039L6D0bG1U00`0bG1U00?o00000;lm002o?@00302o?@000ol00000oooo0?ooo`1T0?ooo`00I@3o
+ool00ol0000000000000000200000003o`00001X01l0J00O0140J00O0_l0000E0:EDJ`03o`000039
+L6D0bG1U00d0bG1U0_l0000=0;lm0003o`00003oool0oooo06<0oooo001T0?ooo`03o`0000000000
+00000080000000?o000006P07`1X01l0401X01l2o`0001L0YEA[00?o00000<U`I@39L6D03`39L6D0
+0ol00000_cd00;lm000;0;lm0003o`00003oool0oooo0680oooo001S0?ooo`03o`00000000000000
+0080000000?o000006P07`1X01l0401X01l00ol00000YEA[0:EDJ`0G0:EDJ`03o`000039L6D0bG1U
+0100bG1U0_l0000<0;lm0003o`00003oool0oooo0640oooo001Q0?ooo`;o00001@0000000ol00000
+J00O06P07`0>06P07`;o00006P2UE6/00ol00000bG1U0<U`I@0B0<U`I@03o`00002o?@00_cd000X0
+_cd000?o00000?ooo`3oool0H03oool00600oooo00?o0000000000000000100000000ol00000J00O
+06P07`0=06P07`;o0000702UE6/00ol00000bG1U0<U`I@0C0<U`I@;o00002P2o?@000ol00000oooo
+0?ooo`1P0?ooo`00G`3oool00ol0000000000000000400000003o`00001X01l0J00O00`0J00O0_l0
+000O0:EDJ`03o`000039L6D0bG1U01@0bG1U00?o00000;lm002o?@00202o?@000ol00000oooo0?oo
+o`1O0?ooo`00GP3oool00ol0000000000000000400000003o`00001X01l0J00O00/0J00O0_l0000Q
+0:EDJ`03o`000039L6D0bG1U01D0bG1U00?o00000;lm002o?@00202o?@000ol00000oooo0?ooo`1N
+0?ooo`00G@3oool00ol0000000000000000500000003o`00001X01l0J00O00X0J00O00?o00000:ED
+J`2UE6/08@2UE6/00ol00000bG1U0<U`I@0F0<U`I@;o00002@2o?@000ol00000oooo0?ooo`1M0?oo
+o`00G03oool00ol0000000000000000500000003o`00001X01l0J00O00T0J00O0_l0000T0:EDJ`03
+o`000039L6D0bG1U01P0bG1U00?o00000;lm002o?@001`2o?@000ol00000oooo0?ooo`1L0?ooo`00
+F`3oool00ol0000000000000000500000003o`00001X01l0J00O00P0J00O0_l0000V0:EDJ`03o`00
+0039L6D0bG1U01T0bG1U0_l000080;lm0003o`00003oool0oooo05/0oooo001J0?ooo`03o`000000
+0000000000H0000000?o000006P07`1X01l01P1X01l2o`0002P0YEA[00?o00000<U`I@39L6D06`39
+L6D00ol00000_cd00;lm00060;lm0003o`00003oool0oooo05X0oooo001J0?ooo`03o`0000000000
+000000D0000000?o000006P07`1X01l01P1X01l00ol00000YEA[0:EDJ`0X0:EDJ`03o`000039L6D0
+bG1U01`0bG1U00?o00000;lm002o?@001P2o?@000ol00000oooo0?ooo`1I0?ooo`00F@3oool2o`00
+00H0000000?o000006P07`1X01l01@1X01l2o`0002/0YEA[00?o00000<U`I@39L6D07@39L6D2o`00
+00L0_cd000?o00000?ooo`3oool0F03oool005T0oooo0_l0000500000003o`00001X01l0J00O00@0
+J00O0_l0000]0:EDJ`03o`000039L6D0bG1U01l0bG1U00?o00000;lm002o?@00102o?@000ol00000
+oooo0?ooo`1H0?ooo`00F@3oool2o`0000D0000000?o000006P07`1X01l00P1X01l2o`0002l0YEA[
+00?o00000<U`I@39L6D08039L6D2o`0000D0_cd000?o00000?ooo`3oool0E`3oool005P0oooo00?o
+000000000?l00000100000000ol00000J00O06P07`0206P07`03o`00002UE6/0YEA[02l0YEA[00?o
+00000<U`I@39L6D08P39L6D00ol00000_cd00;lm00030;lm0003o`00003oool0oooo05H0oooo001H
+0?ooo`03o`000000003o000000<0000000Co000006P07`1X01l0J00O0_l0000c0:EDJ`03o`000039
+L6D0bG1U0280bG1U0_l000040;lm0003o`00003oool0oooo05D0oooo001H0?ooo`03o`000000003o
+00000080000000?o000006P07`1X01l00_l0000e0:EDJ`03o`000039L6D0bG1U02@0bG1U00?o0000
+0;lm002o?@000P2o?@000ol00000oooo0?ooo`1D0?ooo`00E`3oool01?l00000000000000?l00002
+000000?o0000=`2UE6/00ol00000bG1U0<U`I@0U0<U`I@03o`00002o?@00_cd00080_cd000?o0000
+0?ooo`3oool0D`3oool005L0oooo00Go000000000000003o000000000002o`0003T0YEA[00?o0000
+0<U`I@39L6D09P39L6D2o`0000<0_cd000?o00000?ooo`3oool0DP3oool005H0oooo00Co00000000
+0000000000000ol0000L0:EDJb;o00009`39L6D01Ol00000_cd00;lm002o?@3o000005<0oooo001F
+0?ooo`04o`00000000000000000001oo00007P2`R:/01?l00000cj>Z0<nSZP3?XjX7o`000240bG1U
+0_l000000`2o?@3o00000?ooo`1B0?ooo`00EP3oool01ol00000000000000000003o000009^=a?l0
+0000>P2`R:/00ol00000cj>Z0<nSZP080<nSZPOo00007039L6D00ol00000_cd0o`00001B0?ooo`00
+E@3oool01?l000000000000000000003o`00000309^=a?l00000/8R[03P0/8R[00?o00000<nSZP3?
+XjX03`3?XjX7o`0001H0bG1U0ol0001A0?ooo`00E@3oool01?l000000000000000000003o`000080
+Vhg40_l0000g0;28Z`03o`00003?XjX0cj>Z01H0cj>Z1_l0000B0<U`I@;o0000D03oool005D0oooo
+00Go000000000000003o00000000O@02o`0000@0Vhg400?o00000;28Z`2`R:/0=02`R:/00ol00000
+cj>Z0<nSZP0L0<nSZPOo00003039L6D2o`0004l0oooo001D0?ooo`04o`00000000000000o`000080
+001m00?o000004QJ`_l00000102KSL@2o`0003@0/8R[00?o00000<nSZP3?XjX08`3?XjX7o`0000H0
+bG1U0_l0001>0?ooo`00E03oool01?l00000000000000?l000020000O@03o`000018F/;o000000H0
+Vhg400?o00000;28Z`2`R:/0<@2`R:/00ol00000cj>Z0<nSZP0Z0<nSZPOo000000<0bG1Uo`00003o
+ool0C03oool005<0oooo00Co000000000000003o00000`0007d00ol00000B5[2o`00000709^=a003
+o`00002`R:/0/8R[0300/8R[00?o00000<nSZP3?XjX0<@3?XjX3o`0004`0oooo001C0?ooo`04o`00
+000000000000o`000080001m00Go000004QJ`P18F/80B5[2o`00000709^=a0;o0000<02`R:/00ol0
+0000cj>Z0<nSZP0a0<nSZP03o`00003LalCo000004`0oooo001C0?ooo`03o`000000003o000000<0
+001m00Go000004QJ`P18F/80B5[2o`00000909^=a003o`00002`R:/0/8R[02d0/8R[00?o00000<nS
+ZP3?XjX0;`3?XjX2o`0000030=c7a?l0003o000004`0oooo001B0?ooo`04o`00000000000000o`00
+00<0001m00Go000004QJ`P18F/80B5[2o`00000:09^=a003o`00002`R:/0/8R[02`0/8R[00?o0000
+0<nSZP3?XjX0;P3?XjX01Ol00000g<O40=c7a03LalCo000004d0oooo001B0?ooo`03o`000000003o
+000000@0001m00?o000004QJ`P18F/800P18F/800ol00000Vhg409^=a00809^=a0;o0000:`2`R:/0
+0ol00000cj>Z0<nSZP0]0<nSZP;o00000`3Lal@2o`0004d0oooo001B0?ooo`;o00001@0007d00ol0
+0000B5[204QJ`P0204QJ`P03o`00002KSL@0Vhg400X0Vhg400?o00000;28Z`2`R:/0:02`R:/00ol0
+0000cj>Z0<nSZP0[0<nSZP;o00001@3Lal@2o`0004d0oooo001A0?ooo`03o`000000003o000000D0
+001m00?o000004QJ`P18F/800P18F/800ol00000Vhg409^=a00;09^=a0;o0000:02`R:/00ol00000
+cj>Z0<nSZP0Z0<nSZP03o`00003Lal@0g<O400@0g<O400?o00000?3f/Ol00000C@3oool00540oooo
+0_l000060000O@03o`000018F/80B5[200<0B5[200?o000009^=a02KSL@0302KSL@00ol00000/8R[
+0;28Z`0U0;28Z`03o`00003?XjX0cj>Z02P0cj>Z0_l000070=c7a0;o0000CP3oool00500oooo00?o
+000000000?l000001P0007d00ol00000B5[204QJ`P0304QJ`P03o`00002KSL@0Vhg400d0Vhg400?o
+00000;28Z`2`R:/0902`R:/00ol00000cj>Z0<nSZP0W0<nSZP03o`00003Lal@0g<O400H0g<O400?o
+00000?3f/Ol00000CP3oool00500oooo0_l000070000O@03o`000018F/80B5[200@0B5[200?o0000
+09^=a02KSL@03@2KSL@2o`0002@0/8R[00?o00000<nSZP3?XjX09@3?XjX2o`0000T0g<O400?o0000
+0?3f/Ol00000CP3oool00500oooo0_l000070000O@03o`000018F/80B5[200@0B5[200?o000009^=
+a02KSL@03`2KSL@00ol00000/8R[0;28Z`0Q0;28Z`03o`00003?XjX0cj>Z02@0cj>Z00?o00000=c7
+a03Lal@0203Lal@01?l00000l?Ja0?3f/Ol0001>0?ooo`00C`3oool2o`0000P0001m00?o000004QJ
+`P18F/801018F/800ol00000Vhg409^=a00@09^=a003o`00002`R:/0/8R[0200/8R[00?o00000<nS
+ZP3?XjX08P3?XjX2o`0000/0g<O400Co00000?3f/@3`m[7o0000CP3oool004l0oooo00?o00000000
+O@0007d01`0007d00ol00000B5[204QJ`P0504QJ`P03o`00002KSL@0Vhg40100Vhg40_l0000P0;28
+Z`03o`00003?XjX0cj>Z0240cj>Z00?o00000=c7a03Lal@02P3Lal@01?l00000l?Ja0?3f/Ol0001?
+0?ooo`00C`3oool00ol00000001m0000O@070000O@03o`000018F/80B5[200D0B5[200?o000009^=
+a02KSL@04P2KSL@00ol00000/8R[0;28Z`0M0;28Z`03o`00003?XjX0cj>Z01l0cj>Z0_l0000=0=c7
+a004o`00003`m[40l?Jao`0004l0oooo001>0?ooo`03o`00000007d0001m00P0001m00?o000004QJ
+`P18F/801@18F/800ol00000Vhg409^=a00C09^=a0;o00007@2`R:/00ol00000cj>Z0<nSZP0M0<nS
+ZP;o00003P3Lal@01Ol00000l?Ja0?3f/@3`m[7o000004l0oooo001>0?ooo`03o`00000007d0001m
+00P0001m00?o000004QJ`P18F/801P18F/800ol00000Vhg409^=a00D09^=a003o`00002`R:/0/8R[
+01X0/8R[00?o00000<nSZP3?XjX0703?XjX00ol00000g<O40=c7a00>0=c7a005o`00003`m[40l?Ja
+0?3f/Ol00000C`3oool004h0oooo00?o00000000O@0007d01`0007d00ol00000B5[204QJ`P0704QJ
+`P03o`00002KSL@0Vhg401D0Vhg400?o00000;28Z`2`R:/06@2`R:/00ol00000cj>Z0<nSZP0J0<nS
+ZP;o0000403Lal@01Ol00000l?Ja0?3f/@3`m[7o00000500oooo001?0?ooo`03o`00000007d0001m
+00H0001m00?o000004QJ`P18F/801`18F/800ol00000Vhg409^=a00F09^=a0;o00006@2`R:/00ol0
+0000cj>Z0<nSZP0I0<nSZP03o`00003Lal@0g<O40100g<O400Go00000?3f/@3`m[40l?Jao`00001@
+0?ooo`00C`3oool00ol00000001m0000O@060000O@03o`000018F/80B5[200P0B5[200?o000009^=
+a02KSL@05`2KSL@00ol00000/8R[0;28Z`0F0;28Z`03o`00003?XjX0cj>Z01L0cj>Z0_l0000B0=c7
+a003o`00003`m[40l?Ja0080l?Ja00?o00000?ooo`3oool0CP3oool004l0oooo00?o00000000O@00
+07d01P0007d00ol00000B5[204QJ`P0804QJ`P03o`00002KSL@0Vhg401P0Vhg400?o00000;28Z`2`
+R:/05@2`R:/00ol00000cj>Z0<nSZP0F0<nSZP03o`00003Lal@0g<O40180g<O400?o00000?3f/@3`
+m[400P3`m[400ol00000oooo0?ooo`1>0?ooo`00C`3oool00ol00000001m0000O@060000O@03o`00
+0018F/80B5[200P0B5[200?o000009^=a02KSL@06@2KSL@2o`0001D0/8R[00?o00000<nSZP3?XjX0
+503?XjX2o`0001@0g<O400?o00000?3f/@3`m[400P3`m[400ol00000oooo0?ooo`1?0?ooo`00C`3o
+ool00ol00000001m0000O@060000O@03o`000018F/80B5[200T0B5[200?o000009^=a02KSL@06P2K
+SL@00ol00000/8R[0;28Z`0B0;28Z`03o`00003?XjX0cj>Z01<0cj>Z00?o00000=c7a03Lal@0503L
+al@00ol00000l?Ja0?3f/@020?3f/@03o`00003oool0oooo04l0oooo001@0?ooo`03o`00000007d0
+001m00D0001m00?o000004QJ`P18F/802@18F/800ol00000Vhg409^=a00K09^=a003o`00002`R:/0
+/8R[0140/8R[00?o00000<nSZP3?XjX04@3?XjX2o`0001H0g<O400?o00000?3f/@3`m[400`3`m[40
+0ol00000oooo0?ooo`1?0?ooo`00D03oool00ol00000001m0000O@050000O@03o`000018F/80B5[2
+00X0B5[200?o000009^=a02KSL@06`2KSL@2o`000140/8R[00?o00000<nSZP3?XjX03`3?XjX2o`00
+01P0g<O400?o00000?3f/@3`m[400`3`m[400ol00000oooo0?ooo`1?0?ooo`00D03oool00ol00000
+001m0000O@050000O@03o`000018F/80B5[200X0B5[200?o000009^=a02KSL@07@2KSL@00ol00000
+/8R[0;28Z`0>0;28Z`03o`00003?XjX0cj>Z00h0cj>Z00?o00000=c7a03Lal@05`3Lal@00ol00000
+l?Ja0?3f/@030?3f/@03o`00003oool0oooo0500oooo001@0?ooo`03o`00000007d0001m00D0001m
+00?o000004QJ`P18F/802P18F/800ol00000Vhg409^=a00N09^=a0;o00003P2`R:/00ol00000cj>Z
+0<nSZP0<0<nSZP;o00006P3Lal@00ol00000l?Ja0?3f/@030?3f/@03o`00003oool0oooo0500oooo
+001@0?ooo`03o`00000007d0001m00D0001m00?o000004QJ`P18F/802`18F/800ol00000Vhg409^=
+a00O09^=a003o`00002`R:/0/8R[00X0/8R[00?o00000<nSZP3?XjX0303?XjX00ol00000g<O40=c7
+a00I0=c7a003o`00003`m[40l?Ja00@0l?Ja00?o00000?ooo`3oool0D03oool00540oooo00?o0000
+0000O@0007d0100007d00ol00000B5[204QJ`P0;04QJ`P03o`00002KSL@0Vhg40200Vhg400?o0000
+0;28Z`2`R:/02@2`R:/00ol00000cj>Z0<nSZP0:0<nSZP;o0000703Lal@00ol00000l?Ja0?3f/@04
+0?3f/@03o`00003oool0oooo0500oooo001A0?ooo`03o`00000007d0001m00@0001m00?o000004QJ
+`P18F/802`18F/800ol00000Vhg409^=a00Q09^=a0;o00002@2`R:/00ol00000cj>Z0<nSZP090<nS
+ZP03o`00003Lal@0g<O401/0g<O400?o00000?3f/@3`m[40103`m[400ol00000oooo0?ooo`1A0?oo
+o`00D@3oool00ol00000001m0000O@040000O@03o`000018F/80B5[200`0B5[200?o000009^=a02K
+SL@08P2KSL@00ol00000/8R[0;28Z`060;28Z`03o`00003?XjX0cj>Z00L0cj>Z0_l0000N0=c7a003
+o`00003`m[40l?Ja00@0l?Ja00?o00000?ooo`3oool0D@3oool00540oooo00?o00000000O@0007d0
+0`0007d00ol00000B5[204QJ`P0=04QJ`P03o`00002KSL@0Vhg402<0Vhg400?o00000;28Z`2`R:/0
+1@2`R:/00ol00000cj>Z0<nSZP060<nSZP03o`00003Lal@0g<O401d0g<O400?o00000?3f/@3`m[40
+1@3`m[400ol00000oooo0?ooo`1A0?ooo`00DP3oool00ol00000001m0000O@020000O@03o`000018
+F/80B5[200d0B5[200?o000009^=a02KSL@0902KSL@2o`0000D0/8R[00?o00000<nSZP3?XjX0103?
+XjX2o`000200g<O400?o00000?3f/@3`m[401@3`m[400ol00000oooo0?ooo`1A0?ooo`00DP3oool0
+0ol00000001m0000O@020000O@03o`000018F/80B5[200h0B5[200?o000009^=a02KSL@09@2KSL@0
+0ol00000/8R[0;28Z`020;28Z`03o`00003?XjX0cj>Z0080cj>Z0_l0000Q0=c7a003o`00003`m[40
+l?Ja00H0l?Ja00?o00000?ooo`3oool0D@3oool00580oooo00?o00000000O@0007d00P0007d00ol0
+0000B5[204QJ`P0>04QJ`P03o`00002KSL@0Vhg402H0Vhg40_l000020;28Z`05o`00003?XjX0cj>Z
+0<nSZ_l000008`3Lal@00ol00000l?Ja0?3f/@050?3f/@03o`00003oool0oooo0580oooo001B0?oo
+o`03o`00000007d0001m0080001m00?o000004QJ`P18F/803P18F/800ol00000Vhg409^=a00X09^=
+a004o`00002`R:_o00000<nSZP;o00008`3Lal@00ol00000l?Ja0?3f/@060?3f/@03o`00003oool0
+oooo0580oooo001B0?ooo`03o`00000007d0001m0080001m00?o000004QJ`P18F/803`18F/800ol0
+0000Vhg409^=a00X09^=a0?o00009@3Lal@00ol00000l?Ja0?3f/@060?3f/@03o`00003oool0oooo
+0580oooo001C0?ooo`05o`00000007d0001m0000OOl000004@18F/800ol00000Vhg409^=a00X09^=
+a0?o0000903Lal@00ol00000l?Ja0?3f/@070?3f/@03o`00003oool0oooo0580oooo001C0?ooo`05
+o`00000007d0001m0000OOl000004P18F/800ol00000Vhg409^=a00T09^=a0?o000000<0XjoPo`00
+0035cn800_l0000R0=c7a003o`00003`m[40l?Ja00H0l?Ja00?o00000?ooo`3oool0D`3oool005<0
+oooo00Go00000000O@0007d0001mo`00000B04QJ`P03o`00002KSL@0Vhg40240Vhg40ol000040:>_
+h004o`000035cn80aLoR0<G?hP;o00007`3Lal@00ol00000l?Ja0?3f/@070?3f/@03o`00003oool0
+oooo05<0oooo001C0?ooo`05o`00000007d0001m0000OOl000004P18F/800ol00000Vhg409^=a00N
+09^=a0?o00001`2S[n000ol00000aLoR0<G?hP030<G?hP;o00007@3Lal@00ol00000l?Ja0?3f/@07
+0?3f/@03o`00003oool0oooo05<0oooo001D0?ooo`04o`00000007d0001mo`0001<0B5[200?o0000
+09^=a02KSL@06P2KSL@3o`0000T0XjoP00?o00000<G?hP35cn801P35cn800ol00000g<O40=c7a00I
+0=c7a003o`00003`m[40l?Ja00P0l?Ja00?o00000?ooo`3oool0D`3oool005@0oooo00Co00000000
+O@0007go00004`18F/800ol00000Vhg409^=a00G09^=a0?o0000302S[n000ol00000aLoR0<G?hP07
+0<G?hP;o00006@3Lal@00ol00000l?Ja0?3f/@070?3f/@03o`00003oool0oooo05@0oooo001D0?oo
+o`04o`00000007d0001mo`0001<0B5[200?o000009^=a02KSL@0502KSL@3o`0000l0XjoP00?o0000
+0<G?hP35cn802@35cn82o`0001H0g<O400?o00000?3f/@3`m[40203`m[400ol00000oooo0?ooo`1D
+0?ooo`00E03oool01?l00000001m0000OOl0000D04QJ`P03o`00002KSL@0Vhg40100Vhg40ol0000B
+0:>_h003o`000035cn80aLoR00/0aLoR0_l0000D0=c7a003o`00003`m[40l?Ja00P0l?Ja00?o0000
+0?ooo`3oool0E03oool005@0oooo00Co00000000O@0007go00005018F/800ol00000Vhg409^=a00=
+09^=a0?o00005@2S[n000ol00000aLoR0<G?hP0=0<G?hP;o00004@3Lal@00ol00000l?Ja0?3f/@09
+0?3f/@03o`00003oool0oooo05@0oooo001E0?ooo`;o00005@18F/800ol00000Vhg409^=a00:09^=
+a0?o0000602S[n000ol00000aLoR0<G?hP0?0<G?hP;o00003`3Lal@00ol00000l?Ja0?3f/@080?3f
+/@03o`00003oool0oooo05D0oooo001E0?ooo`;o00005P18F/800ol00000Vhg409^=a00609^=a0?o
+00006P2S[n000ol00000aLoR0<G?hP0B0<G?hP;o0000303Lal@00ol00000l?Ja0?3f/@090?3f/@03
+o`00003oool0oooo05D0oooo001E0?ooo`;o00005P18F/800ol00000Vhg409^=a00309^=a0?o0000
+7@2S[n000ol00000aLoR0<G?hP0D0<G?hP;o00002P3Lal@00ol00000l?Ja0?3f/@090?3f/@03o`00
+003oool0oooo05D0oooo001E0?ooo`;o00005P18F/800ol00000Vhg409^=a003o`000200XjoP00?o
+00000<G?hP35cn805P35cn800ol00000g<O40=c7a0060=c7a003o`00003`m[40l?Ja00X0l?Ja00?o
+00000?ooo`3oool0E@3oool005D0oooo0_l0000A04QJ`PSo00008`2S[n000ol00000aLoR0<G?hP0G
+0<G?hP;o00001P3Lal@00ol00000l?Ja0?3f/@0:0?3f/@03o`00003oool0oooo05D0oooo001F0?oo
+o`03o`000018F/80B5[200<0B5[23?l0000604=oi003o`00002S[n00XjoP0280XjoP00?o00000<G?
+hP35cn806@35cn82o`0000<0g<O400?o00000?3f/@3`m[402P3`m[400ol00000oooo0?ooo`1F0?oo
+o`00EP3oool6o`0001<0@goT00?o00000:>_h02S[n008@2S[n000ol00000aLoR0<G?hP0K0<G?hP;o
+000000<0g<O4o`00003`m[402`3`m[400ol00000oooo0?ooo`1F0?ooo`00F03oool00ol00000@goT
+04=oi00E04=oi003o`00002S[n00XjoP01l0XjoP00?o00000<G?hP35cn807P35cn83o`0000/0l?Ja
+00?o00000?ooo`3oool0EP3oool005T0oooo00?o000004=oi013On@05@13On@00ol00000XjoP0:>_
+h00N0:>_h003o`000035cn80aLoR01d0aLoR00Co00000<Gof035omP0aOoH1Ol000060?3f/@03o`00
+003oool0oooo05H0oooo001J0?ooo`;o00005@13On@00ol00000XjoP0:>_h00N0:>_h003o`000035
+cn80aLoR01`0aLoR00?o00000<Gof035omP01`35omP4o`0000030?3f/Ol00000oooo05P0oooo001K
+0?ooo`;o00005@13On@00ol00000XjoP0:>_h00M0:>_h003o`000035cn80aLoR01/0aLoR00?o0000
+0<Gof035omP03035omP2o`0005T0oooo001M0?ooo`03o`000013On@0@goT01<0@goT00?o00000:>_
+h02S[n00702S[n000ol00000aLoR0<G?hP0J0<G?hP03o`000035omP0aOoH00`0aOoH00?o00000?oo
+o`3oool0F@3oool005h0oooo0_l0000C04=oi003o`00002S[n00XjoP01`0XjoP00?o00000<G?hP35
+cn806@35cn800ol00000aOoH0<Gof00;0<Gof0;o0000G03oool005l0oooo0_l0000C04=oi003o`00
+002S[n00XjoP01X0XjoP00?o00000<G?hP35cn806@35cn800ol00000aOoH0<Gof00;0<Gof003o`00
+003oool0oooo05`0oooo001P0?ooo`;o00004`13On@00ol00000XjoP0:>_h00I0:>_h003o`000035
+cn80aLoR01P0aLoR00?o00000<Gof035omP02P35omP2o`0005l0oooo001R0?ooo`;o00004P13On@0
+0ol00000XjoP0:>_h00H0:>_h003o`000035cn80aLoR01L0aLoR00?o00000<Gof035omP02P35omP0
+0ol00000oooo0?ooo`1O0?ooo`00H`3oool2o`000140@goT00?o00000:>_h02S[n00602S[n000ol0
+0000aLoR0<G?hP0F0<G?hP03o`000035omP0aOoH00X0aOoH00?o00000?ooo`3oool0H03oool006@0
+oooo0ol0000@04=oi003o`00002S[n00XjoP01L0XjoP00?o00000<G?hP35cn805@35cn800ol00000
+aOoH0<Gof0090<Gof0;o0000H`3oool006D0oooo0ol0000@04=oi003o`00002S[n00XjoP01H0XjoP
+00?o00000<G?hP35cn805035cn800ol00000aOoH0<Gof0090<Gof003o`00003oool0oooo06<0oooo
+001W0?ooo`;o00003`13On@00ol00000XjoP0:>_h00E0:>_h003o`000035cn80aLoR01@0aLoR00?o
+00000<Gof035omP02035omP2o`0006H0oooo001X0?ooo`?o00003P13On@00ol00000XjoP0:>_h00D
+0:>_h003o`000035cn80aLoR01<0aLoR00?o00000<Gof035omP02035omP00ol00000oooo0?ooo`1V
+0?ooo`00J@3oool00ol00000036Xo`00000>04=oi003o`00002S[n00XjoP01<0XjoP00?o00000<G?
+hP35cn804P35cn800ol00000aOoH0<Gof0070<Gof0;o0000J@3oool006X0oooo0ol0000>04=oi003
+o`00002S[n00XjoP0180XjoP00?o00000<G?hP35cn804@35cn800ol00000aOoH0<Gof0070<Gof003
+o`00003oool0oooo06T0oooo001/0?ooo`?o00003013On@00ol00000XjoP0:>_h00B0:>_h003o`00
+0035cn80aLoR0100aLoR00?o00000<Gof035omP01P35omP2o`0006`0oooo001]0?ooo`?o00003013
+On@00ol00000XjoP0:>_h00A0:>_h003o`000035cn80aLoR00l0aLoR00?o00000<Gof035omP01P35
+omP00ol00000oooo0?ooo`1/0?ooo`00K`3oool2o`0000`0@goT00?o00000:>_h02S[n00402S[n00
+0ol00000aLoR0<G?hP0>0<G?hP03o`000035omP0aOoH00H0aOoH00?o00000?ooo`3oool0K@3oool0
+0700oooo0ol0000:04=oi003o`00002S[n00XjoP00l0XjoP00?o00000<G?hP35cn803P35cn800ol0
+0000aOoH0<Gof0050<Gof0;o0000L03oool00740oooo0ol0000:04=oi003o`00002S[n00XjoP00h0
+XjoP00?o00000<G?hP35cn803@35cn800ol00000aOoH0<Gof0050<Gof003o`00003oool0oooo0700
+oooo001c0?ooo`;o00002P13On@00ol00000XjoP0:>_h00=0:>_h003o`000035cn80aLoR00`0aLoR
+00?o00000<Gof035omP01035omP2o`0007<0oooo001d0?ooo`?o00002@13On@00ol00000XjoP0:>_
+h00<0:>_h003o`000035cn80aLoR00/0aLoR00?o00000<Gof035omP01035omP00ol00000oooo0?oo
+o`1c0?ooo`00MP3oool2o`0000P0@goT00?o00000:>_h02S[n00302S[n000ol00000aLoR0<G?hP0:
+0<G?hP03o`000035omP0aOoH00<0aOoH0_l0001f0?ooo`00M`3oool2o`0000P0@goT00?o00000:>_
+h02S[n002`2S[n000ol00000aLoR0<G?hP090<G?hP03o`000035omP0aOoH00<0aOoH00?o00000?oo
+o`3oool0MP3oool007P0oooo0ol0000704=oi003o`00002S[n00XjoP00T0XjoP00?o00000<G?hP35
+cn802@35cn800ol00000aOoH0<Gof0020<Gof0;o0000N@3oool007X0oooo0_l0000604=oi003o`00
+002S[n00XjoP00T0XjoP00?o00000<G?hP35cn802035cn800ol00000aOoH0<Gof0020<Gof003o`00
+003oool0oooo07T0oooo001k0?ooo`;o00001P13On@00ol00000XjoP0:>_h0080:>_h003o`000035
+cn80aLoR00L0aLoR00?o00000<Gof035omP00P35omP00ol00000oooo0?ooo`1j0?ooo`00O@3oool2
+o`0000D0@goT00?o00000:>_h02S[n001`2S[n000ol00000aLoR0<G?hP060<G?hP04o`000035omP0
+aOoH0<Gof0;o0000O@3oool007h0oooo0_l0000504=oi003o`00002S[n00XjoP00H0XjoP00?o0000
+0<G?hP35cn801@35cn801Ol00000aOoH0<Gof035omSo000007l0oooo00200?ooo`;o00000`13On@0
+0ol00000XjoP0:>_h0060:>_h003o`000035cn80aLoR00@0aLoR00?o00000<Gof035omP00_l00020
+0?ooo`00P@3oool2o`0000<0@goT00?o00000:>_h02S[n00102S[n000ol00000aLoR0<G?hP040<G?
+hP04o`000035omP0aOoHo`000880oooo00220?ooo`;o00000`13On@00ol00000XjoP0:>_h0030:>_
+h003o`000035cn80aLoR00<0aLoR00Co00000<Gof?l0003o0000P`3oool008@0oooo0_l000000`13
+OnCo00000:>_h0040:>_h003o`000035cn80aLoR0080aLoR00?o00000<Gof?l00000Q@3oool008D0
+oooo0_l000000`13OnCo00000:>_h0030:>_h004o`000035cn80aLoR0<G?hP?o0000QP3oool008L0
+oooo00?o000004=oi?l000000`2S[n000ol00000aLoR0<G?hP02o`0008P0oooo00280?ooo`?o0000
+0P2S[n001?l00000aLoRo`000?l000290?ooo`00R@3oool2o`0000030:>_h?l00000aLoR00;o0000
+RP3oool008/0oooo0ol0002<0?ooo`00S03oool00ol00000oooo0?ooo`2;0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?oo
+o`00o`3ooolK0?ooo`00\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.50377 .45486 m .60098 .40621 L .66737 .55927 L closepath p .594 .532 .754 r
+F P
+0 g
+s
+.5 .27523 m .60098 .40621 L .50377 .45486 L closepath p .633 .638 .838 r
+F P
+0 g
+s
+.50456 .57112 m .50377 .45486 L .66737 .55927 L closepath p .653 .513 .68 r
+F P
+0 g
+s
+.34123 .56184 m .50456 .57112 L .50377 .45486 L closepath p .746 .588 .68 r
+F P
+0 g
+s
+.40401 .40824 m .34123 .56184 L .50377 .45486 L closepath p .792 .691 .754 r
+F P
+0 g
+s
+.40401 .40824 m .5 .27523 L .50377 .45486 L closepath p .738 .723 .837 r
+F P
+0 g
+s
+.504 .67296 m .50456 .57112 L .66737 .55927 L closepath p .622 .367 .511 r
+F P
+0 g
+s
+.50456 .57112 m .34123 .56184 L .504 .67296 L closepath p .732 .457 .512 r
+F P
+0 g
+s
+.34123 .56184 m .39633 .67987 L .504 .67296 L closepath p .765 .387 .34 r
+F P
+0 g
+s
+.3111 .62572 m .39633 .67987 L .34123 .56184 L closepath p .863 .415 .095 r
+F P
+0 g
+s
+.34123 .56184 m .40401 .40824 L .32366 .38575 L closepath p .908 .841 .768 r
+F P
+0 g
+s
+.28124 .50193 m .32366 .38575 L .34123 .56184 L closepath p .989 .873 .623 r
+F P
+0 g
+s
+.28124 .50193 m .3111 .62572 L .34123 .56184 L closepath p .943 .61 .182 r
+F P
+0 g
+s
+.69003 .62312 m .72028 .49805 L .66737 .55927 L closepath p 0 0 .134 r
+F P
+0 g
+s
+.67733 .38198 m .72028 .49805 L .66737 .55927 L closepath p .042 .11 .609 r
+F P
+0 g
+s
+.60098 .40621 m .66737 .55927 L .67733 .38198 L closepath p .358 .4 .768 r
+F P
+0 g
+s
+.6091 .67859 m .69003 .62312 L .66737 .55927 L closepath p 0 0 .057 r
+F P
+0 g
+s
+.6091 .67859 m .504 .67296 L .66737 .55927 L closepath p .476 .149 .332 r
+F P
+0 g
+s
+.40401 .40824 m .32366 .38575 L .5 .27523 L closepath p .838 .894 .879 r
+F P
+0 g
+s
+.5 .27523 m .60098 .40621 L .67733 .38198 L closepath p .39 .537 .882 r
+F P
+0 g
+s
+.5 .75807 m .39633 .67987 L .504 .67296 L closepath p .591 .083 .011 r
+F P
+0 g
+s
+.6091 .67859 m .5 .75807 L .504 .67296 L closepath p .391 0 .002 r
+F P
+0 g
+s
+.5 .27523 m .38415 .31036 L .32366 .38575 L closepath p .747 .99 .884 r
+F P
+0 g
+s
+.49523 .29392 m .38415 .31036 L .5 .27523 L closepath p 0 0 0 r
+F P
+0 g
+s
+.61086 .30766 m .5 .27523 L .67733 .38198 L closepath p .06 .445 .878 r
+F P
+0 g
+s
+.61086 .30766 m .49523 .29392 L .5 .27523 L closepath p .277 0 0 r
+F P
+0 g
+s
+.28742 .42472 m .38415 .31036 L .32366 .38575 L closepath p .57 .832 .474 r
+F P
+0 g
+s
+.28124 .50193 m .28742 .42472 L .32366 .38575 L closepath p .819 .843 .379 r
+F P
+0 g
+s
+.3111 .62572 m .39633 .67987 L .5 .75807 L closepath p .469 0 0 r
+F P
+0 g
+s
+.70404 .42053 m .72028 .49805 L .67733 .38198 L closepath p 0 0 .324 r
+F P
+0 g
+s
+.61086 .30766 m .70404 .42053 L .67733 .38198 L closepath p .572 .091 0 r
+F P
+0 g
+s
+.6091 .67859 m .5 .75807 L .69003 .62312 L closepath p 0 0 0 r
+F P
+0 g
+s
+.3111 .62572 m .28124 .50193 L .28742 .42472 L closepath p 0 0 .321 r
+F P
+0 g
+s
+.72028 .49805 m .69003 .62312 L .70404 .42053 L closepath p .907 .836 .376 r
+F P
+0 g
+s
+.38415 .31036 m .28742 .42472 L .49523 .29392 L closepath p .28 0 .065 r
+F P
+0 g
+s
+.37335 .61763 m .5 .75807 L .3111 .62572 L closepath p .135 .439 .875 r
+F P
+0 g
+s
+.37335 .61763 m .28742 .42472 L .3111 .62572 L closepath p .12 .259 .734 r
+F P
+0 g
+s
+.61086 .30766 m .49523 .29392 L .70404 .42053 L closepath p .72 .232 .084 r
+F P
+0 g
+s
+.70404 .42053 m .62124 .6159 L .69003 .62312 L closepath p .951 .926 .743 r
+F P
+0 g
+s
+.5 .75807 m .62124 .6159 L .69003 .62312 L closepath p .821 .984 .882 r
+F P
+0 g
+s
+.49484 .56187 m .62124 .6159 L .5 .75807 L closepath p .741 .773 .879 r
+F P
+0 g
+s
+.37335 .61763 m .49484 .56187 L .5 .75807 L closepath p .592 .654 .88 r
+F P
+0 g
+s
+.49523 .29392 m .49388 .40451 L .28742 .42472 L closepath p .571 .266 .412 r
+F P
+0 g
+s
+.70404 .42053 m .49388 .40451 L .49523 .29392 L closepath p .728 .395 .416 r
+F P
+0 g
+s
+.37335 .61763 m .49484 .56187 L .28742 .42472 L closepath p .545 .51 .767 r
+F P
+0 g
+s
+.62124 .6159 m .70404 .42053 L .49484 .56187 L closepath p .819 .73 .767 r
+F P
+0 g
+s
+.49484 .56187 m .49388 .40451 L .28742 .42472 L closepath p .632 .489 .669 r
+F P
+0 g
+s
+.70404 .42053 m .49388 .40451 L .49484 .56187 L closepath p .759 .592 .67 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00R_ooool5o`0008_ooooo0027ooooo`?o00000P00
+00000ol00000AP0004H00003o`0008Sooooo0024ooooo`?o00001@0000000ol00000AP0004H00003
+04H000Co0000Q?ooool0083ooooo1?l0000700000003o`0000160000AP0000P0AP000ol00021oooo
+o`00OOooool3o`0000/0000000?o000004H0001600002`160004o`0007gooooo001jooooo`?o0000
+2`000008o`0000d0AP000ol0001jooooo`00Moooool3o`0000L000001ol000001P17013o00000994
+JOl00000^VEZo`000080^3/E2?l0000804H000?o0000Moooool007?ooooo1?l00004000000Ko0000
+1P170102o`000080TTAY00?o00000;YUJP2jIFX00_l000080;Pk5@So00000`160004o`0007?ooooo
+001`ooooo`?o00000P000006o`0000X0A`0@0_l000040994J@03o`00002jIFX0^VEZ0080^VEZ0_l0
+000>0;Pk5@[o0000L?ooool006gooooo2?l0000?04L04003o`00002BA6T0TTAY00@0TTAY00?o0000
+0;YUJP2jIFX0102jIFX00ol00000^3/E0;Pk5@0C0;Pk5@Co0000K_ooool006_ooooo0ol0000D04L0
+40;o00001`2BA6T00ol00000^VEZ0;YUJP050;YUJP;o00005P2h>aD00ol0003oooooooooo`1/oooo
+o`00Joooool00ol00000A`0@04L0400C04L04003o`00002BA6T0TTAY00L0TTAY00?o00000;YUJP2j
+IFX01`2jIFX00ol00000^3/E0;Pk5@0D0;Pk5@03o`000?oooooooooo06_ooooo001Zooooo`03o`00
+00170100A`0@0180A`0@0_l0000:0994J@03o`00002jIFX0^VEZ00P0^VEZ0_l0000E0;Pk5@03o`00
+0?oooooooooo06[ooooo001Yooooo`03o`0000170100A`0@0140A`0@0_l0000<0994J@03o`00002j
+IFX0^VEZ00X0^VEZ0_l0000D0;Pk5@03o`000?oooooooooo06Wooooo001Xooooo`03o`0000170100
+A`0@0140A`0@00?o00000994J@2BA6T0302BA6T00ol00000^VEZ0;YUJP0<0;YUJP03o`00002h>aD0
+^3/E0180^3/E00?o0000ooooooooool0J?ooool006Oooooo00?o000004L04017010040170102o`00
+00l0TTAY00?o00000;YUJP2jIFX03@2jIFX2o`000180^3/E0_l0001Yooooo`00I_ooool00ol00000
+A`0@04L0400@04L04003o`00002BA6T0TTAY00l0TTAY00?o00000;YUJP2jIFX03`2jIFX2o`000140
+^3/E0_l0001Xooooo`00I_ooool00ol00000A`0@04L0400>04L040;o00004P2BA6T00ol00000^VEZ
+0;YUJP0A0;YUJP03o`00002h>aD0^3/E00l0^3/E0_l0001Wooooo`00IOooool00ol00000A`0@04L0
+400=04L040;o0000502BA6T00ol00000^VEZ0;YUJP0B0;YUJP;o0000402h>aD2o`0006Kooooo001T
+ooooo`03o`0000170100A`0@00d0A`0@00?o00000994J@2BA6T0502BA6T00ol00000^VEZ0;YUJP0D
+0;YUJP03o`00002h>aD0^3/E00h0^3/E0_l0001Uooooo`00Hoooool00ol00000A`0@04L0400<04L0
+40;o00005`2BA6T00ol00000^VEZ0;YUJP0E0;YUJP;o00003`2h>aD2o`0006Cooooo001Rooooo`03
+o`0000170100A`0@00`0A`0@00?o00000994J@2BA6T05P2BA6T00ol00000^VEZ0;YUJP0H0;YUJP;o
+00003@2h>aD2o`0006Cooooo001Qooooo`03o`0000170100A`0@00/0A`0@0_l0000I0994J@03o`00
+002jIFX0^VEZ01X0^VEZ00?o00000;Pk5@2h>aD02`2h>aD2o`0006?ooooo001Pooooo`03o`000017
+0100A`0@00X0A`0@0_l0000K0994J@03o`00002jIFX0^VEZ01/0^VEZ0_l0000<0;Pk5@;o0000H_oo
+ool0063ooooo00?o000004L0401701002@1701000ol00000TTAY0994J@0K0994J@03o`00002jIFX0
+^VEZ01d0^VEZ00?o00000;Pk5@2h>aD02P2h>aD2o`00067ooooo001Oooooo`03o`0000170100A`0@
+00P0A`0@0_l0000N0994J@03o`00002jIFX0^VEZ01h0^VEZ0_l0000;0;Pk5@;o0000H?ooool005ko
+oooo00?o000004L040170100201701000ol00000TTAY0994J@0N0994J@03o`00002jIFX0^VEZ0200
+^VEZ0_l000090;Pk5@03o`00002B5`3o000005oooooo001Mooooo`03o`0000170100A`0@00L0A`0@
+0_l0000Q0994J@03o`00002jIFX0^VEZ0280^VEZ00?o00000;Pk5@2h>aD01`2h>aD00ol00000TQL0
+o`00001Nooooo`00G?ooool00ol00000A`0@04L0400704L04003o`00002BA6T0TTAY0240TTAY00?o
+00000;YUJP2jIFX08`2jIFX2o`0000P0^3/E00?o0000098G0?l00000GOooool005_ooooo00?o0000
+04L0401701001P170102o`0002@0TTAY00?o00000;YUJP2jIFX09@2jIFX00ol00000^3/E0;Pk5@06
+0;Pk5@03o`00002B5`3o000005cooooo001Kooooo`03o`0000170100A`0@00@0A`0@0_l0000V0994
+J@03o`00002jIFX0^VEZ02H0^VEZ0_l000070;Pk5@03o`00002B5`3o000005_ooooo001Jooooo`03
+o`0000170100A`0@00@0A`0@00?o00000994J@2BA6T09P2BA6T00ol00000^VEZ0;YUJP0X0;YUJP;o
+00001@2h>aD00ol00000TQL0o`00001Kooooo`00FOooool00ol00000A`0@04L0400304L040;o0000
+:@2BA6T00ol00000^VEZ0;YUJP0Z0;YUJP03o`00002h>aD0^3/E00<0^3/E00?o0000098G0?l00000
+F_ooool005Sooooo00?o000004L0401701000`1701000ol00000TTAY0994J@0Y0994J@03o`00002j
+IFX0^VEZ02/0^VEZ0_l000040;Pk5@03o`00002B5`3o000005Wooooo001Gooooo`03o`0000170100
+A`0@0080A`0@0_l0000/0994J@03o`00002jIFX0^VEZ02d0^VEZ0_l000030;Pk5@;o0000FOooool0
+05Kooooo00Co000004L040170100A`0@0_l0000^0994J@03o`00002jIFX0^VEZ02l0^VEZ00Co0000
+0;Pk5@2h>aD0^3/E0_l0001Hooooo`00EOooool01Ol00000A`0@04L04017013o000002/0TTAY3?l0
+000/0;YUJP;o00000P2h>aD2o`0005Oooooo001Eooooo`04o`000017013o0000o`000280TTAY2_l0
+00050:5mZ`03o`000032Uj/0`YN[00@0`YN[3?l0000R0;YUJP04o`00002h>aGo0000o`0005Oooooo
+001Dooooo`03o`000017013o000001/0TTAY2Ol0000?0:5mZ`03o`000032Uj/0`YN[0100`YN[3?l0
+000G0;YUJPCo0000E_ooool005?ooooo0ol0000B0994J@[o0000602QOJ/00ol00000`YN[0<:GZ`0L
+0<:GZ`_o00003P2jIFX2o`0005Kooooo001Booooo`;o00002P2BA6T:o`000280XGf[00?o00000<:G
+Z`32Uj/09`32Uj/<o`0000@0^VEZ00?o0000ooooooooool0Doooool0057ooooo00Co00000994J@2B
+A6T0TTAY2Ol0000/0:5mZ`03o`000032Uj/0`YN[03<0`YN[1_l0001Dooooo`00D?ooool5o`0003D0
+XGf[00?o00000<:GZ`32Uj/0=P32Uj/00ol00000dK[4o`00001Dooooo`00D?ooool00ol00000Rh;4
+o`00000g0:5mZ`03o`000032Uj/0`YN[03@0`YN[0_l000000`3A^/Co0000o`00001Dooooo`00D?oo
+ool2o`00000308^2a?l0003o000003D0XGf[00?o00000<:GZ`32Uj/0<`32Uj/01?l00000dK[40=6j
+a03A^/@3o`0005?ooooo001@ooooo`;o00000`2;P/@00ol00000XGf[0:5mZ`0b0:5mZ`03o`000032
+Uj/0`YN[0340`YN[0_l000040=6ja0?o0000Doooool0053ooooo00?o000001i2^ol000000`2;P/@2
+o`000380XGf[00?o00000<:GZ`32Uj/0<032Uj/00ol00000dK[40=6ja0030=6ja004o`00003ckKko
+0000o`0005?ooooo001@ooooo`?o00001@2;P/@2o`000300XGf[00?o00000<:GZ`32Uj/0;P32Uj/2
+o`0000H0dK[400Co00000??]__l0003o0000Doooool0053ooooo0ol0000708^2a003o`00002QOJ/0
+XGf[02d0XGf[00?o00000<:GZ`32Uj/0;@32Uj/00ol00000dK[40=6ja0050=6ja006o`00003ckKh0
+lnfno`00003XeV3o0000D_ooool0053ooooo0_l000000`0N@[_o000008^2a00608^2a0;o0000;@2Q
+OJ/00ol00000`YN[0<:GZ`0[0<:GZ`;o0000203A^/@00ol00000lnfno`0000020>SFH003o`000?oo
+oooooooo053ooooo001@ooooo`;o000000<07T:ko`00002;P/@0202;P/@00ol00000XGf[0:5mZ`0Z
+0:5mZ`03o`000032Uj/0`YN[02X0`YN[00?o00000=6ja03A^/@01`3A^/@01?l00000lnfn0??]__l0
+00020>SFH003o`000?oooooooooo053ooooo001@ooooo`;o00000P0N@[/00ol00000Rh;408^2a007
+08^2a0;o0000:P2QOJ/00ol00000`YN[0<:GZ`0X0<:GZ`;o00002P3A^/@01?l00000lnfn0??]__l0
+00020>SFH003o`000?oooooooooo053ooooo001@ooooo`;o00000P0N@[/00ol00000Rh;408^2a009
+08^2a003o`00002QOJ/0XGf[02L0XGf[00?o00000<:GZ`32Uj/09`32Uj/00ol00000dK[40=6ja00:
+0=6ja004o`00003ckKh0lnfno`0000<0j=IP00?o0000ooooooooool0Coooool0053ooooo0_l00003
+01i2^`03o`00002;P/@0Rh;400T0Rh;40_l0000W0:5mZ`03o`000032Uj/0`YN[02D0`YN[0_l0000<
+0=6ja005o`00003ckKh0lnfn0??]__l000000`3XeV000ol0003oooooooooo`1?ooooo`00Coooool0
+0ol00000001Bo`00000301i2^`03o`00002;P/@0Rh;400/0Rh;400?o00000:5mZ`2QOJ/0902QOJ/0
+0ol00000`YN[0<:GZ`0T0<:GZ`03o`00003A^/@0dK[400`0dK[400Go00000??]_P3ckKh0lnfno`00
+00030>SFH003o`000?oooooooooo04oooooo001?ooooo`04o`0000000580001Bo`0000<07T:k00?o
+000008^2a02;P/@02`2;P/@2o`0002@0XGf[00?o00000<:GZ`32Uj/08P32Uj/2o`0000h0dK[400?o
+00000??]_P3ckKh00P3ckKh01Ol00000j=IP0>SFH03XeV3o0000057ooooo001?ooooo`04o`000000
+0580001Bo`0000<07T:k00?o000008^2a02;P/@03@2;P/@2o`000280XGf[00?o00000<:GZ`32Uj/0
+8@32Uj/00ol00000dK[40=6ja00>0=6ja003o`00003ckKh0lnfn0080lnfn00Go00000>SFH03XeV00
+j=IPo`00001Aooooo`00Coooool01?l00000001B0000D_l0000301i2^`03o`00002;P/@0Rh;400l0
+Rh;400?o00000:5mZ`2QOJ/07`2QOJ/00ol00000`YN[0<:GZ`0O0<:GZ`;o00004@3A^/@00ol00000
+lnfn0??]_P020??]_P03o`00003XeV00j=IP0080j=IP00?o0000ooooooooool0C_ooool004oooooo
+00Co00000000DP0005;o0000100N@[/00ol00000Rh;408^2a00?08^2a0;o00007`2QOJ/00ol00000
+`YN[0<:GZ`0N0<:GZ`03o`00003A^/@0dK[40100dK[400?o00000??]_P3ckKh00`3ckKh00ol00000
+j=IP0>SFH0020>SFH003o`000?oooooooooo04kooooo001?ooooo`04o`0000000580001Bo`0000@0
+7T:k00?o000008^2a02;P/@04@2;P/@00ol00000XGf[0:5mZ`0M0:5mZ`03o`000032Uj/0`YN[01/0
+`YN[0_l0000C0=6ja003o`00003ckKh0lnfn00<0lnfn00?o00000>SFH03XeV000P3XeV000ol0003o
+ooooooooo`1>ooooo`00Coooool01?l00000001B0000D_l0000501i2^`03o`00002;P/@0Rh;40140
+Rh;40_l0000M0:5mZ`03o`000032Uj/0`YN[01X0`YN[00?o00000=6ja03A^/@04P3A^/@00ol00000
+lnfn0??]_P040??]_P03o`00003XeV00j=IP0080j=IP00?o0000ooooooooool0C_ooool004oooooo
+00Co00000000DP0005;o00001@0N@[/00ol00000Rh;408^2a00C08^2a003o`00002QOJ/0XGf[01X0
+XGf[00?o00000<:GZ`32Uj/06@32Uj/00ol00000dK[40=6ja00C0=6ja003o`00003ckKh0lnfn00@0
+lnfn00?o00000>SFH03XeV000`3XeV000ol0003oooooooooo`1=ooooo`00Coooool01?l00000001B
+0000D_l0000601i2^`03o`00002;P/@0Rh;401<0Rh;40_l0000J0:5mZ`03o`000032Uj/0`YN[01L0
+`YN[0_l0000E0=6ja003o`00003ckKh0lnfn00D0lnfn00?o00000>SFH03XeV000`3XeV000ol0003o
+ooooooooo`1=ooooo`00Coooool01Ol00000001B0000DP0005;o000000D07T:k00?o000008^2a02;
+P/@05@2;P/@00ol00000XGf[0:5mZ`0G0:5mZ`03o`000032Uj/0`YN[01H0`YN[00?o00000=6ja03A
+^/@05@3A^/@00ol00000lnfn0??]_P040??]_P03o`00003XeV00j=IP00@0j=IP00?o0000oooooooo
+ool0COooool004oooooo00Go00000000DP000580001Bo`00000601i2^`03o`00002;P/@0Rh;401D0
+Rh;40_l0000G0:5mZ`03o`000032Uj/0`YN[01@0`YN[0_l0000H0=6ja003o`00003ckKh0lnfn00@0
+lnfn00?o00000>SFH03XeV00103XeV000ol0003oooooooooo`1=ooooo`00Coooool01Ol00000001B
+0000DP0005;o000000H07T:k00?o000008^2a02;P/@05`2;P/@00ol00000XGf[0:5mZ`0D0:5mZ`03
+o`000032Uj/0`YN[01<0`YN[00?o00000=6ja03A^/@05`3A^/@00ol00000lnfn0??]_P050??]_P03
+o`00003XeV00j=IP00<0j=IP00?o0000ooooooooool0C_ooool004oooooo00Go00000000DP000580
+001Bo`00000601i2^`03o`00002;P/@0Rh;401P0Rh;40_l0000D0:5mZ`03o`000032Uj/0`YN[0140
+`YN[0_l0000J0=6ja003o`00003ckKh0lnfn00D0lnfn00?o00000>SFH03XeV000`3XeV000ol0003o
+ooooooooo`1>ooooo`00D?ooool01?l00000001B0000D_l0000701i2^`03o`00002;P/@0Rh;401T0
+Rh;40_l0000B0:5mZ`03o`000032Uj/0`YN[0100`YN[00?o00000=6ja03A^/@06@3A^/@00ol00000
+lnfn0??]_P060??]_P03o`00003XeV00j=IP00<0j=IP00?o0000ooooooooool0C_ooool0053ooooo
+00Co00000000DP0005;o00001`0N@[/00ol00000Rh;408^2a00K08^2a003o`00002QOJ/0XGf[00l0
+XGf[00?o00000<:GZ`32Uj/03P32Uj/2o`0001`0dK[400?o00000??]_P3ckKh01P3ckKh00ol00000
+j=IP0>SFH0030>SFH003o`000?oooooooooo04kooooo001@ooooo`04o`0000000580001Bo`0000P0
+7T:k00?o000008^2a02;P/@06`2;P/@2o`0000l0XGf[00?o00000<:GZ`32Uj/03@32Uj/00ol00000
+dK[40=6ja00K0=6ja003o`00003ckKh0lnfn00L0lnfn00?o00000>SFH03XeV000P3XeV000ol0003o
+ooooooooo`1?ooooo`00D?ooool01?l00000001B0000D_l0000801i2^`03o`00002;P/@0Rh;401d0
+Rh;400?o00000:5mZ`2QOJ/0302QOJ/00ol00000`YN[0<:GZ`0;0<:GZ`;o00007P3A^/@00ol00000
+lnfn0??]_P070??]_P03o`00003XeV00j=IP0080j=IP00?o0000ooooooooool0Coooool0057ooooo
+00Co00000000DP0005;o0000200N@[/00ol00000Rh;408^2a00M08^2a0;o0000302QOJ/00ol00000
+`YN[0<:GZ`0:0<:GZ`03o`00003A^/@0dK[401h0dK[400?o00000??]_P3ckKh01`3ckKh00ol00000
+j=IP0>SFH0020>SFH003o`000?oooooooooo04oooooo001Aooooo`04o`0000000580001Bo`0000P0
+7T:k00?o000008^2a02;P/@07`2;P/@00ol00000XGf[0:5mZ`090:5mZ`03o`000032Uj/0`YN[00P0
+`YN[0_l0000P0=6ja003o`00003ckKh0lnfn00P0lnfn00?o00000>SFH03XeV000P3XeV000ol0003o
+ooooooooo`1?ooooo`00DOooool01?l00000001B0000D_l0000901i2^`03o`00002;P/@0Rh;401l0
+Rh;40_l000090:5mZ`03o`000032Uj/0`YN[00L0`YN[00?o00000=6ja03A^/@0803A^/@00ol00000
+lnfn0??]_P080??]_P05o`00003XeV00j=IP0>SFH?l00000D_ooool0057ooooo00Co00000000DP00
+05;o00002@0N@[/00ol00000Rh;408^2a00Q08^2a003o`00002QOJ/0XGf[00H0XGf[00?o00000<:G
+Z`32Uj/01@32Uj/2o`000280dK[400?o00000??]_P3ckKh02@3ckKh01Ol00000j=IP0>SFH03XeV3o
+000005;ooooo001Aooooo`04o`0000000580001Bo`0000T07T:k00?o000008^2a02;P/@08P2;P/@2
+o`0000H0XGf[00?o00000<:GZ`32Uj/01032Uj/00ol00000dK[40=6ja00R0=6ja003o`00003ckKh0
+lnfn00T0lnfn00Go00000>SFH03XeV00j=IPo`00001Booooo`00D_ooool00ol00000001Bo`00000:
+01i2^`03o`00002;P/@0Rh;402<0Rh;40_l000040:5mZ`03o`000032Uj/0`YN[0080`YN[0_l0000U
+0=6ja003o`00003ckKh0lnfn00T0lnfn00Go00000>SFH03XeV00j=IPo`00001Booooo`00D_ooool0
+0ol00000001Bo`00000:01i2^`03o`00002;P/@0Rh;402D0Rh;400Go00000:5mZ`2QOJ/0XGf[o`00
+00030<:GZ`03o`00003A^/@0dK[402@0dK[400?o00000??]_P3ckKh02P3ckKh01?l00000j=IP0>SF
+H?l0001Cooooo`00D_ooool00ol00000001Bo`00000;01i2^`03o`00002;P/@0Rh;402D0Rh;40_l0
+00000`2QOJ_o00000<:GZ`02o`0002L0dK[400?o00000??]_P3ckKh02@3ckKh01Ol00000j=IP0>SF
+H03XeV3o000005?ooooo001Booooo`04o`0000000580001Bo`0000X07T:k00?o000008^2a02;P/@0
+9`2;P/@3o`0002P0dK[400?o00000??]_P3ckKh02P3ckKh01Ol00000j=IP0>SFH03XeV3o000005?o
+oooo001Cooooo`03o`00000005;o000000/07T:k00?o000008^2a02;P/@09P2;P/@3o`0002P0dK[4
+00?o00000??]_P3ckKh02P3ckKh01Ol00000j=IP0>SFH03XeV3o000005?ooooo001Cooooo`03o`00
+000005;o000000/07T:k00?o000008^2a02;P/@0902;P/@2o`00000309NWhOl00000_LGQ00;o0000
+9@3A^/@00ol00000lnfn0??]_P0;0??]_P04o`00003XeV00j=IPo`0005Cooooo001Cooooo`03o`00
+000005;o000000`07T:k00?o000008^2a02;P/@08@2;P/@2o`0000<0UjOQ00Co00000;g5h@2maN40
+_LGQ0_l0000S0=6ja003o`00003ckKh0lnfn00/0lnfn00Co00000>SFH03XeV3o0000E?ooool005?o
+oooo00?o00000000D_l00000300N@[/00ol00000Rh;408^2a00N08^2a0?o00001@2GYn400ol00000
+_LGQ0;g5h@030;g5h@?o0000803A^/@00ol00000lnfn0??]_P0;0??]_P04o`00003XeV00j=IPo`00
+05Cooooo001Dooooo`;o0000300N@[/00ol00000Rh;408^2a00L08^2a0;o0000202GYn400ol00000
+_LGQ0;g5h@060;g5h@;o00007@3A^/@00ol00000lnfn0??]_P0<0??]_P04o`00003XeV00j=IPo`00
+05Cooooo001Dooooo`;o00003@0N@[/00ol00000Rh;408^2a00I08^2a0;o00002P2GYn400ol00000
+_LGQ0;g5h@080;g5h@;o00006`3A^/@00ol00000lnfn0??]_P0<0??]_P03o`00003XeV3o000005Go
+oooo001Dooooo`;o00003@0N@[/00ol00000Rh;408^2a00G08^2a0;o0000302GYn400ol00000_LGQ
+0;g5h@0:0;g5h@;o0000603A^/@00ol00000lnfn0??]_P0=0??]_P03o`00003XeV3o000005Gooooo
+001Dooooo`03o`00000005;o000000d07T:k00?o000008^2a02;P/@0502;P/@2o`0000h0UjOQ00?o
+00000;g5h@2maN40302maN42o`0001H0dK[400?o00000??]_P3ckKh03@3ckKh00ol00000j=IPo`00
+001Eooooo`00EOooool2o`0000d07T:k00?o000008^2a02;P/@04@2;P/@3o`000100UjOQ00?o0000
+0;g5h@2maN403P2maN43o`0001<0dK[400?o00000??]_P3ckKh03@3ckKh00ol00000j=IPo`00001E
+ooooo`00EOooool2o`0000h07T:k00?o000008^2a02;P/@03P2;P/@2o`0001<0UjOQ00?o00000;g5
+h@2maN404@2maN42o`000100dK[400?o00000??]_P3ckKh03P3ckKh2o`0005Kooooo001Eooooo`;o
+00003P0N@[/00ol00000Rh;408^2a00<08^2a0;o00005@2GYn400ol00000_LGQ0;g5h@0C0;g5h@;o
+00003P3A^/@00ol00000lnfn0??]_P0>0??]_P;o0000E_ooool005Gooooo0_l0000?01i2^`03o`00
+002;P/@0Rh;400T0Rh;40_l0000G09NWh@03o`00002maN40_LGQ01D0_LGQ0_l0000;0=6ja003o`00
+003ckKh0lnfn00l0lnfn0_l0001Fooooo`00EOooool2o`0000l07T:k00?o000008^2a02;P/@01`2;
+P/@2o`0001T0UjOQ00?o00000;g5h@2maN405`2maN42o`0000T0dK[400?o00000??]_P3ckKh03P3c
+kKh00ol00000j=IPo`00001Fooooo`00E_ooool00ol000007T:k01i2^`0=01i2^`03o`00002;P/@0
+Rh;400@0Rh;40ol0000K09NWh@03o`00002maN40_LGQ01T0_LGQ0ol000050=6ja003o`00003ckKh0
+lnfn00l0lnfn0_l0001Gooooo`00E_ooool00ol000007T:k01i2^`0>01i2^`04o`00002;P/@0Rh;4
+08^2a0;o00007P2GYn400ol00000_LGQ0;g5h@0L0;g5h@;o00000`3A^/@00ol00000lnfn0??]_P0?
+0??]_P;o0000Eoooool005Kooooo0_l0000?01i2^`04o`00002;P/Co0000o`000200UjOQ00?o0000
+0;g5h@2maN407P2maN42o`0000030=6ja?l00000lnfn0100lnfn0_l0001Gooooo`00E_ooool2o`00
+00`07T:k1Ol0000R09NWh@03o`00002maN40_LGQ0200_LGQ1_l0000=0??]_P;o0000Eoooool005Oo
+oooo00Co000001i2^`0N@[/07T:k2Ol00004029`g`03o`00002GYn40UjOQ0200UjOQ00?o00000;g5
+h@2maN40802maN400ol00000d__Q0=;kh@030=;kh@Wo0000103ckKh00ol0003oooooooooo`1Foooo
+o`00Eoooool4o`0000h08W3O00?o000009NWh@2GYn407`2GYn400ol00000_LGQ0;g5h@0O0;g5h@03
+o`00003Bnn40d__Q00d0d__Q1Ol0001Hooooo`00FOooool00ol000008W3O029`g`0>029`g`03o`00
+002GYn40UjOQ01h0UjOQ00?o00000;g5h@2maN407P2maN400ol00000d__Q0=;kh@0@0=;kh@03o`00
+0?oooooooooo05Sooooo001Jooooo`03o`00000RL=l08W3O00h08W3O00?o000009NWh@2GYn407@2G
+Yn400ol00000_LGQ0;g5h@0M0;g5h@03o`00003Bnn40d__Q0100d__Q00?o0000ooooooooool0FOoo
+ool005_ooooo0_l0000?029`g`03o`00002GYn40UjOQ01`0UjOQ00?o00000;g5h@2maN40702maN40
+0ol00000d__Q0=;kh@0?0=;kh@;o0000G?ooool005gooooo00?o0000029`g`0RL=l03@0RL=l00ol0
+0000UjOQ09NWh@0K09NWh@03o`00002maN40_LGQ01/0_LGQ00?o00000=;kh@3Bnn403`3Bnn400ol0
+003oooooooooo`1Looooo`00G_ooool2o`0000h08W3O00?o000009NWh@2GYn406P2GYn400ol00000
+_LGQ0;g5h@0J0;g5h@03o`00003Bnn40d__Q00h0d__Q0_l0001Oooooo`00H?ooool00ol000008W3O
+029`g`0<029`g`03o`00002GYn40UjOQ01T0UjOQ00?o00000;g5h@2maN406P2maN400ol00000d__Q
+0=;kh@0=0=;kh@03o`000?oooooooooo05oooooo001Qooooo`03o`00000RL=l08W3O00`08W3O00?o
+000009NWh@2GYn40602GYn400ol00000_LGQ0;g5h@0I0;g5h@03o`00003Bnn40d__Q00d0d__Q00?o
+0000ooooooooool0H?ooool006;ooooo0_l0000=029`g`03o`00002GYn40UjOQ01L0UjOQ00?o0000
+0;g5h@2maN40602maN400ol00000d__Q0=;kh@0<0=;kh@;o0000Hoooool006Cooooo00?o0000029`
+g`0RL=l02P0RL=l00ol00000UjOQ09NWh@0G09NWh@03o`00002maN40_LGQ01L0_LGQ00?o00000=;k
+h@3Bnn40303Bnn400ol0003oooooooooo`1Sooooo`00IOooool2o`0000/08W3O00?o000009NWh@2G
+Yn405P2GYn400ol00000_LGQ0;g5h@0F0;g5h@03o`00003Bnn40d__Q00/0d__Q0_l0001Vooooo`00
+Ioooool00ol000008W3O029`g`09029`g`03o`00002GYn40UjOQ01H0UjOQ00?o00000;g5h@2maN40
+502maN400ol00000d__Q0=;kh@0;0=;kh@03o`000?oooooooooo06Kooooo001Xooooo`03o`00000R
+L=l08W3O00T08W3O00?o000009NWh@2GYn405@2GYn400ol00000_LGQ0;g5h@0D0;g5h@03o`00003B
+nn40d__Q00X0d__Q00?o0000ooooooooool0Ioooool006Wooooo0_l0000:029`g`03o`00002GYn40
+UjOQ01@0UjOQ00?o00000;g5h@2maN404`2maN400ol00000d__Q0=;kh@090=;kh@;o0000J_ooool0
+06_ooooo00?o0000029`g`0RL=l0200RL=l00ol00000UjOQ09NWh@0C09NWh@03o`00002maN40_LGQ
+0180_LGQ00?o00000=;kh@3Bnn402@3Bnn400ol0003oooooooooo`1Zooooo`00K?ooool2o`0000T0
+8W3O00?o000009NWh@2GYn404P2GYn400ol00000_LGQ0;g5h@0A0;g5h@03o`00003Bnn40d__Q00P0
+d__Q0_l0001]ooooo`00K_ooool00ol000008W3O029`g`07029`g`03o`00002GYn40UjOQ0140UjOQ
+00?o00000;g5h@2maN40402maN400ol00000d__Q0=;kh@080=;kh@03o`000?oooooooooo06gooooo
+001_ooooo`03o`00000RL=l08W3O00L08W3O00?o000009NWh@2GYn40402GYn400ol00000_LGQ0;g5
+h@0?0;g5h@03o`00003Bnn40d__Q00P0d__Q00?o0000ooooooooool0K_ooool0073ooooo0_l00008
+029`g`03o`00002GYn40UjOQ00l0UjOQ00?o00000;g5h@2maN403P2maN400ol00000d__Q0=;kh@07
+0=;kh@;o0000LOooool007;ooooo00?o0000029`g`0RL=l01@0RL=l00ol00000UjOQ09NWh@0?09NW
+h@03o`00002maN40_LGQ00h0_LGQ00?o00000=;kh@3Bnn401P3Bnn400ol0003oooooooooo`1aoooo
+o`00Loooool2o`0000H08W3O00?o000009NWh@2GYn403P2GYn400ol00000_LGQ0;g5h@0=0;g5h@03
+o`00003Bnn40d__Q00D0d__Q0_l0001dooooo`00MOooool00ol000008W3O029`g`04029`g`03o`00
+002GYn40UjOQ00d0UjOQ00?o00000;g5h@2maN40302maN400ol00000d__Q0=;kh@050=;kh@03o`00
+0?oooooooooo07Cooooo001fooooo`03o`00000RL=l08W3O00@08W3O00?o000009NWh@2GYn40302G
+Yn400ol00000_LGQ0;g5h@0;0;g5h@03o`00003Bnn40d__Q00D0d__Q00?o0000ooooooooool0MOoo
+ool007Oooooo0_l00005029`g`03o`00002GYn40UjOQ00/0UjOQ00?o00000;g5h@2maN402P2maN40
+0ol00000d__Q0=;kh@040=;kh@;o0000N?ooool007Wooooo00?o0000029`g`0RL=l00`0RL=l00ol0
+0000UjOQ09NWh@0:09NWh@03o`00002maN40_LGQ00T0_LGQ00?o00000=;kh@3Bnn40103Bnn400ol0
+003oooooooooo`1hooooo`00N_ooool2o`0000@08W3O00?o000009NWh@2GYn402@2GYn400ol00000
+_LGQ0;g5h@080;g5h@03o`00003Bnn40d__Q00<0d__Q0_l0001kooooo`00O?ooool00ol000008W3O
+029`g`02029`g`03o`00002GYn40UjOQ00P0UjOQ00?o00000;g5h@2maN40202maN400ol00000d__Q
+0=;kh@020=;kh@03o`000?oooooooooo07_ooooo001mooooo`03o`00000RL=l08W3O00808W3O00?o
+000009NWh@2GYn401`2GYn400ol00000_LGQ0;g5h@070;g5h@03o`00003Bnn40d__Q0080d__Q00?o
+0000ooooooooool0O?ooool007kooooo0_l00003029`g`03o`00002GYn40UjOQ00H0UjOQ00?o0000
+0;g5h@2maN401P2maN401?l00000d__Q0=;kh@3Bnn42o`0007oooooo0020ooooo`04o`00000RL=l0
+8W3Oo`0000P0UjOQ00?o00000;g5h@2maN401@2maN401Ol00000d__Q0=;kh@3Bnn7o0000087ooooo
+0021ooooo`;o000000<08W3Oo`00002GYn401P2GYn400ol00000_LGQ0;g5h@040;g5h@03o`00003B
+nn40d__Q00;o0000P_ooool008?ooooo00?o0000029`gol000001P2GYn400ol00000_LGQ0;g5h@03
+0;g5h@04o`00003Bnn40d__Qo`0008Cooooo0024ooooo`03o`00000RL=oo000000D0UjOQ00?o0000
+0;g5h@2maN400`2maN400ol00000d__Qo`000025ooooo`00QOooool3o`0000@0UjOQ00?o00000;g5
+h@2maN400P2maN43o`0008Kooooo0027ooooo`;o00000`2GYn401?l00000_LGQ0;g5h@2maN42o`00
+08Sooooo0028ooooo`;o00000P2GYn400ol00000_LGQ0;g5h@02o`0008Wooooo002:ooooo`05o`00
+002GYn7o00000;g5hOl00000Roooool008_ooooo0ol0002<ooooo`00S?ooool00ol0003ooooooooo
+o`2;ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.53124 .45363 m .61766 .39786 L .69667 .54859 L closepath p .544 .501 .758 r
+F P
+0 g
+s
+.5 .27523 m .61766 .39786 L .53124 .45363 L closepath p .598 .618 .842 r
+F P
+0 g
+s
+.53784 .56992 m .53124 .45363 L .69667 .54859 L closepath p .606 .478 .68 r
+F P
+0 g
+s
+.37465 .56997 m .53784 .56992 L .53124 .45363 L closepath p .706 .555 .68 r
+F P
+0 g
+s
+.42372 .41472 m .37465 .56997 L .53124 .45363 L closepath p .758 .658 .751 r
+F P
+0 g
+s
+.42372 .41472 m .5 .27523 L .53124 .45363 L closepath p .712 .698 .834 r
+F P
+0 g
+s
+.37465 .56997 m .41768 .68394 L .53323 .67212 L closepath p .722 .358 .36 r
+F P
+0 g
+s
+.31871 .63494 m .41768 .68394 L .37465 .56997 L closepath p .856 .428 .203 r
+F P
+0 g
+s
+.53784 .56992 m .37465 .56997 L .53323 .67212 L closepath p .686 .42 .514 r
+F P
+0 g
+s
+.37465 .56997 m .42372 .41472 L .33052 .39916 L closepath p .878 .795 .764 r
+F P
+0 g
+s
+.29076 .51562 m .33052 .39916 L .37465 .56997 L closepath p .965 .824 .653 r
+F P
+0 g
+s
+.29076 .51562 m .31871 .63494 L .37465 .56997 L closepath p .959 .624 .316 r
+F P
+0 g
+s
+.53323 .67212 m .53784 .56992 L .69667 .54859 L closepath p .564 .318 .502 r
+F P
+0 g
+s
+.42372 .41472 m .33052 .39916 L .5 .27523 L closepath p .828 .857 .868 r
+F P
+0 g
+s
+.5 .27523 m .61766 .39786 L .67754 .36786 L closepath p .318 .516 .892 r
+F P
+0 g
+s
+.61766 .39786 m .69667 .54859 L .67754 .36786 L closepath p .253 .348 .768 r
+F P
+0 g
+s
+.69054 .61338 m .72166 .48345 L .69667 .54859 L closepath p 0 0 0 r
+F P
+0 g
+s
+.67754 .36786 m .72166 .48345 L .69667 .54859 L closepath p 0 0 .529 r
+F P
+0 g
+s
+.62724 .67334 m .69054 .61338 L .69667 .54859 L closepath p 0 0 0 r
+F P
+0 g
+s
+.62724 .67334 m .53323 .67212 L .69667 .54859 L closepath p .387 .066 .295 r
+F P
+0 g
+s
+.5 .75807 m .41768 .68394 L .53323 .67212 L closepath p .552 .057 .033 r
+F P
+0 g
+s
+.62724 .67334 m .5 .75807 L .53323 .67212 L closepath p .302 0 0 r
+F P
+0 g
+s
+.5 .27523 m .36864 .32105 L .33052 .39916 L closepath p .804 .981 .896 r
+F P
+0 g
+s
+.46059 .29588 m .36864 .32105 L .5 .27523 L closepath p 0 0 0 r
+F P
+0 g
+s
+.59003 .29883 m .5 .27523 L .67754 .36786 L closepath p 0 .41 .838 r
+F P
+0 g
+s
+.59003 .29883 m .46059 .29588 L .5 .27523 L closepath p .24 0 0 r
+F P
+0 g
+s
+.2618 .44114 m .36864 .32105 L .33052 .39916 L closepath p .783 .954 .626 r
+F P
+0 g
+s
+.29076 .51562 m .2618 .44114 L .33052 .39916 L closepath p .958 .903 .53 r
+F P
+0 g
+s
+.31871 .63494 m .41768 .68394 L .5 .75807 L closepath p .568 0 0 r
+F P
+0 g
+s
+.31871 .63494 m .29076 .51562 L .2618 .44114 L closepath p .77 .486 0 r
+F P
+0 g
+s
+.62724 .67334 m .5 .75807 L .69054 .61338 L closepath p .568 .912 .695 r
+F P
+0 g
+s
+.66737 .40657 m .72166 .48345 L .67754 .36786 L closepath p .804 .433 0 r
+F P
+0 g
+s
+.59003 .29883 m .66737 .40657 L .67754 .36786 L closepath p .702 .183 0 r
+F P
+0 g
+s
+.35658 .62451 m .5 .75807 L .31871 .63494 L closepath p 0 .363 .831 r
+F P
+0 g
+s
+.35658 .62451 m .2618 .44114 L .31871 .63494 L closepath p 0 .13 .672 r
+F P
+0 g
+s
+.36864 .32105 m .2618 .44114 L .46059 .29588 L closepath p .109 0 0 r
+F P
+0 g
+s
+.72166 .48345 m .69054 .61338 L .66737 .40657 L closepath p .992 .865 .523 r
+F P
+0 g
+s
+.59003 .29883 m .46059 .29588 L .66737 .40657 L closepath p .672 .204 .133 r
+F P
+0 g
+s
+.66737 .40657 m .59857 .6102 L .69054 .61338 L closepath p .927 .87 .762 r
+F P
+0 g
+s
+.5 .75807 m .59857 .6102 L .69054 .61338 L closepath p .834 .95 .894 r
+F P
+0 g
+s
+.45738 .56325 m .59857 .6102 L .5 .75807 L closepath p .706 .738 .876 r
+F P
+0 g
+s
+.35658 .62451 m .45738 .56325 L .5 .75807 L closepath p .538 .623 .884 r
+F P
+0 g
+s
+.46059 .29588 m .44949 .40666 L .2618 .44114 L closepath p .48 .188 .391 r
+F P
+0 g
+s
+.66737 .40657 m .44949 .40666 L .46059 .29588 L closepath p .664 .344 .421 r
+F P
+0 g
+s
+.45738 .56325 m .44949 .40666 L .2618 .44114 L closepath p .565 .438 .666 r
+F P
+0 g
+s
+.35658 .62451 m .45738 .56325 L .2618 .44114 L closepath p .467 .461 .768 r
+F P
+0 g
+s
+.59857 .6102 m .66737 .40657 L .45738 .56325 L closepath p .775 .686 .766 r
+F P
+0 g
+s
+.66737 .40657 m .44949 .40666 L .45738 .56325 L closepath p .706 .547 .67 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00Roooool4o`0008_ooooo0028ooooo`?o0000100m
+0004o`0008Oooooo0025ooooo`Co00002P0m0004o`0008?ooooo0022ooooo`?o000000<00000o`00
+000m00003`0m0005o`0007kooooo001oooooo`?o00000P000002o`0001H0?@001?l0001jooooo`00
+O?ooool3o`0000<000000_l0000L03d000Co0000M_ooool007Wooooo0ol00003000002So0000Looo
+ool007Oooooo0_l00002000000Go000000<0NS1To`00002YF6/00_l0000P0:`d8P03o`00002c;P3o
+000007;ooooo001dooooo`?o000000@00000o`000?l0003o00000P0K0002o`000080NS1T00Co0000
+0:UHJ`2YF6/0ZEQ[0_l0000O0:`d8P03o`00002c;P3o0000077ooooo001aooooo`Oo0000100K0000
+0ol00000NS1T07X`I00207X`I003o`00002YF6/0ZEQ[00<0ZEQ[0_l0000N0:`d8P03o`00002c;P3o
+0000073ooooo001^ooooo`Ko00001`0K00000ol00000NS1T07X`I00307X`I003o`00002YF6/0ZEQ[
+00D0ZEQ[00?o00000:`d8P2/=2806`2/=2800ol00000/bh00;<^0002o`0006kooooo001[ooooo`Go
+00002@0K0002o`0000H0NS1T00?o00000:UHJ`2YF6/01P2YF6/2o`0001`0[3@R00Go00000;<^002c
+;P00/bh0o`00001]ooooo`00J?ooool5o`0000/06`0000?o000007X`I01j<6@01@1j<6@00ol00000
+ZEQ[0:UHJ`090:UHJ`;o00006`2/=2801Ol00000/bh00;<^002c;P3o000006cooooo001Wooooo`;o
+00003@0K0002o`0000P0NS1T00?o00000:UHJ`2YF6/02`2YF6/2o`0001X0[3@R00Go00000;<^002c
+;P00/bh0o`00001[ooooo`00Ioooool00ol000006`0001/0000;01/00003o`00001j<6@0NS1T00P0
+NS1T00?o00000:UHJ`2YF6/03@2YF6/2o`0001P0[3@R00?o00000;<^002c;P000P2c;P02o`0006Wo
+oooo001Vooooo`03o`00000K00006`0000/06`0000?o000007X`I01j<6@02@1j<6@00ol00000ZEQ[
+0:UHJ`0?0:UHJ`;o00005`2/=2800ol00000/bh00;<^00030;<^0003o`000?oooooooooo06Kooooo
+001Uooooo`03o`00000K00006`0000X06`000_l0000<07X`I003o`00002YF6/0ZEQ[0140ZEQ[0_l0
+000F0:`d8P03o`00002c;P00/bh000<0/bh000?o0000ooooooooool0IOooool006Cooooo00?o0000
+01/0000K00002P0K00000ol00000NS1T07X`I00<07X`I003o`00002YF6/0ZEQ[01<0ZEQ[0_l0000D
+0:`d8P03o`00002c;P00/bh000@0/bh000?o0000ooooooooool0I?ooool006?ooooo00?o000001/0
+000K00002@0K0002o`0000l0NS1T00?o00000:UHJ`2YF6/05@2YF6/00ol00000[3@R0:`d8P0B0:`d
+8P03o`00002c;P00/bh000@0/bh00_l0001Tooooo`00H_ooool00ol000006`0001/0000901/00003
+o`00001j<6@0NS1T00l0NS1T00?o00000:UHJ`2YF6/05P2YF6/2o`0001<0[3@R00?o00000;<^002c
+;P001@2c;P000ol0003oooooooooo`1Qooooo`00HOooool00ol000006`0001/0000901/00003o`00
+001j<6@0NS1T0100NS1T00?o00000:UHJ`2YF6/0602YF6/2o`000180[3@R00?o00000;<^002c;P00
+1@2c;P000ol0003oooooooooo`1Pooooo`00H?ooool00ol000006`0001/0000801/000;o00004`1j
+<6@00ol00000ZEQ[0:UHJ`0J0:UHJ`;o0000402/=2800ol00000/bh00;<^00060;<^0003o`000?oo
+oooooooo05oooooo001Oooooo`03o`00000K00006`0000P06`0000?o000007X`I01j<6@04P1j<6@0
+0ol00000ZEQ[0:UHJ`0M0:UHJ`;o00003`2/=2800ol00000/bh00;<^00060;<^00;o0000Goooool0
+05kooooo00?o000001/0000K00001`0K0002o`0001D0NS1T00?o00000:UHJ`2YF6/07`2YF6/2o`00
+00h0[3@R00?o00000;<^002c;P001`2c;P000ol0003oooooooooo`1Looooo`00GOooool00ol00000
+6`0001/0000701/00003o`00001j<6@0NS1T01D0NS1T00?o00000:UHJ`2YF6/08@2YF6/2o`0000`0
+[3@R00?o00000;<^002c;P00202c;P000ol0003oooooooooo`1Kooooo`00GOooool00ol000006`00
+01/0000601/00003o`00001j<6@0NS1T01H0NS1T00?o00000:UHJ`2YF6/08`2YF6/00ol00000[3@R
+0:`d8P0:0:`d8P03o`00002c;P00/bh000P0/bh000?o0000ooooooooool0F_ooool005cooooo00?o
+000001/0000K00001@0K0002o`0001T0NS1T00?o00000:UHJ`2YF6/0902YF6/2o`0000/0[3@R00?o
+00000;<^002c;P00202c;P000ol0003oooooooooo`1Iooooo`00Foooool00ol000006`0001/00005
+01/00003o`00001j<6@0NS1T01T0NS1T00?o00000:UHJ`2YF6/09P2YF6/2o`0000X0[3@R00?o0000
+0;<^002c;P001`2c;P000ol0003oooooooooo`1Iooooo`00F_ooool00ol000006`0001/0000401/0
+00;o0000701j<6@00ol00000ZEQ[0:UHJ`0X0:UHJ`;o0000202/=2800ol00000/bh00;<^00070;<^
+00;o0000F_ooool005Wooooo00?o000001/0000K0000100K00000ol00000NS1T07X`I00L07X`I003
+o`00002YF6/0ZEQ[02X0ZEQ[0_l000070:`d8P03o`00002c;P00/bh000D0/bh000?o00000<e^0?l0
+0000F_ooool005Sooooo00?o000001/0000K0000100K00000ol00000NS1T07X`I00M07X`I003o`00
+002YF6/0ZEQ[02`0ZEQ[0_l000060:`d8P03o`00002c;P00/bh000@0/bh000?o00000<e^0?l00000
+F_ooool005Oooooo00?o000001/0000K00000`0K0002o`000200NS1T00?o00000:UHJ`2YF6/0;P2Y
+F6/2o`0000@0[3@R00?o00000;<^002c;P00102c;P001?l00000cFh00<e^0?l0001Iooooo`00E_oo
+ool00ol000006`0001/0000301/00003o`00001j<6@0NS1T0200NS1T00?o00000:UHJ`2YF6/0<02Y
+F6/2o`0000<0[3@R00?o00000;<^002c;P000P2c;P001Ol00000cFh00<e^003=KP3o000005Wooooo
+001Eooooo`03o`00000K00006`0000806`000_l0000R07X`I003o`00002YF6/0ZEQ[03<0ZEQ[00Go
+00000:`d8P2/=280[3@Ro`0000030;<^0005o`00003=KP00cFh00<e^0?l00000FOooool005Cooooo
+00?o000001/0000K00000P0K00000ol00000NS1T07X`I00R07X`I003o`00002YF6/0ZEQ[03@0ZEQ[
+0_l000020:`d8P04o`00002c;P00/bh0o`0000@0cFh000?o0000ooooooooool0E_ooool005?ooooo
+00?o000001/0000K00000P0K00000ol00000NS1T07X`I00S07X`I003o`00002YF6/0ZEQ[03H0ZEQ[
+0ol000020;<^0003o`00003=KP00cFh00080cFh000?o0000ooooooooool0E_ooool005?ooooo00?o
+000001/0000K00000_l0000V07X`I003o`00002YF6/0ZEQ[03P0ZEQ[0ol000060<e^0003o`000?oo
+oooooooo05Gooooo001Booooo`04o`00000K00006`00o`0002D0NS1T@Ol000060<e^0003o`000?oo
+oooooooo05Gooooo001Aooooo`04o`00000K003o0000o`000200NS1T1_l00003091`ZP03o`00002d
+S:/0]8b[03P0]8b[00?o00000<J_a?l000001P3=KP000ol0003oooooooooo`1Eooooo`00D?ooool0
+0ol000006`00o`00000L07X`I0Ko00002@2@L:X00ol00000]8b[0;B<Z`0g0;B<Z`03o`000036[lCo
+000000;o00001P3=KP000ol0003oooooooooo`1Dooooo`00Coooool00ol000006`00o`00000G07X`
+I0Ko00003`2@L:X00ol00000]8b[0;B<Z`0e0;B<Z`;o00000P36[l@2o`0000030?gMQOl00000cFh0
+00@0cFh000?o0000ooooooooool0E?ooool004kooooo0ol0000B07X`I0Ko00005@2@L:X00ol00000
+]8b[0;B<Z`0d0;B<Z`03o`000036[l@0aZo40080aZo40_l000020?gMQ@03o`00003=KP00cFh00080
+cFh000?o0000ooooooooool0E?ooool004gooooo0_l0000?07X`I0Go00006`2@L:X00ol00000]8b[
+0;B<Z`0c0;B<Z`03o`000036[l@0aZo40080aZo400Ko00000>gN``3]g/?o00000?gMQOl000050<e^
+0003o`000?oooooooooo05?ooooo001<ooooo`;o00002P1j<6@6o`000200T72Z00?o00000;B<Z`2d
+S:/0<@2dS:/2o`0000D0aZo400Co00000>gN``3]g/?o00000P3mgHD00ol00000cFh00<e^00020<e^
+0003o`000?oooooooooo05?ooooo001;ooooo`03o`00001j<6@0NS1T00@0NS1T1_l0000V091`ZP03
+o`00002dS:/0]8b[0300]8b[00?o00000<J_a036[l@01@36[l@01?l00000kMk30>gN`ol000030?gM
+Q@03o`00003=KP00cFh00080cFh000?o0000ooooooooool0D_ooool004[ooooo00?o000007X`I?l0
+00001Ol0000/091`ZP03o`00002dS:/0]8b[02l0]8b[00?o00000<J_a036[l@01@36[l@01Ol00000
+kMk30>gN``3]g/?o000000<0oMf500?o00000<e^003=KP000P3=KP000ol0003oooooooooo`1Boooo
+o`00BOooool3o`000380T72Z00?o00000;B<Z`2dS:/0;@2dS:/2o`0000P0aZo400Go00000>gN``3]
+g/<0kMk3o`0000040?gMQ@05o`00003=KP00cFh00<e^0?l00000E?ooool004Wooooo00?o000007Mf
+a?l00000<P2@L:X00ol00000]8b[0;B<Z`0/0;B<Z`03o`000036[l@0aZo400P0aZo400Go00000>gN
+``3]g/<0kMk3o`0000050?gMQ@05o`00003=KP00cFh00<e^0?l00000Doooool004Wooooo0_l00000
+0`1gM/Co0000o`00000`091`ZP03o`00002dS:/0]8b[02/0]8b[00?o00000<J_a036[l@02036[l@0
+0ol00000kMk30>gN``020>gN``03o`00003mgHD0oMf500@0oMf500Co00000<e^003=KP3o0000Dooo
+ool004[ooooo00Co000007Mfa01gM/@0MgK40_l0000_091`ZP03o`00002dS:/0]8b[02P0]8b[0_l0
+000;0<J_a003o`00003]g/<0kMk30080kMk300?o00000?gMQ@3mgHD0103mgHD01?l00000cFh00<e^
+0?l0001Cooooo`00B_ooool2o`0000@0MgK400?o0000091`ZP2@L:X0;02@L:X00ol00000]8b[0;B<
+Z`0W0;B<Z`03o`000036[l@0aZo400/0aZo400?o00000>gN``3]g/<00`3]g/<00ol00000oMf50?gM
+Q@040?gMQ@04o`00003=KP00cFh0o`0005;ooooo001:ooooo`;o00001@1gM/@2o`0002`0T72Z00?o
+00000;B<Z`2dS:/09P2dS:/00ol00000aZo40<J_a00;0<J_a003o`00003]g/<0kMk300@0kMk300?o
+00000?gMQ@3mgHD01@3mgHD00ol00000cFh0o`00001Booooo`00Boooool2o`0000H0MgK400?o0000
+091`ZP2@L:X0:@2@L:X00ol00000]8b[0;B<Z`0T0;B<Z`;o00003P36[l@00ol00000kMk30>gN``04
+0>gN``03o`00003mgHD0oMf500D0oMf500Co00000<e^003=KP3o0000DOooool004_ooooo0_l00007
+07Mfa0;o0000:@2@L:X00ol00000]8b[0;B<Z`0S0;B<Z`03o`000036[l@0aZo400h0aZo400?o0000
+0>gN``3]g/<0103]g/<00ol00000oMf50?gMQ@060?gMQ@03o`00003=KP3o0000057ooooo001;oooo
+o`03o`0000008Jco000000P0MgK400?o0000091`ZP2@L:X09P2@L:X00ol00000]8b[0;B<Z`0R0;B<
+Z`03o`000036[l@0aZo400h0aZo400?o00000>gN``3]g/<01@3]g/<00ol00000oMf50?gMQ@070?gM
+Q@;o0000DOooool004_ooooo00?o0000000Q[?l000002@1gM/@2o`0002H0T72Z00?o00000;B<Z`2d
+S:/0802dS:/2o`000140aZo400?o00000>gN``3]g/<01@3]g/<00ol00000oMf50?gMQ@080?gMQ@;o
+0000D?ooool004cooooo00?o0000000Q[?l000002P1gM/@2o`0002@0T72Z00?o00000;B<Z`2dS:/0
+7`2dS:/00ol00000aZo40<J_a00A0<J_a003o`00003]g/<0kMk300D0kMk300?o00000?gMQ@3mgHD0
+203mgHD2o`00053ooooo001<ooooo`03o`0000008Jco000000`0MgK400?o0000091`ZP2@L:X08@2@
+L:X00ol00000]8b[0;B<Z`0N0;B<Z`03o`000036[l@0aZo40140aZo400?o00000>gN``3]g/<01P3]
+g/<00ol00000oMf50?gMQ@090?gMQ@03o`000?oooooooooo04kooooo001<ooooo`04o`0000008J`0
+026/o`0000`0MgK40_l0000Q091`ZP03o`00002dS:/0]8b[01`0]8b[0_l0000D0<J_a003o`00003]
+g/<0kMk300H0kMk300?o00000?gMQ@3mgHD02P3mgHD00ol0003oooooooooo`1=ooooo`00COooool0
+0ol00000026/o`00000>07Mfa003o`00002@L:X0T72Z01h0T72Z00?o00000;B<Z`2dS:/06`2dS:/0
+0ol00000aZo40<J_a00D0<J_a003o`00003]g/<0kMk300L0kMk300?o00000?gMQ@3mgHD02@3mgHD0
+0ol0003oooooooooo`1=ooooo`00COooool01?l00000026/000Q[?l0000>07Mfa0;o00007P2@L:X0
+0ol00000]8b[0;B<Z`0I0;B<Z`;o00005P36[l@00ol00000kMk30>gN``080>gN``03o`00003mgHD0
+oMf500T0oMf500?o0000ooooooooool0COooool004gooooo00Go0000000Q[0008J`0026/o`00000?
+07Mfa003o`00002@L:X0T72Z01/0T72Z00?o00000;B<Z`2dS:/0602dS:/00ol00000aZo40<J_a00F
+0<J_a003o`00003]g/<0kMk300P0kMk300?o00000?gMQ@3mgHD0203mgHD00ol0003oooooooooo`1>
+ooooo`00C_ooool01?l00000026/000Q[?l0000@07Mfa0;o00006`2@L:X00ol00000]8b[0;B<Z`0G
+0;B<Z`03o`000036[l@0aZo401L0aZo400?o00000>gN``3]g/<0203]g/<00ol00000oMf50?gMQ@08
+0?gMQ@03o`000?oooooooooo04kooooo001>ooooo`05o`0000008J`0026/000Q[?l000004@1gM/@2
+o`0001T0T72Z00?o00000;B<Z`2dS:/05@2dS:/2o`0001T0aZo400?o00000>gN``3]g/<02@3]g/<0
+0ol00000oMf50?gMQ@080?gMQ@03o`000?oooooooooo04kooooo001>ooooo`05o`0000008J`0026/
+000Q[?l000004`1gM/@00ol00000T72Z091`ZP0F091`ZP03o`00002dS:/0]8b[01@0]8b[00?o0000
+0<J_a036[l@06@36[l@00ol00000kMk30>gN``090>gN``03o`00003mgHD0oMf500P0oMf500?o0000
+ooooooooool0C_ooool004kooooo00?o0000000Q[0008J`00P008J`00ol00000MgK407Mfa00A07Mf
+a0;o00005P2@L:X00ol00000]8b[0;B<Z`0C0;B<Z`03o`000036[l@0aZo401X0aZo400?o00000>gN
+``3]g/<02@3]g/<00ol00000oMf50?gMQ@080?gMQ@03o`000?oooooooooo04kooooo001?ooooo`05
+o`0000008J`0026/000Q[?l000005@1gM/@00ol00000T72Z091`ZP0C091`ZP03o`00002dS:/0]8b[
+0140]8b[0_l0000L0<J_a003o`00003]g/<0kMk300X0kMk300?o00000?gMQ@3mgHD01`3mgHD00ol0
+003oooooooooo`1?ooooo`00Coooool00ol00000026/000Q[002000Q[003o`00001gM/@0MgK401<0
+MgK40_l0000C091`ZP03o`00002dS:/0]8b[0100]8b[00?o00000<J_a036[l@07036[l@00ol00000
+kMk30>gN``0;0>gN``03o`00003mgHD0oMf500H0oMf500?o0000ooooooooool0Coooool004oooooo
+00?o0000000Q[0008J`00P008J`00ol00000MgK407Mfa00E07Mfa003o`00002@L:X0T72Z0100T72Z
+00?o00000;B<Z`2dS:/03`2dS:/00ol00000aZo40<J_a00M0<J_a003o`00003]g/<0kMk300/0kMk3
+00?o00000?gMQ@3mgHD01P3mgHD00ol0003oooooooooo`1?ooooo`00D?ooool00ol00000026/000Q
+[002000Q[003o`00001gM/@0MgK401D0MgK40_l0000@091`ZP03o`00002dS:/0]8b[00d0]8b[0_l0
+000O0<J_a003o`00003]g/<0kMk300`0kMk300?o00000?gMQ@3mgHD01P3mgHD00ol0003ooooooooo
+o`1?ooooo`00D?ooool00ol00000026/000Q[002000Q[003o`00001gM/@0MgK401L0MgK40_l0000>
+091`ZP03o`00002dS:/0]8b[00`0]8b[00?o00000<J_a036[l@07`36[l@00ol00000kMk30>gN``0<
+0>gN``03o`00003mgHD0oMf500H0oMf500?o0000ooooooooool0Coooool0053ooooo00?o0000000Q
+[0008J`00`008J`00ol00000MgK407Mfa00H07Mfa003o`00002@L:X0T72Z00`0T72Z00?o00000;B<
+Z`2dS:/02P2dS:/00ol00000aZo40<J_a00P0<J_a003o`00003]g/<0kMk300`0kMk300?o00000?gM
+Q@3mgHD01@3mgHD00ol0003oooooooooo`1@ooooo`00D?ooool00ol00000026/000Q[003000Q[003
+o`00001gM/@0MgK401T0MgK40_l0000<091`ZP03o`00002dS:/0]8b[00P0]8b[0_l0000R0<J_a003
+o`00003]g/<0kMk300d0kMk300?o00000?gMQ@3mgHD01@3mgHD00ol0003oooooooooo`1@ooooo`00
+DOooool00ol00000026/000Q[003000Q[003o`00001gM/@0MgK401X0MgK400?o0000091`ZP2@L:X0
+2@2@L:X00ol00000]8b[0;B<Z`070;B<Z`03o`000036[l@0aZo40280aZo400?o00000>gN``3]g/<0
+3@3]g/<00ol00000oMf50?gMQ@050?gMQ@03o`000?oooooooooo053ooooo001Aooooo`03o`000000
+8J`0026/00<0026/00?o000007Mfa01gM/@06`1gM/@2o`0000T0T72Z00?o00000;B<Z`2dS:/01P2d
+S:/00ol00000aZo40<J_a00S0<J_a003o`00003]g/<0kMk300d0kMk300?o00000?gMQ@3mgHD01@3m
+gHD00ol0003oooooooooo`1@ooooo`00DOooool00ol00000026/000Q[004000Q[003o`00001gM/@0
+MgK401`0MgK400?o0000091`ZP2@L:X01P2@L:X00ol00000]8b[0;B<Z`040;B<Z`;o00009@36[l@0
+0ol00000kMk30>gN``0?0>gN``03o`00003mgHD0oMf500<0oMf500?o0000ooooooooool0DOooool0
+05;ooooo00?o0000000Q[0008J`00`008J`00ol00000MgK407Mfa00M07Mfa0;o00001P2@L:X00ol0
+0000]8b[0;B<Z`030;B<Z`03o`000036[l@0aZo402D0aZo400?o00000>gN``3]g/<03`3]g/<00ol0
+0000oMf50?gMQ@030?gMQ@03o`000?oooooooooo057ooooo001Booooo`03o`0000008J`0026/00@0
+026/00?o000007Mfa01gM/@07P1gM/@2o`0000@0T72Z00?o00000;B<Z`2dS:/00P2dS:/00ol00000
+aZo40<J_a00V0<J_a003o`00003]g/<0kMk300l0kMk300?o00000?gMQ@3mgHD00`3mgHD00ol0003o
+ooooooooo`1Aooooo`00D_ooool00ol00000026/000Q[004000Q[003o`00001gM/@0MgK40200MgK4
+00Go0000091`ZP2@L:X0T72Zo`0000020;B<Z`;o0000:036[l@00ol00000kMk30>gN``0@0>gN``03
+o`00003mgHD0oMf500<0oMf500?o0000ooooooooool0DOooool005;ooooo00?o0000000Q[0008J`0
+1@008J`00ol00000MgK407Mfa00P07Mfa0;o000000@0T72Zo`00002dS:_o0000:P36[l@00ol00000
+kMk30>gN``0@0>gN``03o`00003mgHD0oMf500<0oMf500?o0000ooooooooool0DOooool005?ooooo
+00?o0000000Q[0008J`010008J`00ol00000MgK407Mfa00R07Mfa0?o0000:`36[l@00ol00000kMk3
+0>gN``0@0>gN``03o`00003mgHD0oMf50080oMf500?o0000ooooooooool0D_ooool005?ooooo00?o
+0000000Q[0008J`01@008J`00ol00000MgK407Mfa00Q07Mfa0Co0000:@36[l@00ol00000kMk30>gN
+``0A0>gN``03o`00003mgHD0oMf50080oMf500?o0000ooooooooool0D_ooool005?ooooo00?o0000
+000Q[0008J`01@008J`00ol00000MgK407Mfa00P07Mfa003o`000029Wn;o00000080];cP0ol0000V
+0<J_a003o`00003]g/<0kMk30140kMk300?o00000?gMQ@3mgHD00P3mgHD00ol0003oooooooooo`1B
+ooooo`00E?ooool00ol00000026/000Q[005000Q[003o`00001gM/@0MgK401d0MgK40_l0000208VO
+hP03o`00002d_>00];cP00<0];cP0ol0000S0<J_a003o`00003]g/<0kMk30140kMk300?o00000?gM
+Q@3mgHD00P3mgHD00ol0003oooooooooo`1Booooo`00E?ooool00ol00000026/000Q[005000Q[003
+o`00001gM/@0MgK401/0MgK40_l0000508VOhP03o`00002d_>00];cP00D0];cP0ol0000O0<J_a003
+o`00003]g/<0kMk301<0kMk300Co00000?gMQ@3mgHGo0000EOooool005Cooooo00?o0000000Q[000
+8J`01P008J`00ol00000MgK407Mfa00I07Mfa003o`000029Wn80RIoR00D0RIoR00?o00000;Blh02d
+_>00202d_>03o`0001`0aZo400?o00000>gN``3]g/<04`3]g/<01?l00000oMf50?gMQOl0001Eoooo
+o`00E?ooool00ol00000026/000Q[007000Q[003o`00001gM/@0MgK401H0MgK40_l0000808VOhP03
+o`00002d_>00];cP00/0];cP0ol0000I0<J_a003o`00003]g/<0kMk301<0kMk300Co00000?gMQ@3m
+gHGo0000EOooool005Gooooo00?o0000000Q[0008J`01P008J`00ol00000MgK407Mfa00D07Mfa0;o
+00002P29Wn800ol00000];cP0;Blh00>0;Blh0?o00005@36[l@00ol00000kMk30>gN``0D0>gN``04
+o`00003mgHD0oMf5o`0005Gooooo001Eooooo`03o`0000008J`0026/00L0026/00?o000007Mfa01g
+M/@04P1gM/@00ol00000RIoR08VOhP0:08VOhP03o`00002d_>00];cP0140];cP0ol0000B0<J_a003
+o`00003]g/<0kMk301@0kMk300Co00000?gMQ@3mgHGo0000EOooool005Gooooo00?o0000000Q[000
+8J`01`008J`00ol00000MgK407Mfa00@07Mfa0;o00003P29Wn800ol00000];cP0;Blh00C0;Blh0?o
+00003`36[l@00ol00000kMk30>gN``0D0>gN``03o`00003mgHGo000005Kooooo001Fooooo`03o`00
+00008J`0026/00L0026/00?o000007Mfa01gM/@03@1gM/@2o`000100RIoR00?o00000;Blh02d_>00
+5P2d_>03o`0000/0aZo400?o00000>gN``3]g/<05@3]g/<00ol00000oMf5o`00001Fooooo`00E_oo
+ool00ol00000026/000Q[007000Q[003o`00001gM/@0MgK400`0MgK400?o000008VOhP29Wn804029
+Wn800ol00000];cP0;Blh00I0;Blh0?o00002036[l@00ol00000kMk30>gN``0E0>gN``03o`00003m
+gHGo000005Kooooo001Fooooo`03o`0000008J`0026/00P0026/00?o000007Mfa01gM/@02@1gM/@2
+o`0001<0RIoR00?o00000;Blh02d_>00702d_>03o`0000D0aZo400?o00000>gN``3]g/<05P3]g/<2
+o`0005Kooooo001Gooooo`03o`0000008J`0026/00L0026/00?o000007Mfa01gM/@01`1gM/@2o`00
+01H0RIoR00?o00000;Blh02d_>007P2d_>03o`0000030<J_a?l00000kMk301P0kMk30_l0001Foooo
+o`00Eoooool00ol00000026/000Q[008000Q[003o`00001gM/@0MgK400D0MgK400?o000008VOhP29
+Wn805P29Wn800ol00000];cP0;Blh00Q0;Blh0oo0000303]g/<00ol0003oooooooooo`1Eooooo`00
+Eoooool00ol00000026/000Q[008000Q[003o`00001gM/@0MgK400<0MgK40_l0000I08VOhP03o`00
+002d_>00];cP0280];cP00?o00000=Gci03Eln@02`3Eln@=o`0005Oooooo001Gooooo`03o`000000
+8J`0026/00T0026/00?o000007Mfa01gM/@00_l0000K08VOhP03o`00002d_>00];cP0240];cP00?o
+00000=Gci03Eln@05P3Eln@00ol0003oooooooooo`1Gooooo`00F?ooool00ol00000026/000Q[008
+000Q[003o`00001gM/Co000001d0RIoR00?o00000;Blh02d_>00802d_>000ol00000eO?T0=Gci00F
+0=Gci003o`000?oooooooooo05Sooooo001Hooooo`03o`0000008J`0026/00L0026/1?l0000N08VO
+hP03o`00002d_>00];cP01l0];cP00?o00000=Gci03Eln@0503Eln@2o`0005_ooooo001Hooooo`03
+o`0000008J`0026/00<0026/1?l00004001Le003o`000029Wn80RIoR01/0RIoR00?o00000;Blh02d
+_>007P2d_>000ol00000eO?T0=Gci00D0=Gci0;o0000G?ooool005Wooooo00?o0000000Q[?l00000
+0_l00009001Le003o`000029Wn80RIoR01X0RIoR00?o00000;Blh02d_>007@2d_>000ol00000eO?T
+0=Gci00D0=Gci0;o0000GOooool005Wooooo0_l0000=001Le003o`000029Wn80RIoR01T0RIoR00?o
+00000;Blh02d_>007@2d_>000ol00000eO?T0=Gci00B0=Gci0?o0000G_ooool005_ooooo00?o0000
+001Le000G=@02`00G=@00ol00000RIoR08VOhP0H08VOhP03o`00002d_>00];cP01`0];cP00?o0000
+0=Gci03Eln@04P3Eln@00ol00000TNVao`00001Oooooo`00G?ooool2o`0000`005cD00?o000008VO
+hP29Wn806029Wn800ol00000];cP0;Blh00J0;Blh003o`00003Eln@0eO?T0180eO?T00?o0000097Y
+/Ol00000H?ooool005kooooo00?o0000001Le000G=@02P00G=@00ol00000RIoR08VOhP0G08VOhP03
+o`00002d_>00];cP01X0];cP00?o00000=Gci03Eln@0403Eln@2o`000003097Y/Ol0003ooooo063o
+oooo001Oooooo`;o00002`00G=@00ol00000RIoR08VOhP0F08VOhP03o`00002d_>00];cP01T0];cP
+00?o00000=Gci03Eln@0403Eln@01?l00000TNVa097Y/Ol0001Rooooo`00HOooool00ol0000005cD
+001Le009001Le003o`000029Wn80RIoR01D0RIoR00?o00000;Blh02d_>00602d_>000ol00000eO?T
+0=Gci00@0=Gci004o`00002AjK40TNVao`0006?ooooo001Rooooo`03o`000000G=@005cD00T005cD
+00?o000008VOhP29Wn805@29Wn800ol00000];cP0;Blh00G0;Blh003o`00003Eln@0eO?T00l0eO?T
+00Co0000097Y/@2AjK7o0000I?ooool006?ooooo0_l0000:001Le003o`000029Wn80RIoR01@0RIoR
+00?o00000;Blh02d_>005P2d_>000ol00000eO?T0=Gci00>0=Gci0;o00000P2AjK400ol0003ooooo
+ooooo`1Sooooo`00IOooool00ol0000005cD001Le008001Le003o`000029Wn80RIoR01<0RIoR00?o
+00000;Blh02d_>005@2d_>000ol00000eO?T0=Gci00>0=Gci005o`00002AjK40TNVa097Y/Ol00000
+I_ooool006Kooooo0_l00009001Le003o`000029Wn80RIoR0180RIoR00?o00000;Blh02d_>005@2d
+_>000ol00000eO?T0=Gci00=0=Gci005o`00002AjK40TNVa097Y/Ol00000Ioooool006Sooooo00?o
+0000001Le000G=@01`00G=@00ol00000RIoR08VOhP0A08VOhP03o`00002d_>00];cP01@0];cP00?o
+00000=Gci03Eln@0303Eln@2o`0000<0TNVa00?o0000ooooooooool0I_ooool006Wooooo0_l00008
+001Le003o`000029Wn80RIoR0140RIoR00?o00000;Blh02d_>004P2d_>000ol00000eO?T0=Gci00<
+0=Gci004o`00002AjK40TNVa097Y/@;o0000JOooool006_ooooo00?o0000001Le000G=@01P00G=@0
+0ol00000RIoR08VOhP0@08VOhP03o`00002d_>00];cP0180];cP00?o00000=Gci03Eln@02`3Eln@0
+1Ol00000TNVa097Y/@2AjK7o000006_ooooo001/ooooo`;o00001`00G=@00ol00000RIoR08VOhP0?
+08VOhP03o`00002d_>00];cP0140];cP00?o00000=Gci03Eln@02P3Eln@2o`000080TNVa0_l0001/
+ooooo`00K_ooool00ol0000005cD001Le005001Le003o`000029Wn80RIoR00h0RIoR00?o00000;Bl
+h02d_>00402d_>000ol00000eO?T0=Gci00:0=Gci005o`00002AjK40TNVa097Y/Ol00000K_ooool0
+06oooooo0_l00006001Le003o`000029Wn80RIoR00h0RIoR00?o00000;Blh02d_>003`2d_>000ol0
+0000eO?T0=Gci0090=Gci003o`00002AjK40TNVa00;o0000Koooool0077ooooo00?o0000001Le000
+G=@01000G=@2o`0000h0RIoR00?o00000;Blh02d_>003P2d_>000ol00000eO?T0=Gci0080=Gci0;o
+00000P2AjK400ol0003oooooooooo`1_ooooo`00L_ooool2o`0000H005cD00?o000008VOhP29Wn80
+2`29Wn800ol00000];cP0;Blh00=0;Blh003o`00003Eln@0eO?T00P0eO?T00?o0000097Y/@2AjK40
+0_l0001booooo`00M?ooool00ol0000005cD001Le004001Le003o`000029Wn80RIoR00X0RIoR00?o
+00000;Blh02d_>003@2d_>000ol00000eO?T0=Gci0070=Gci004o`00002AjK40TNVao`0007Cooooo
+001eooooo`03o`000000G=@005cD00@005cD00?o000008VOhP29Wn802@29Wn800ol00000];cP0;Bl
+h00<0;Blh003o`00003Eln@0eO?T00H0eO?T0_l000000`2AjK7o0000o`00001eooooo`00M_ooool2
+o`0000D005cD00?o000008VOhP29Wn802@29Wn800ol00000];cP0;Blh00:0;Blh003o`00003Eln@0
+eO?T00H0eO?T00Co0000097Y/@2AjK7o0000Moooool007Sooooo00?o0000001Le000G=@00`00G=@0
+0ol00000RIoR08VOhP0808VOhP03o`00002d_>00];cP00X0];cP00?o00000=Gci03Eln@01@3Eln@0
+1?l00000TNVao`000?l0001hooooo`00NOooool2o`0000@005cD00?o000008VOhP29Wn801`29Wn80
+0ol00000];cP0;Blh0090;Blh003o`00003Eln@0eO?T00@0eO?T0_l000000`2AjK7o0000ooooo`1i
+ooooo`00Noooool00ol0000005cD001Le002001Le003o`000029Wn80RIoR00H0RIoR00?o00000;Bl
+h02d_>00202d_>000ol00000eO?T0=Gci0040=Gci004o`00002AjK7o0000o`0007_ooooo001loooo
+o`;o00000`00G=@00ol00000RIoR08VOhP0508VOhP03o`00002d_>00];cP00P0];cP00?o00000=Gc
+i03Eln@00`3Eln@00ol00000TNVao`00001mooooo`00O_ooool01Ol0000005cD001Le000G=Co0000
+00L0RIoR00?o00000;Blh02d_>001P2d_>000ol00000eO?T0=Gci0030=Gci0?o0000O_ooool007oo
+oooo0_l00002001Le003o`000029Wn80RIoR00@0RIoR00?o00000;Blh02d_>001@2d_>000ol00000
+eO?T0=Gci0020=Gci0?o0000P?ooool0087ooooo00Co0000001Le000G=Co00001@29Wn800ol00000
+];cP0;Blh0050;Blh004o`00003Eln@0eO?T0=Gci0?o0000POooool008;ooooo0_l000000`00G=Co
+000008VOhP0308VOhP03o`00002d_>00];cP00@0];cP00Co00000=Gci03Eln@0eO?T0_l00023oooo
+o`00Q?ooool00ol0000005cDo`00000408VOhP03o`00002d_>00];cP0080];cP00?o00000=Gci03E
+ln@00ol00024ooooo`00QOooool00ol0000005cDo`00000308VOhP03o`00002d_>00];cP0080];cP
+00Co00000=Gci?l0003o0000Q_ooool008Kooooo0ol0000208VOhP06o`00002d_>00];cP0;Blh?l0
+0000eO?T0_l00027ooooo`00R?ooool2o`00000408VOh_l00000];cP0;Blh0?o0000ROooool008Wo
+oooo0ol000020;Blh0;o0000R_ooool008_ooooo0ol0002<ooooo`00S?ooool00ol0003ooooooooo
+o`2;ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooo
+oolKooooo`00oooooolKooooo`00oooooolKooooo`00\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.4104 .57603 m .4409 .687 L .56177 .66998 L closepath p .675 .323 .369 r
+F P
+0 g
+s
+.33127 .64347 m .4409 .687 L .4104 .57603 L closepath p .829 .421 .273 r
+F P
+0 g
+s
+.4104 .57603 m .5704 .56684 L .55806 .45048 L closepath p .664 .522 .68 r
+F P
+0 g
+s
+.5704 .56684 m .4104 .57603 L .56177 .66998 L closepath p .636 .379 .512 r
+F P
+0 g
+s
+.4104 .57603 m .44521 .41961 L .34205 .4116 L closepath p .846 .753 .76 r
+F P
+0 g
+s
+.44521 .41961 m .4104 .57603 L .55806 .45048 L closepath p .724 .628 .75 r
+F P
+0 g
+s
+.30586 .5282 m .34205 .4116 L .4104 .57603 L closepath p .929 .774 .668 r
+F P
+0 g
+s
+.30586 .5282 m .33127 .64347 L .4104 .57603 L closepath p .934 .608 .397 r
+F P
+0 g
+s
+.55806 .45048 m .63136 .38822 L .72174 .53604 L closepath p .486 .468 .762 r
+F P
+0 g
+s
+.5 .27523 m .63136 .38822 L .55806 .45048 L closepath p .56 .599 .849 r
+F P
+0 g
+s
+.5704 .56684 m .55806 .45048 L .72174 .53604 L closepath p .553 .439 .679 r
+F P
+0 g
+s
+.44521 .41961 m .5 .27523 L .55806 .45048 L closepath p .685 .674 .834 r
+F P
+0 g
+s
+.56177 .66998 m .5704 .56684 L .72174 .53604 L closepath p .496 .26 .487 r
+F P
+0 g
+s
+.44521 .41961 m .34205 .4116 L .5 .27523 L closepath p .812 .821 .858 r
+F P
+0 g
+s
+.5 .27523 m .63136 .38822 L .67212 .35366 L closepath p .233 .493 .897 r
+F P
+0 g
+s
+.63136 .38822 m .72174 .53604 L .67212 .35366 L closepath p .114 .28 .756 r
+F P
+0 g
+s
+.5 .75807 m .4409 .687 L .56177 .66998 L closepath p .503 .017 .036 r
+F P
+0 g
+s
+.64223 .66726 m .5 .75807 L .56177 .66998 L closepath p .191 0 0 r
+F P
+0 g
+s
+.64223 .66726 m .56177 .66998 L .72174 .53604 L closepath p .272 0 .236 r
+F P
+0 g
+s
+.24533 .45861 m .35775 .3327 L .34205 .4116 L closepath p .899 .983 .715 r
+F P
+0 g
+s
+.5 .27523 m .35775 .3327 L .34205 .4116 L closepath p .832 .954 .895 r
+F P
+0 g
+s
+.30586 .5282 m .24533 .45861 L .34205 .4116 L closepath p .99 .884 .61 r
+F P
+0 g
+s
+.67212 .35366 m .716 .46862 L .72174 .53604 L closepath p 0 0 .377 r
+F P
+0 g
+s
+.64223 .66726 m .68501 .60355 L .72174 .53604 L closepath p 0 0 0 r
+F P
+0 g
+s
+.68501 .60355 m .716 .46862 L .72174 .53604 L closepath p .86 .809 .323 r
+F P
+0 g
+s
+.42762 .30083 m .35775 .3327 L .5 .27523 L closepath p .31 .785 .689 r
+F P
+0 g
+s
+.56576 .2919 m .5 .27523 L .67212 .35366 L closepath p 0 .373 .773 r
+F P
+0 g
+s
+.56576 .2919 m .42762 .30083 L .5 .27523 L closepath p .172 0 0 r
+F P
+0 g
+s
+.33127 .64347 m .4409 .687 L .5 .75807 L closepath p .618 .052 0 r
+F P
+0 g
+s
+.33127 .64347 m .30586 .5282 L .24533 .45861 L closepath p .925 .596 .136 r
+F P
+0 g
+s
+.34491 .63198 m .5 .75807 L .33127 .64347 L closepath p 0 .267 .744 r
+F P
+0 g
+s
+.34491 .63198 m .24533 .45861 L .33127 .64347 L closepath p 0 0 .544 r
+F P
+0 g
+s
+.64223 .66726 m .5 .75807 L .68501 .60355 L closepath p .709 .982 .801 r
+F P
+0 g
+s
+.35775 .3327 m .24533 .45861 L .42762 .30083 L closepath p 0 0 0 r
+F P
+0 g
+s
+.62321 .39544 m .716 .46862 L .67212 .35366 L closepath p .907 .509 .103 r
+F P
+0 g
+s
+.56576 .2919 m .62321 .39544 L .67212 .35366 L closepath p .75 .23 0 r
+F P
+0 g
+s
+.716 .46862 m .68501 .60355 L .62321 .39544 L closepath p .987 .829 .599 r
+F P
+0 g
+s
+.56576 .2919 m .42762 .30083 L .62321 .39544 L closepath p .61 .16 .156 r
+F P
+0 g
+s
+.5 .75807 m .57206 .60573 L .68501 .60355 L closepath p .827 .907 .894 r
+F P
+0 g
+s
+.42176 .56672 m .57206 .60573 L .5 .75807 L closepath p .668 .706 .876 r
+F P
+0 g
+s
+.34491 .63198 m .42176 .56672 L .5 .75807 L closepath p .474 .591 .89 r
+F P
+0 g
+s
+.42176 .56672 m .40739 .41207 L .24533 .45861 L closepath p .483 .378 .659 r
+F P
+0 g
+s
+.42762 .30083 m .40739 .41207 L .24533 .45861 L closepath p .365 .087 .352 r
+F P
+0 g
+s
+.34491 .63198 m .42176 .56672 L .24533 .45861 L closepath p .368 .402 .765 r
+F P
+0 g
+s
+.62321 .39544 m .57206 .60573 L .68501 .60355 L closepath p .89 .814 .767 r
+F P
+0 g
+s
+.62321 .39544 m .40739 .41207 L .42762 .30083 L closepath p .592 .284 .416 r
+F P
+0 g
+s
+.57206 .60573 m .62321 .39544 L .42176 .56672 L closepath p .729 .645 .765 r
+F P
+0 g
+s
+.62321 .39544 m .40739 .41207 L .42176 .56672 L closepath p .649 .501 .67 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00Roooool4o`0008_ooooo0028ooooo`?o0000100/
+0003o`0008Sooooo0025ooooo`?o00002P0/0004o`0008Cooooo0022ooooo`?o00004@0/0004o`00
+083ooooo001oooooo`?o0000600/0003o`0007gooooo001looooo`?o00005P0/000;o`0007[ooooo
+001iooooo`?o00001P0/000Co`0000T0W2PW00Co00000;lj0?l0003o0000N?ooool007Oooooo2ol0
+000M09`X9`04o`00002o>P00_cX0o`0007Oooooo001eooooo`;o000000<0GAIJo`00002GB6X00_l0
+000S09`X9`04o`00002o>P00_cX00;lj00;o0000MOooool007;ooooo1?l0000205dFFP04o`00002G
+B6X0UdQZ09M8JP;o00008P2L:2L00ol00000_cX00;lj00020;lj00;o0000Loooool0073ooooo0_l0
+000200000005o`00001M5UX0GAIJ05dFF_l000001@2GB6X2o`000240W2PW00?o00000;lj002o>P00
+0`2o>P02o`00077ooooo001^ooooo`;o00000`0000001Ol00000GAIJ05dFFP1M5U[o000000P0UdQZ
+0_l0000O09`X9`03o`00002o>P00_cX000D0_cX000?o0000ooooooooool0K_ooool006cooooo0_l0
+0003000000;o0000101M5UX00ol00000UdQZ09M8JP0809M8JP;o00007P2L:2L00ol00000_cX00;lj
+00050;lj00;o0000K_ooool006[ooooo0_l0000400000003o`00001M5UX0GAIJ00@0GAIJ00?o0000
+09M8JP2GB6X02P2GB6X2o`0001`0W2PW00?o00000;lj002o>P001`2o>P02o`0006cooooo001Woooo
+o`?o00001@0000000ol00000GAIJ05dFFP0505dFFP03o`00002GB6X0UdQZ00`0UdQZ0_l0000K09`X
+9`03o`00002o>P00_cX000P0_cX00_l0001Zooooo`00IOooool2o`0000L0000000?o000005dFFP1M
+5UX01P1M5UX00ol00000UdQZ09M8JP0>09M8JP;o00006P2L:2L00ol00000_cX00;lj00090;lj00;o
+0000J?ooool006Cooooo00?o00000000000000001P0000000ol00000GAIJ05dFFP0605dFFP03o`00
+002GB6X0UdQZ0140UdQZ0_l0000H09`X9`03o`00002o>P00_cX000/0_cX000?o0000ooooooooool0
+IOooool006Cooooo00?o00000000000000001@0000000ol00000GAIJ05dFFP0705dFFP03o`00002G
+B6X0UdQZ01<0UdQZ0_l0000G09`X9`03o`00002o>P00_cX000/0_cX00_l0001Uooooo`00Hoooool0
+0ol00000000000000004000000;o00002P1M5UX00ol00000UdQZ09M8JP0E09M8JP;o00005@2L:2L0
+0ol00000_cX00;lj000=0;lj00;o0000Hoooool006;ooooo00?o0000000000000000100000000ol0
+0000GAIJ05dFFP0:05dFFP03o`00002GB6X0UdQZ01L0UdQZ0_l0000D09`X9`03o`00002o>P00_cX0
+00h0_cX00_l0001Qooooo`00HOooool00ol0000000000000000400000003o`00001M5UX0GAIJ00/0
+GAIJ00?o000009M8JP2GB6X06@2GB6X3o`000180W2PW00?o00000;lj002o>P003`2o>P000ol0003o
+ooooooooo`1Nooooo`00H?ooool00ol0000000000000000400000003o`00001M5UX0GAIJ00/0GAIJ
+00?o000009M8JP2GB6X07@2GB6X2o`000100W2PW00?o00000;lj002o>P00402o>P02o`0005kooooo
+001Oooooo`03o`0000000000000000@0000000?o000005dFFP1M5UX0301M5UX00ol00000UdQZ09M8
+JP0O09M8JP;o00003`2L:2L00ol00000_cX00;lj000@0;lj00;o0000GOooool005kooooo00?o0000
+0000000000000`000002o`0000l0GAIJ00?o000009M8JP2GB6X08@2GB6X2o`0000d0W2PW00?o0000
+0;lj002o>P003`2o>P000ol00000j88Jo`00001Mooooo`00GOooool00ol000000000000000030000
+0003o`00001M5UX0GAIJ00l0GAIJ00?o000009M8JP2GB6X08`2GB6X2o`0000`0W2PW00?o00000;lj
+002o>P003@2o>P001Ol00000j88J0>R26P3XPQ[o000005cooooo001Looooo`03o`00000000000000
+00<0000000?o000005dFFP1M5UX0401M5UX00ol00000UdQZ09M8JP0U09M8JP;o00002P2L:2L00ol0
+0000_cX00;lj000<0;lj0003o`00003XPQX0j88J0080j88J00?o0000ooooooooool0F_ooool005_o
+oooo00?o00000000000000000`0000000ol00000GAIJ05dFFP0@05dFFP03o`00002GB6X0UdQZ02P0
+UdQZ0_l0000909`X9`03o`00002o>P00_cX000X0_cX000?o00000>R26P3XPQX00`3XPQX00ol0003o
+ooooooooo`1Jooooo`00F_ooool00ol0000000000000000300000003o`00001M5UX0GAIJ0140GAIJ
+00?o000009M8JP2GB6X0:P2GB6X2o`0000P0W2PW00?o00000;lj002o>P00202o>P000ol00000j88J
+0>R26P050>R26P03o`000?oooooooooo05Wooooo001Iooooo`03o`0000000000000000<0000000?o
+000005dFFP1M5UX04P1M5UX00ol00000UdQZ09M8JP0/09M8JP;o00001P2L:2L00ol00000_cX00;lj
+00070;lj0003o`00003XPQX0j88J00H0j88J00?o0000ooooooooool0FOooool005Wooooo00Co0000
+00000000000000000_l0000E05dFFP03o`00002GB6X0UdQZ02h0UdQZ0_l0000509`X9`03o`00002o
+>P00_cX000D0_cX000?o00000>R26P3XPQX0203XPQX00ol0003oooooooooo`1Hooooo`00F?ooool0
+1Ol00000000000000000003o000001L0GAIJ00?o000009M8JP2GB6X0<02GB6X2o`0000<0W2PW00?o
+00000;lj002o>P00102o>P000ol00000j88J0>R26P090>R26P03o`000?oooooooooo05Sooooo001G
+ooooo`05o`0000000000000000000?l000005`1M5UX00ol00000UdQZ09M8JP0c09M8JP;o00000P2L
+:2L00ol00000_cX00;lj00020;lj0003o`00003XPQX0j88J00X0j88J00?o0000ooooooooool0F?oo
+ool005Kooooo00Go00000000000000000000o`00000H05dFFP03o`00002GB6X0UdQZ03D0UdQZ0_l0
+00001@2L:2Oo00000;lj002o>P3o000000h0j88J00?o0000ooooooooool0Eoooool005Gooooo00Go
+00000000000000000000o`00000I05dFFP03o`00002GB6X0UdQZ03L0UdQZ0_l000000`2o>P3o0000
+0>R26P0>0>R26P03o`000?oooooooooo05Oooooo001Dooooo`03o`0000000000000000;o00006P1M
+5UX00ol00000UdQZ09M8JP0a09M8JP[o0000403XPQX00ol0003oooooooooo`1Fooooo`00Doooool0
+1?l00000000000000?l0000L05dFFP03o`00002GB6X0UdQZ0280UdQZ3ol000060:J0Z`05o`00002j
+YL?o00000?cDVOl000003`3XPQX00ol0003oooooooooo`1Fooooo`00D_ooool01?l0000000000000
+0?l0000L05dFFP03o`00002GB6X0UdQZ01@0UdQZ3ol0000D0:J0Z`04o`00002jYL<0^ZG3o`000080
+o=BI00?o00000>R26P3XPQX0303XPQX00ol0003oooooooooo`1Fooooo`00DOooool01?l000000000
+00000?l0000M05dFFP03o`00002GB6X0UdQZ00D0UdQZ3ol0000R0:J0Z`06o`00002jYL<0^ZG3o`00
+003Sd<Co00000P3le9T2o`0000d0j88J00?o0000ooooooooool0EOooool0053ooooo00Co00000000
+0000003o0000701M5UX:o`000300YX2[00Oo00000;ZU``2jYL<0^ZG3o`00003Sd<Co000000@0o=BI
+00?o00000>R26P3XPQX02P3XPQX00ol0003oooooooooo`1Eooooo`00Coooool01?l0000000000000
+0?l0000J05dFFP?o00000P1kH:P00ol00000YX2[0:J0Z`0c0:J0Z`;o0000102jYL<00ol00000hm34
+o`0000050?cDV@03o`00003XPQX0j88J00X0j88J00?o0000ooooooooool0E?ooool004oooooo0ol0
+000G05dFFPCo00001@1kH:P00ol00000YX2[0:J0Z`0b0:J0Z`03o`00002jYL<0^ZG300@0^ZG300Co
+00000>?@a03Sd<Co00001@3le9T00ol00000j88J0>R26P090>R26P03o`000?oooooooooo05Cooooo
+001>ooooo`;o00005P1M5UX3o`0000T0Nf2X00?o00000:J0Z`2VP:/0<@2VP:/00ol00000^ZG30;ZU
+``040;ZU``05o`00003Sd<@0hm340>?@a?l000001P3le9T2o`0000X0j88J00?o0000ooooooooool0
+Doooool004gooooo0_l0000C05dFFPCo0000301kH:P00ol00000YX2[0:J0Z`0`0:J0Z`03o`00002j
+YL<0^ZG300D0^ZG300Go00000>?@a03Sd<@0hm34o`0000080?cDV@03o`00003XPQX0j88J00L0j88J
+00?o0000ooooooooool0Doooool004cooooo0_l0000A05dFFP?o0000401kH:P00ol00000YX2[0:J0
+Z`0_0:J0Z`03o`00002jYL<0^ZG300H0^ZG300Go00000>?@a03Sd<@0hm34o`0000090?cDV@03o`00
+003XPQX0j88J00H0j88J00?o0000ooooooooool0Doooool004_ooooo0_l0000>05dFFPCo0000501k
+H:P00ol00000YX2[0:J0Z`0]0:J0Z`03o`00002jYL<0^ZG300L0^ZG300?o00000>?@a03Sd<@00P3S
+d<@00ol00000o=BI0?cDV@070?cDV@;o00001`3XPQX00ol0003oooooooooo`1Booooo`00B_ooool2
+o`0000/0GAIJ1?l0000H07]PZ003o`00002VP:/0YX2[02/0YX2[0_l000090;ZU``03o`00003Sd<@0
+hm3400<0hm3400?o00000?cDV@3le9T02@3le9T00ol00000j88J0>R26P040>R26P03o`000?oooooo
+oooo05;ooooo0019ooooo`03o`00001M5UX0GAIJ00P0GAIJ0ol0000L07]PZ003o`00002VP:/0YX2[
+02X0YX2[00?o00000;ZU``2jYL<02@2jYL<00ol00000hm340>?@a0030>?@a003o`00003le9T0o=BI
+00X0o=BI00?o00000>R26P3XPQX0103XPQX00ol0003oooooooooo`1Aooooo`00B?ooool00ol00000
+GAIJ05dFFP0505dFFPCo00007`1kH:P00ol00000YX2[0:J0Z`0Y0:J0Z`03o`00002jYL<0^ZG300X0
+^ZG300?o00000>?@a03Sd<@0103Sd<@00ol00000o=BI0?cDV@0:0?cDV@;o0000103XPQX00ol0003o
+ooooooooo`1Aooooo`00Aoooool00ol00000GAIJ05dFFP0305dFFP?o00008`1kH:P00ol00000YX2[
+0:J0Z`0X0:J0Z`03o`00002jYL<0^ZG300/0^ZG300?o00000>?@a03Sd<@0103Sd<@00ol00000o=BI
+0?cDV@0<0?cDV@05o`00003XPQX0j88J0>R26_l00000Doooool004Kooooo00?o000005dFFP1M5UX0
+1?l0000V07]PZ003o`00002VP:/0YX2[02L0YX2[00?o00000;ZU``2jYL<02`2jYL<00ol00000hm34
+0>?@a0050>?@a003o`00003le9T0o=BI00d0o=BI00Go00000>R26P3XPQX0j88Jo`00001Booooo`00
+AOooool4o`0002X0Nf2X00?o00000:J0Z`2VP:/09@2VP:/2o`0000h0^ZG300?o00000>?@a03Sd<@0
+1P3Sd<@00ol00000o=BI0?cDV@0=0?cDV@04o`00003XPQX0j88Jo`0005;ooooo0014ooooo`;o0000
+;@1kH:P00ol00000YX2[0:J0Z`0T0:J0Z`03o`00002jYL<0^ZG300h0^ZG300?o00000>?@a03Sd<@0
+1P3Sd<@00ol00000o=BI0?cDV@0>0?cDV@;o000000<0j88Jo`000?ooool0D?ooool004Cooooo00?o
+000005iV`ol00000;01kH:P00ol00000YX2[0:J0Z`0S0:J0Z`03o`00002jYL<0^ZG300l0^ZG300?o
+00000>?@a03Sd<@01P3Sd<@00ol00000o=BI0?cDV@0@0?cDV@;o0000DOooool004Gooooo00Co0000
+05iV`ol0003o0000:P1kH:P00ol00000YX2[0:J0Z`0R0:J0Z`03o`00002jYL<0^ZG300l0^ZG300?o
+00000>?@a03Sd<@01`3Sd<@00ol00000o=BI0?cDV@0A0?cDV@03o`000?oooooooooo04oooooo0015
+ooooo`04o`00001NI/<0GVK305iV``;o0000:01kH:P00ol00000YX2[0:J0Z`0Q0:J0Z`03o`00002j
+YL<0^ZG30100^ZG300?o00000>?@a03Sd<@0203Sd<@00ol00000o=BI0?cDV@0A0?cDV@03o`000?oo
+oooooooo04kooooo0016ooooo`03o`00001NI/<0GVK30080GVK300?o000007]PZ01kH:P09P1kH:P0
+0ol00000YX2[0:J0Z`0N0:J0Z`;o00004`2jYL<00ol00000hm340>?@a0080>?@a003o`00003le9T0
+o=BI0140o=BI00?o0000ooooooooool0C_ooool004Kooooo0_l0000405iV``;o00009P1kH:P00ol0
+0000YX2[0:J0Z`0M0:J0Z`03o`00002jYL<0^ZG301<0^ZG300?o00000>?@a03Sd<@0203Sd<@00ol0
+0000o=BI0?cDV@0A0?cDV@03o`000?oooooooooo04kooooo0017ooooo`03o`00001NI/<0GVK300@0
+GVK300?o000007]PZ01kH:P08`1kH:P00ol00000YX2[0:J0Z`0L0:J0Z`03o`00002jYL<0^ZG301<0
+^ZG300?o00000>?@a03Sd<@02P3Sd<@00ol00000o=BI0?cDV@0?0?cDV@;o0000D?ooool004Oooooo
+0_l0000605iV``;o00008`1kH:P00ol00000YX2[0:J0Z`0K0:J0Z`03o`00002jYL<0^ZG301@0^ZG3
+00?o00000>?@a03Sd<@02P3Sd<@00ol00000o=BI0?cDV@0?0?cDV@;o0000D?ooool004Sooooo00?o
+000005iV``1NI/<01P1NI/<2o`000240Nf2X00?o00000:J0Z`2VP:/06P2VP:/00ol00000^ZG30;ZU
+``0E0;ZU``03o`00003Sd<@0hm3400X0hm3400?o00000?cDV@3le9T03`3le9T2o`00053ooooo0018
+ooooo`;o00002@1NI/<00ol00000Nf2X07]PZ00N07]PZ003o`00002VP:/0YX2[01T0YX2[00?o0000
+0;ZU``2jYL<05P2jYL<00ol00000hm340>?@a00:0>?@a003o`00003le9T0o=BI00l0o=BI0_l0001@
+ooooo`00BOooool00ol00000GVK305iV``0805iV``;o00007P1kH:P00ol00000YX2[0:J0Z`0G0:J0
+Z`;o0000602jYL<00ol00000hm340>?@a00<0>?@a003o`00003le9T0o=BI00d0o=BI00?o00000=c?
+D_l00000D?ooool004Wooooo0_l0000;05iV``;o0000701kH:P00ol00000YX2[0:J0Z`0F0:J0Z`03
+o`00002jYL<0^ZG301P0^ZG300?o00000>?@a03Sd<@0303Sd<@00ol00000o=BI0?cDV@0=0?cDV@03
+o`00003Lce;o0000053ooooo001:ooooo`;o0000301NI/<00ol00000Nf2X07]PZ00I07]PZ003o`00
+002VP:/0YX2[01D0YX2[00?o00000;ZU``2jYL<06@2jYL<00ol00000hm340>?@a00<0>?@a003o`00
+003le9T0o=BI00d0o=BI00?o00000=c?D_l00000D?ooool004[ooooo0_l0000=05iV``;o00006@1k
+H:P00ol00000YX2[0:J0Z`0D0:J0Z`03o`00002jYL<0^ZG301T0^ZG300?o00000>?@a03Sd<@03P3S
+d<@00ol00000o=BI0?cDV@0<0?cDV@04o`00003Lce80g<mBo`0004oooooo001:ooooo`03o`000000
+08_o000000h0GVK300?o000007]PZ01kH:P05P1kH:P00ol00000YX2[0:J0Z`0C0:J0Z`03o`00002j
+YL<0^ZG301X0^ZG300?o00000>?@a03Sd<@03P3Sd<@00ol00000o=BI0?cDV@0<0?cDV@04o`00003L
+ce80g<mBo`0004oooooo001;ooooo`;o00003`1NI/<2o`0001L0Nf2X00?o00000:J0Z`2VP:/0402V
+P:/2o`0001d0^ZG300?o00000>?@a03Sd<@03P3Sd<@00ol00000o=BI0?cDV@0;0?cDV@05o`00003L
+ce80g<mB0=c?D_l00000Coooool004_ooooo00?o00000000Rol00000401NI/<2o`0001D0Nf2X00?o
+00000:J0Z`2VP:/03`2VP:/00ol00000^ZG30;ZU``0M0;ZU``03o`00003Sd<@0hm3400l0hm3400?o
+00000?cDV@3le9T02P3le9T01Ol00000g<mB0=c?DP3Lce;o000004oooooo001<ooooo`;o00004P1N
+I/<00ol00000Nf2X07]PZ00B07]PZ003o`00002VP:/0YX2[00h0YX2[00?o00000;ZU``2jYL<07@2j
+YL<00ol00000hm340>?@a00@0>?@a003o`00003le9T0o=BI00X0o=BI00Go00000=c?DP3Lce80g<mB
+o`00001?ooooo`00C?ooool00ol00000002;o`00000B05iV``;o00004P1kH:P00ol00000YX2[0:J0
+Z`0=0:J0Z`03o`00002jYL<0^ZG301h0^ZG300?o00000>?@a03Sd<@0403Sd<@00ol00000o=BI0?cD
+V@0:0?cDV@05o`00003Lce80g<mB0=c?D_l00000Coooool004gooooo00?o00000000Rol000004`1N
+I/<00ol00000Nf2X07]PZ00?07]PZ003o`00002VP:/0YX2[00`0YX2[00?o00000;ZU``2jYL<07`2j
+YL<00ol00000hm340>?@a00@0>?@a003o`00003le9T0o=BI00T0o=BI00?o00000=c?DP3Lce800P3L
+ce800ol0003oooooooooo`1=ooooo`00COooool00ol00000002;o`00000D05iV``;o00003`1kH:P0
+0ol00000YX2[0:J0Z`0:0:J0Z`;o00008P2jYL<00ol00000hm340>?@a00A0>?@a003o`00003le9T0
+o=BI00P0o=BI00?o00000=c?DP3Lce800P3Lce800ol0003oooooooooo`1=ooooo`00C_ooool00ol0
+0000002;o`00000E05iV``;o00003@1kH:P00ol00000YX2[0:J0Z`090:J0Z`03o`00002jYL<0^ZG3
+0240^ZG300?o00000>?@a03Sd<@04P3Sd<@00ol00000o=BI0?cDV@080?cDV@03o`00003Lce80g<mB
+0080g<mB00?o0000ooooooooool0COooool004kooooo00?o00000000Rol000005`1NI/<00ol00000
+Nf2X07]PZ00:07]PZ003o`00002VP:/0YX2[00P0YX2[00?o00000;ZU``2jYL<08P2jYL<00ol00000
+hm340>?@a00B0>?@a003o`00003le9T0o=BI00P0o=BI00?o00000=c?DP3Lce800P3Lce800ol0003o
+ooooooooo`1=ooooo`00Coooool00ol00000002;o`00000G05iV``;o00002P1kH:P00ol00000YX2[
+0:J0Z`070:J0Z`03o`00002jYL<0^ZG302<0^ZG300?o00000>?@a03Sd<@04`3Sd<@00ol00000o=BI
+0?cDV@060?cDV@03o`00003Lce80g<mB00<0g<mB00?o0000ooooooooool0COooool004oooooo00?o
+00000000Rol000006@1NI/<2o`0000P0Nf2X00?o00000:J0Z`2VP:/01P2VP:/00ol00000^ZG30;ZU
+``0T0;ZU``03o`00003Sd<@0hm3401<0hm3400?o00000?cDV@3le9T01P3le9T00ol00000g<mB0=c?
+DP020=c?DP03o`000?oooooooooo04kooooo001@ooooo`03o`00000008_o000001X0GVK300?o0000
+07]PZ01kH:P01@1kH:P00ol00000YX2[0:J0Z`050:J0Z`03o`00002jYL<0^ZG302@0^ZG300?o0000
+0>?@a03Sd<@0503Sd<@00ol00000o=BI0?cDV@060?cDV@03o`00003Lce80g<mB0080g<mB00?o0000
+ooooooooool0C_ooool0053ooooo00Co00000000R`0008_o00006P1NI/<2o`0000H0Nf2X00?o0000
+0:J0Z`2VP:/00P2VP:/2o`0002L0^ZG300?o00000>?@a03Sd<@0503Sd<@00ol00000o=BI0?cDV@06
+0?cDV@05o`00003Lce80g<mB0=c?D_l00000DOooool0057ooooo00?o00000000Rol00000701NI/<0
+0ol00000Nf2X07]PZ00307]PZ005o`00002VP:/0YX2[0:J0Zol00000:@2jYL<00ol00000hm340>?@
+a00E0>?@a003o`00003le9T0o=BI00@0o=BI00?o00000=c?DP3Lce800P3Lce800ol0003ooooooooo
+o`1?ooooo`00DOooool01?l00000002;0000Rol0000L05iV``;o00000`1kH:P01?l00000YX2[0:J0
+Zol0000Z0;ZU``03o`00003Sd<@0hm3401D0hm3400?o00000?cDV@3le9T0103le9T01Ol00000g<mB
+0=c?DP3Lce;o000005;ooooo001Booooo`03o`00000008_o000001h0GVK30_l00000101kH:So0000
+0:J0Zol0000Z0;ZU``03o`00003Sd<@0hm3401H0hm3400?o00000?cDV@3le9T0103le9T01Ol00000
+g<mB0=c?DP3Lce;o000005;ooooo001Booooo`04o`00000008/0002;o`0001l0GVK30ol0000[0;ZU
+``03o`00003Sd<@0hm3401L0hm3400?o00000?cDV@3le9T00`3le9T01?l00000g<mB0=c?D_l0001C
+ooooo`00Doooool00ol00000002;o`00000O05iV``Co0000:P2jYL<00ol00000hm340>?@a00G0>?@
+a003o`00003le9T0o=BI0080o=BI00Go00000=c?DP3Lce80g<mBo`00001Cooooo`00Doooool01?l0
+0000002;0000Rol0000M05iV``03o`00001iUn?o00000080ZkCP1?l0000V0;ZU``03o`00003Sd<@0
+hm3401L0hm3400?o00000?cDV@3le9T00P3le9T01?l00000g<mB0=c?D_l0001Dooooo`00E?ooool0
+1?l00000002;0000Rol0000K05iV``05o`00001iUn<0NIOS07VGhol000001@2[]>04o`000240^ZG3
+00?o00000>?@a03Sd<@06@3Sd<@01ol00000o=BI0?cDV@3le9Wo00000=c?D_l00000EOooool005Co
+oooo00Co00000000R`0008_o00006P1NI/<00ol00000NIOS07VGh`0207VGh`03o`00002[]>00ZkCP
+00L0ZkCP0ol0000N0;ZU``03o`00003Sd<@0hm3401T0hm3400Oo00000?cDV@3le9T0o=BIo`00003L
+ce;o000005Gooooo001Eooooo`04o`00000008/0002;o`0001L0GVK30_l0000507VGh`03o`00002[
+]>00ZkCP00X0ZkCP1?l0000J0;ZU``03o`00003Sd<@0hm3401T0hm3400Co00000?cDV@3le9T0o=BI
+0_l0001Fooooo`00EOooool01?l00000002;0000Rol0000F05iV``03o`00001iUn<0NIOS00H0NIOS
+00?o00000:^dh02[]>003@2[]>04o`0001H0^ZG300?o00000>?@a03Sd<@06@3Sd<@01_l00000o=BI
+0?cDVOl00000g<mBo`0005Kooooo001Fooooo`04o`00000008/0002;o`0001@0GVK300?o000007VG
+h`1iUn<01`1iUn<00ol00000ZkCP0:^dh00A0:^dh0Co00004@2jYL<00ol00000hm340>?@a00K0>?@
+a004o`00003le9Wo0000o`0005Oooooo001Fooooo`04o`00000008/0002;o`0001<0GVK300?o0000
+07VGh`1iUn<02@1iUn<00ol00000ZkCP0:^dh00D0:^dh0Co00003@2jYL<00ol00000hm340>?@a00K
+0>?@a004o`00003le9Wo0000o`0005Oooooo001Gooooo`04o`00000008/0002;o`000140GVK300?o
+000007VGh`1iUn<02P1iUn<00ol00000ZkCP0:^dh00H0:^dh0?o00002P2jYL<00ol00000hm340>?@
+a00K0>?@a003o`00003le9Wo000005Sooooo001Gooooo`05o`00000008/0002;0000Rol000003P1N
+I/<2o`0000d0NIOS00?o00000:^dh02[]>006`2[]>04o`0000H0^ZG300?o00000>?@a03Sd<@0703S
+d<@2o`0005Sooooo001Gooooo`05o`00000008/0002;0000Rol000003@1NI/<00ol00000NIOS07VG
+h`0>07VGh`03o`00002[]>00ZkCP01h0ZkCP1?l000000`2jYL?o00000>?@a00>0>?@a17o0000FOoo
+ool005Sooooo00Go00000000R`0008/0002;o`00000;05iV``03o`00001iUn<0NIOS00l0NIOS00?o
+00000:^dh02[]>008P2[]>0Ao`0000h0dnST00?o00000;GkcOl00000FOooool005Sooooo00Go0000
+0000R`0008/0002;o`00000:05iV``03o`00001iUn<0NIOS0140NIOS00?o00000:^dh02[]>008P2[
+]>000ol00000dnST0=?Xi00J0=?Xi003o`00002enlgo000005[ooooo001Iooooo`05o`00000008/0
+002;0000Rol000001`1NI/<2o`0001@0NIOS00?o00000:^dh02[]>008@2[]>000ol00000dnST0=?X
+i00J0=?Xi003o`00002enlgo000005_ooooo001Iooooo`05o`00000008/0002;0000Rol000001P1N
+I/<00ol00000NIOS07VGh`0E07VGh`03o`00002[]>00ZkCP0200ZkCP00?o00000=?Xi03Cj>@06@3C
+j>@01?l00000]O_=0;GkcOl0001Kooooo`00F_ooool01Ol00000002;0000R`0008_o000000@0GVK3
+00?o000007VGh`1iUn<05P1iUn<00ol00000ZkCP0:^dh00O0:^dh003o`00003Cj>@0dnST01P0dnST
+0_l000020;Gkc@03o`000?oooooooooo05[ooooo001Jooooo`03o`00000008/0002;0080002;00Co
+000005iV``1NI/?o00006@1iUn<00ol00000ZkCP0:^dh00O0:^dh003o`00003Cj>@0dnST01L0dnST
+00Go00000;Gkc@2enld0]O_=o`00001Mooooo`00Foooool01ol00000002;0000R`0008_o000005iV
+`ol000006`1iUn<00ol00000ZkCP0:^dh00M0:^dh003o`00003Cj>@0dnST01L0dnST00?o00000;Gk
+c@2enld00P2enld00ol0003oooooooooo`1Kooooo`00Foooool00ol00000002;0000R`020000R`;o
+00006`1iUn<00ol00000ZkCP0:^dh00M0:^dh003o`00003Cj>@0dnST01H0dnST00?o00000;Gkc@2e
+nld00P2enld00ol0003oooooooooo`1Looooo`00G?ooool01?l00000002;0000Rol000020014_P03
+o`00001iUn<0NIOS01T0NIOS00?o00000:^dh02[]>00702[]>000ol00000dnST0=?Xi00E0=?Xi003
+o`00002enld0]O_=0080]O_=00?o0000ooooooooool0GOooool005cooooo00?o00000000Rol00000
+1000A;h00ol00000NIOS07VGh`0H07VGh`03o`00002[]>00ZkCP01/0ZkCP00?o00000=?Xi03Cj>@0
+5@3Cj>@00ol00000]O_=0;Gkc@030;Gkc@03o`000?oooooooooo05gooooo001Mooooo`;o00001@00
+A;h00ol00000NIOS07VGh`0G07VGh`03o`00002[]>00ZkCP01/0ZkCP00?o00000=?Xi03Cj>@04`3C
+j>@2o`0000D0]O_=00?o0000ooooooooool0G_ooool005oooooo00?o00000014_P00A;h00`00A;h2
+o`0001P0NIOS00?o00000:^dh02[]>006@2[]>000ol00000dnST0=?Xi00C0=?Xi003o`00002enld0
+]O_=00@0]O_=00?o0000ooooooooool0Goooool0063ooooo0_l000050014_P03o`00001iUn<0NIOS
+01D0NIOS00?o00000:^dh02[]>006@2[]>000ol00000dnST0=?Xi00B0=?Xi003o`00002enld0]O_=
+00D0]O_=00?o0000ooooooooool0Goooool006;ooooo00?o00000014_P00A;h00`00A;h00ol00000
+NIOS07VGh`0E07VGh`03o`00002[]>00ZkCP01L0ZkCP00?o00000=?Xi03Cj>@04P3Cj>@00ol00000
+]O_=0;Gkc@050;Gkc@03o`000?oooooooooo063ooooo001Sooooo`03o`000000A;h004Bn00<004Bn
+00?o000007VGh`1iUn<0501iUn<00ol00000ZkCP0:^dh00G0:^dh003o`00003Cj>@0dnST0140dnST
+00?o00000;Gkc@2enld01@2enld00ol0003oooooooooo`1Qooooo`00I?ooool2o`0000@004Bn00?o
+000007VGh`1iUn<04`1iUn<00ol00000ZkCP0:^dh00F0:^dh003o`00003Cj>@0dnST0100dnST0_l0
+00080;Gkc@03o`000?oooooooooo067ooooo001Vooooo`03o`000000A;h004Bn008004Bn0_l0000D
+07VGh`03o`00002[]>00ZkCP01D0ZkCP00?o00000=?Xi03Cj>@03`3Cj>@00ol00000]O_=0;Gkc@07
+0;Gkc@03o`000?oooooooooo06;ooooo001Wooooo`;o00001000A;h00ol00000NIOS07VGh`0A07VG
+h`03o`00002[]>00ZkCP01@0ZkCP00?o00000=?Xi03Cj>@03`3Cj>@00ol00000]O_=0;Gkc@060;Gk
+c@;o0000IOooool006Wooooo00?o00000014_P00A;h00P00A;h00ol00000NIOS07VGh`0A07VGh`03
+o`00002[]>00ZkCP01<0ZkCP00?o00000=?Xi03Cj>@03P3Cj>@00ol00000]O_=0;Gkc@060;Gkc@03
+o`000?oooooooooo06Gooooo001Zooooo`;o00000`00A;h00ol00000NIOS07VGh`0@07VGh`03o`00
+002[]>00ZkCP0180ZkCP00?o00000=?Xi03Cj>@03P3Cj>@00ol00000]O_=0;Gkc@050;Gkc@;o0000
+J?ooool006cooooo00Co00000014_P00A;h004Bn0_l0000@07VGh`03o`00002[]>00ZkCP0180ZkCP
+00?o00000=?Xi03Cj>@03@3Cj>@00ol00000]O_=0;Gkc@050;Gkc@03o`000?oooooooooo06Sooooo
+001]ooooo`03o`000000A;h004Bn008004Bn00?o000007VGh`1iUn<03P1iUn<00ol00000ZkCP0:^d
+h00@0:^dh003o`00003Cj>@0dnST00`0dnST0_l000060;Gkc@;o0000Joooool006kooooo0_l00003
+0014_P03o`00001iUn<0NIOS00d0NIOS00?o00000:^dh02[]>00402[]>000ol00000dnST0=?Xi00;
+0=?Xi003o`00002enld0]O_=00D0]O_=00?o0000ooooooooool0Joooool0073ooooo00Go00000014
+_P00A;h004Bno`00000?07VGh`03o`00002[]>00ZkCP00l0ZkCP00?o00000=?Xi03Cj>@02P3Cj>@0
+0ol00000]O_=0;Gkc@040;Gkc@;o0000K_ooool0077ooooo0_l000020014_P03o`00001iUn<0NIOS
+00`0NIOS00?o00000:^dh02[]>003P2[]>000ol00000dnST0=?Xi00:0=?Xi003o`00002enld0]O_=
+00<0]O_=0_l0001`ooooo`00Loooool00ol0000004Bn0014_P02o`0000`0NIOS00?o00000:^dh02[
+]>003P2[]>000ol00000dnST0=?Xi0090=?Xi003o`00002enld0]O_=00<0]O_=00?o0000oooooooo
+ool0L?ooool007Cooooo0_l000020014_P03o`00001iUn<0NIOS00X0NIOS00?o00000:^dh02[]>00
+302[]>000ol00000dnST0=?Xi0080=?Xi0;o0000102enld2o`0007?ooooo001fooooo`04o`000000
+A;h004Bno`0000/0NIOS00?o00000:^dh02[]>00302[]>000ol00000dnST0=?Xi0070=?Xi003o`00
+002enld0]O_=00<0]O_=00?o0000ooooooooool0Loooool007Oooooo00Co00000014_P00A;ko0000
+2`1iUn<00ol00000ZkCP0:^dh00:0:^dh003o`00003Cj>@0dnST00L0dnST00?o00000;Gkc@2enld0
+0P2enld2o`0007Kooooo001hooooo`;o000000<004Bno`000?l000002@1iUn<00ol00000ZkCP0:^d
+h00:0:^dh003o`00003Cj>@0dnST00H0dnST00?o00000;Gkc@2enld00P2enld00ol0003ooooooooo
+o`1fooooo`00N_ooool01?l0000004Bn0014__l0000907VGh`03o`00002[]>00ZkCP00P0ZkCP00?o
+00000=?Xi03Cj>@01P3Cj>@01?l00000]O_=0;Gkc@2enld2o`0007Wooooo001kooooo`;o000000<0
+04Bno`00001iUn<01`1iUn<00ol00000ZkCP0:^dh0080:^dh003o`00003Cj>@0dnST00D0dnST00Go
+00000;Gkc@2enld0]O_=o`00001kooooo`00OOooool00ol0000004Bno`00000707VGh`03o`00002[
+]>00ZkCP00L0ZkCP00?o00000=?Xi03Cj>@0103Cj>@2o`000080]O_=0_l0001looooo`00O_ooool0
+0ol0000004Bno`00000707VGh`03o`00002[]>00ZkCP00H0ZkCP00?o00000=?Xi03Cj>@00`3Cj>@0
+1Ol00000]O_=0;Gkc@2enlgo000007kooooo001oooooo`Co00001@1iUn<00ol00000ZkCP0:^dh005
+0:^dh003o`00003Cj>@0dnST00<0dnST00?o00000;Gkc@2enld00_l0001oooooo`00POooool00ol0
+000004Bno`00000507VGh`03o`00002[]>00ZkCP00@0ZkCP00?o00000=?Xi03Cj>@00P3Cj>@01?l0
+0000]O_=0;GkcOl00021ooooo`00P_ooool3o`0000@0NIOS00?o00000:^dh02[]>000`2[]>000ol0
+0000dnST0=?Xi0020=?Xi004o`00002enlgo0000o`0008;ooooo0024ooooo`;o00000`1iUn<00ol0
+0000ZkCP0:^dh0030:^dh003o`00003Cj>@0dnST00Co0000Q?ooool008Gooooo0ol0000207VGh`03
+o`00002[]>00ZkCP0080ZkCP00Go00000=?Xi?l00000]O_=o`000026ooooo`00Qoooool2o`000003
+07VGhol00000ZkCP0080ZkCP00?o00000=?Xi?l000000_l00027ooooo`00R?ooool2o`00000407VG
+hol00000ZkCP0:^dh0?o0000ROooool008Wooooo0ol00000102[]>3o0000o`000?l0002:ooooo`00
+Roooool00ol00000ZkCPo`00002<ooooo`00S?ooool00ol0003oooooooooo`2;ooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.44775 .57999 m .46544 .68902 L .58904 .66657 L closepath p .625 .282 .369 r
+F P
+0 g
+s
+.34815 .65113 m .46544 .68902 L .44775 .57999 L closepath p .792 .404 .319 r
+F P
+0 g
+s
+.44775 .57999 m .60159 .5619 L .58364 .44545 L closepath p .619 .487 .68 r
+F P
+0 g
+s
+.60159 .5619 m .44775 .57999 L .58904 .66657 L closepath p .58 .332 .505 r
+F P
+0 g
+s
+.44775 .57999 m .46794 .42283 L .35769 .4228 L closepath p .814 .715 .756 r
+F P
+0 g
+s
+.46794 .42283 m .44775 .57999 L .58364 .44545 L closepath p .688 .598 .75 r
+F P
+0 g
+s
+.32577 .53944 m .35769 .4228 L .44775 .57999 L closepath p .89 .728 .675 r
+F P
+0 g
+s
+.32577 .53944 m .34815 .65113 L .44775 .57999 L closepath p .894 .58 .446 r
+F P
+0 g
+s
+.46794 .42283 m .35769 .4228 L .5 .27523 L closepath p .792 .789 .849 r
+F P
+0 g
+s
+.46794 .42283 m .5 .27523 L .58364 .44545 L closepath p .655 .652 .835 r
+F P
+0 g
+s
+.58364 .44545 m .64158 .37749 L .74166 .52177 L closepath p .416 .43 .766 r
+F P
+0 g
+s
+.5 .27523 m .64158 .37749 L .58364 .44545 L closepath p .517 .58 .858 r
+F P
+0 g
+s
+.60159 .5619 m .58364 .44545 L .74166 .52177 L closepath p .489 .396 .676 r
+F P
+0 g
+s
+.58904 .66657 m .60159 .5619 L .74166 .52177 L closepath p .412 .188 .462 r
+F P
+0 g
+s
+.23786 .47638 m .35163 .34488 L .35769 .4228 L closepath p .939 .956 .755 r
+F P
+0 g
+s
+.5 .27523 m .35163 .34488 L .35769 .4228 L closepath p .84 .919 .886 r
+F P
+0 g
+s
+.32577 .53944 m .23786 .47638 L .35769 .4228 L closepath p .973 .838 .647 r
+F P
+0 g
+s
+.34815 .65113 m .32577 .53944 L .23786 .47638 L closepath p .961 .625 .287 r
+F P
+0 g
+s
+.5 .75807 m .46544 .68902 L .58904 .66657 L closepath p .441 0 .022 r
+F P
+0 g
+s
+.6535 .66048 m .5 .75807 L .58904 .66657 L closepath p .05 0 0 r
+F P
+0 g
+s
+.6535 .66048 m .58904 .66657 L .74166 .52177 L closepath p .117 0 .145 r
+F P
+0 g
+s
+.39764 .30851 m .35163 .34488 L .5 .27523 L closepath p .472 .886 .77 r
+F P
+0 g
+s
+.5 .27523 m .64158 .37749 L .66091 .33986 L closepath p .134 .466 .891 r
+F P
+0 g
+s
+.53891 .28721 m .5 .27523 L .66091 .33986 L closepath p 0 .341 .692 r
+F P
+0 g
+s
+.53891 .28721 m .39764 .30851 L .5 .27523 L closepath p .076 0 0 r
+F P
+0 g
+s
+.64158 .37749 m .74166 .52177 L .66091 .33986 L closepath p 0 .19 .718 r
+F P
+0 g
+s
+.34815 .65113 m .46544 .68902 L .5 .75807 L closepath p .634 .084 0 r
+F P
+0 g
+s
+.67321 .59397 m .70295 .45406 L .74166 .52177 L closepath p .982 .866 .492 r
+F P
+0 g
+s
+.66091 .33986 m .70295 .45406 L .74166 .52177 L closepath p .754 .399 0 r
+F P
+0 g
+s
+.6535 .66048 m .67321 .59397 L .74166 .52177 L closepath p .798 .92 .537 r
+F P
+0 g
+s
+.33849 .63976 m .23786 .47638 L .34815 .65113 L closepath p .63 .21 0 r
+F P
+0 g
+s
+.33849 .63976 m .5 .75807 L .34815 .65113 L closepath p 0 .161 .614 r
+F P
+0 g
+s
+.35163 .34488 m .23786 .47638 L .39764 .30851 L closepath p 0 0 0 r
+F P
+0 g
+s
+.6535 .66048 m .5 .75807 L .67321 .59397 L closepath p .792 .997 .861 r
+F P
+0 g
+s
+.57329 .3878 m .70295 .45406 L .66091 .33986 L closepath p .913 .521 .24 r
+F P
+0 g
+s
+.53891 .28721 m .57329 .3878 L .66091 .33986 L closepath p .743 .24 .031 r
+F P
+0 g
+s
+.38944 .5721 m .3694 .42043 L .23786 .47638 L closepath p .379 .304 .646 r
+F P
+0 g
+s
+.39764 .30851 m .3694 .42043 L .23786 .47638 L closepath p .21 0 .285 r
+F P
+0 g
+s
+.33849 .63976 m .38944 .5721 L .23786 .47638 L closepath p .237 .326 .753 r
+F P
+0 g
+s
+.53891 .28721 m .39764 .30851 L .57329 .3878 L closepath p .535 .098 .157 r
+F P
+0 g
+s
+.33849 .63976 m .38944 .5721 L .5 .75807 L closepath p .397 .555 .894 r
+F P
+0 g
+s
+.5 .75807 m .54266 .6027 L .67321 .59397 L closepath p .808 .864 .89 r
+F P
+0 g
+s
+.38944 .5721 m .54266 .6027 L .5 .75807 L closepath p .625 .675 .878 r
+F P
+0 g
+s
+.57329 .3878 m .3694 .42043 L .39764 .30851 L closepath p .506 .21 .398 r
+F P
+0 g
+s
+.70295 .45406 m .67321 .59397 L .57329 .3878 L closepath p .948 .776 .636 r
+F P
+0 g
+s
+.57329 .3878 m .54266 .6027 L .67321 .59397 L closepath p .849 .763 .767 r
+F P
+0 g
+s
+.57329 .3878 m .3694 .42043 L .38944 .5721 L closepath p .584 .452 .667 r
+F P
+0 g
+s
+.54266 .6027 m .57329 .3878 L .38944 .5721 L closepath p .681 .605 .765 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00RP3oool5o`0008/0oooo00270?ooo`?o00001@0C
+0004o`0008L0oooo00240?ooo`?o0000300C0003o`0008@0oooo00210?ooo`?o0000400C0005o`00
+0840oooo001m0?ooo`Co0000300C0007o`0000<0R1TX00Co00000;hm1ol0003o0000O`3oool007X0
+oooo0ol0000901<000Oo00002`286BP00ol00000_Sd70;hm1`03o`0007`0oooo001g0?ooo`?o0000
+1P0C0006o`000180R1TX00?o00000;hm1`2n?@L00`2n?@L2o`0007X0oooo001d0?ooo`?o00000P0C
+0007o`0001P0R1TX00?o00000;hm1`2n?@L01@2n?@L2o`0007P0oooo001a0?ooo`So000080286BP0
+0ol00000_Sd70;hm1`060;hm1`;o0000MP3oool006h0oooo1?l0000W08PI:003o`00002n?@L0_Sd7
+00P0_Sd70ol0001c0?ooo`00K@3oool01?l000000000o`000021=FD2o`0002H0R1TX00?o00000;hm
+1`2n?@L02`2n?@L2o`000740oooo001/0?ooo`04o`000000003o0000o`0000<0PCEU0ol0000T08PI
+:003o`00002n?@L0_Sd700`0_Sd70_l0001_0?ooo`00JP3oool2o`00000300000?l0003o000000L0
+PCEU0_l0000R08PI:003o`00002n?@L0_Sd700h0_Sd70ol0001/0?ooo`00J@3oool01_l000000000
+00000?l00000=@18o`0000T0PCEU0_l0000P08PI:003o`00002n?@L0_Sd70140_Sd70_l0001Z0?oo
+o`00J03oool01?l00000000000000?l0000203D0B003o`000021=FD0PCEU00T0PCEU0ol0000N08PI
+:003o`00002n?@L0_Sd70180_Sd70_l0001X0?ooo`00I`3oool01?l00000000000000?l0000303D0
+B003o`000021=FD0PCEU00`0PCEU0_l0000L08PI:003o`00002n?@L0_Sd701@0_Sd70_l0001V0?oo
+o`00I@3oool2o`000080000000Go000003D0B00e04P0=@18o`00000A084eI@;o00006P286BP00ol0
+0000_Sd70;hm1`0F0;hm1`?o0000H`3oool006@0oooo00Go00000000000000000000o`00000403D0
+B003o`000021=FD0PCEU0140PCEU0_l0000I08PI:003o`00002n?@L0_Sd701P0_Sd70_l0001Q0?oo
+o`00H`3oool01Ol00000000000000000003o000000D0=@1800?o0000084eI@21=FD04`21=FD3o`00
+01H0R1TX00?o00000;hm1`2n?@L06@2n?@L2o`000600oooo001R0?ooo`05o`000000000000000000
+0?l000001P0e04P00ol00000PCEU084eI@0F084eI@;o00005@286BP00ol00000_Sd70;hm1`0F0;hm
+1`;o000000<0jHDmo`00003oool0G`3oool00680oooo00Co000000000000003o00001P0e04P00ol0
+0000PCEU084eI@0I084eI@;o00004`286BP00ol00000_Sd70;hm1`0D0;hm1`;o0000103YQCd00ol0
+0000oooo0?ooo`1M0?ooo`00H@3oool01?l00000000000000?l0000703D0B003o`000021=FD0PCEU
+01/0PCEU0_l0000A08PI:003o`00002n?@L0_Sd701<0_Sd700?o00000>V5?@3YQCd0103YQCd00ol0
+0000oooo0?ooo`1M0?ooo`00H03oool01?l00000000000000?l0000803D0B003o`000021=FD0PCEU
+01d0PCEU0ol0000?08PI:003o`00002n?@L0_Sd70100_Sd70_l000070>V5?@;o0000GP3oool005l0
+oooo00Co000000000000003o00002@0e04P00ol00000PCEU084eI@0P084eI@;o00003@286BP00ol0
+0000_Sd70;hm1`0>0;hm1`;o00002P3YQCd00ol00000oooo0?ooo`1L0?ooo`00GP3oool01?l00000
+000000000?l0000903D0B003o`000021=FD0PCEU02<0PCEU0_l0000;08PI:003o`00002n?@L0_Sd7
+00`0_Sd70_l0000<0>V5?@03o`00003oool0oooo05`0oooo001M0?ooo`04o`00000000000000o`00
+00X0=@1800?o0000084eI@21=FD09@21=FD3o`0000T0R1TX00?o00000;hm1`2n?@L02@2n?@L2o`00
+00h0jHDm0_l0001M0?ooo`00G03oool01?l00000000000000?l0000;03D0B003o`000021=FD0PCEU
+02P0PCEU0_l0000708PI:003o`00002n?@L0_Sd700L0_Sd70_l0000A0>V5?@03o`00003oool0oooo
+05/0oooo001L0?ooo`03o`000000003o000000`0=@1800?o0000084eI@21=FD0:P21=FD2o`0000D0
+R1TX00?o00000;hm1`2n?@L01@2n?@L2o`0001<0jHDm0_l0001L0?ooo`00F`3oool00ol000000000
+o`00000<03D0B003o`000021=FD0PCEU02d0PCEU0_l0000408PI:003o`00002n?@L0_Sd700<0_Sd7
+00?o00000>V5?@3YQCd0503YQCd00ol00000oooo0?ooo`1J0?ooo`00FP3oool00ol000000000o`00
+000=03D0B003o`000021=FD0PCEU02l0PCEU0ol000000`286BSo00000;hm1`020;hm1`;o00005`3Y
+QCd2o`0005/0oooo001I0?ooo`03o`000000003o000000h0=@1800?o0000084eI@21=FD0<P21=FD2
+o`0000030;hm1ol0003o000001T0jHDm0_l0001K0?ooo`00F03oool00ol000000000o`00000?03D0
+B003o`000021=FD0PCEU0340PCEU1Ol0000K0>V5?@;o0000FP3oool005L0oooo00?o000000000?l0
+00003`0e04P00ol00000PCEU084eI@0/084eI@Ko00000P2ELjX2o`0000030?;6X_l0003o000001T0
+jHDm0_l0001J0?ooo`00EP3oool00ol000000000o`00000@03D0B003o`000021=FD0PCEU02H0PCEU
+1_l0000709EcZP04o`00002^V/?o0000o`000080l/JR0_l0000G0>V5?@03o`000031IP3o000005T0
+oooo001E0?ooo`04o`00000000000000o`000100=@1800?o0000084eI@21=FD08@21=FD5o`0000`0
+UG>Z00?o00000:jJ``2^V/<00_l000040?;6XP;o00005P3YQCd2o`0005T0oooo001E0?ooo`03o`00
+0000003o00000140=@1800?o0000084eI@21=FD06`21=FD6o`000100UG>Z00Co00000:jJ``2^V/?o
+00000P3I`l@00ol00000l/JR0?;6XP030?;6XP;o0000503YQCd2o`0005T0oooo001D0?ooo`03o`00
+0000003o00000140=@1800?o0000084eI@21=FD05P21=FD6o`0001D0UG>Z00Go00000:jJ``2^V/<0
+[Y[3o`0000020=W3a003o`00003baZ80l/JR00D0l/JR00?o00000>V5?@3YQCd04P3YQCd2o`0005P0
+oooo001C0?ooo`03o`000000003o00000180=@1800?o0000084eI@21=FD04021=FD6o`0001X0UG>Z
+00?o00000:jJ``2^V/<00P2^V/<01Ol00000fL?40=W3a03I`lCo000000L0l/JR0_l0000B0>V5?@;o
+0000F03oool00580oooo00?o000000000?l000004`0e04P00ol00000PCEU084eI@0:084eI@Ko0000
+7`2ELjX00ol00000[Y[30:jJ``030:jJ``05o`00003I`l@0fL?40=W3a?l000002@3baZ82o`000100
+jHDm00?o00000<5V0?l00000E`3oool00540oooo00?o000000000?l00000500e04P00ol00000PCEU
+084eI@05084eI@Go0000902ELjX00ol00000[Y[30:jJ``040:jJ``03o`00003I`l@0fL?40080fL?4
+00?o00000?;6XP3baZ80203baZ82o`0000l0jHDm0_l0001G0?ooo`00D03oool00ol000000000o`00
+000D03D0B003o`000021=FD0PCEU00Ko0000:02ELjX00ol00000[Y[30:jJ``050:jJ``03o`00003I
+`l@0fL?40080fL?400?o00000?;6XP3baZ802P3baZ82o`0000d0jHDm00?o00000<5V0?l00000EP3o
+ool004l0oooo00?o000000000?l00000500e04P4o`0002d0UG>Z00?o00000:jJ``2^V/<01P2^V/<0
+0ol00000fL?40=W3a0030=W3a003o`00003baZ80l/JR00/0l/JR0_l0000;0>V5?@03o`000031IP3o
+000005H0oooo001?0?ooo`;o00004P0e04P3o`000003065=YOl00000UG>Z02d0UG>Z00?o00000:jJ
+``2^V/<01P2^V/<00ol00000fL?40=W3a0040=W3a003o`00003baZ80l/JR00d0l/JR0_l0000:0>V5
+?@03o`000031IP3o000005D0oooo001>0?ooo`;o00004@0e04P2o`0000@0HDfU00?o000009EcZP2E
+LjX0:`2ELjX00ol00000[Y[30:jJ``070:jJ``03o`00003I`l@0fL?400D0fL?400?o00000?;6XP3b
+aZ803P3baZ82o`0000P0jHDm00?o00000<5V0?l00000E@3oool004d0oooo0_l0000?03D0B0?o0000
+1P1QCJD00ol00000UG>Z09EcZP0Z09EcZP03o`00002^V/<0[Y[300P0[Y[300?o00000=W3a03I`l@0
+1@3I`l@00ol00000l/JR0?;6XP0@0?;6XP;o00001`3YQCd00ol00000`FH0o`00001D0?ooo`00C03o
+ool2o`0000h0=@180_l0000:065=Y@03o`00002ELjX0UG>Z02P0UG>Z00?o00000:jJ``2^V/<02@2^
+V/<00ol00000fL?40=W3a0060=W3a003o`00003baZ80l/JR0140l/JR00?o00000>V5?@3YQCd0103Y
+QCd00ol00000`FH0o`00001D0?ooo`00B`3oool2o`0000`0=@180ol0000<065=Y@03o`00002ELjX0
+UG>Z02L0UG>Z00?o00000:jJ``2^V/<02P2^V/<00ol00000fL?40=W3a0060=W3a003o`00003baZ80
+l/JR0180l/JR0_l000040>V5?@03o`000031IP3o000005@0oooo001:0?ooo`;o00002`0e04P2o`00
+00l0HDfU00?o000009EcZP2ELjX09P2ELjX00ol00000[Y[30:jJ``0;0:jJ``03o`00003I`l@0fL?4
+00H0fL?400?o00000?;6XP3baZ80503baZ82o`0000<0jHDm00?o00000<5V0?l00000D`3oool004T0
+oooo0_l0000903D0B0?o00004@1QCJD00ol00000UG>Z09EcZP0U09EcZP03o`00002^V/<0[Y[300`0
+[Y[300?o00000=W3a03I`l@01`3I`l@00ol00000l/JR0?;6XP0E0?;6XP;o000000@0jHDmo`000031
+IP3o0000D`3oool004P0oooo0_l0000803D0B0;o0000501QCJD00ol00000UG>Z09EcZP0T09EcZP03
+o`00002^V/<0[Y[300`0[Y[300?o00000=W3a03I`l@0203I`l@00ol00000l/JR0?;6XP0G0?;6XP;o
+00000P31IP000ol00000oooo0?ooo`1@0?ooo`00B03oool00ol00000=@1803D0B00503D0B0;o0000
+5P1QCJD00ol00000UG>Z09EcZP0S09EcZP03o`00002^V/<0[Y[300d0[Y[300?o00000=W3a03I`l@0
+2@3I`l@00ol00000l/JR0?;6XP0H0?;6XP03o`000031IP3o00000580oooo00170?ooo`03o`00000e
+04P0=@1800<0=@180ol0000H065=Y@03o`00002ELjX0UG>Z0280UG>Z00?o00000:jJ``2^V/<03P2^
+V/<00ol00000fL?40=W3a0090=W3a003o`00003baZ80l/JR01P0l/JR00Co00000<5V0031IP3o0000
+D@3oool004H0oooo00?o000003D0B00e04P00P0e04P2o`0001`0HDfU00?o000009EcZP2ELjX0802E
+LjX00ol00000[Y[30:jJ``0?0:jJ``03o`00003I`l@0fL?400X0fL?400?o00000?;6XP3baZ805`3b
+aZ82o`0000030<5V0?l00000oooo0500oooo00150?ooo`03o`00000e04P0=@1800?o00007P1QCJD0
+0ol00000UG>Z09EcZP0O09EcZP03o`00002^V/<0[Y[30100[Y[300?o00000=W3a03I`l@02P3I`l@0
+0ol00000l/JR0?;6XP0F0?;6XP03o`00003kgGgo00000080`FH000?o00000?ooo`3oool0CP3oool0
+04@0oooo00Co000003D0B?l0003o00008@1QCJD00ol00000UG>Z09EcZP0N09EcZP03o`00002^V/<0
+[Y[30140[Y[300?o00000=W3a03I`l@02`3I`l@00ol00000l/JR0?;6XP0E0?;6XP06o`00003kgGd0
+nmemo`000031IP3o0000D03oool004<0oooo0ol0000S065=Y@03o`00002ELjX0UG>Z01d0UG>Z00?o
+00000:jJ``2^V/<04P2^V/<00ol00000fL?40=W3a00;0=W3a003o`00003baZ80l/JR01D0l/JR00Co
+00000?_MO@3kgGd0nmem0_l0001@0?ooo`00@P3oool2o`0002D0HDfU00?o000009EcZP2ELjX0702E
+LjX00ol00000[Y[30:jJ``0B0:jJ``03o`00003I`l@0fL?400d0fL?400?o00000?;6XP3baZ80503b
+aZ801ol00000nmem0?_MO@3kgGgo00000<5V0?l00000C`3oool00480oooo00?o000003aC`?l00000
+901QCJD00ol00000UG>Z09EcZP0K09EcZP03o`00002^V/<0[Y[301<0[Y[300?o00000=W3a03I`l@0
+3@3I`l@00ol00000l/JR0?;6XP0D0?;6XP03o`00003kgGd0nmem0080nmem0_l0001?0?ooo`00@`3o
+ool01?l00000?5?0o`000?l0000R065=Y@03o`00002ELjX0UG>Z01X0UG>Z00?o00000:jJ``2^V/<0
+502^V/<00ol00000fL?40=W3a00>0=W3a003o`00003baZ80l/JR0180l/JR00?o00000?_MO@3kgGd0
+0`3kgGd00ol00000`FH0o`00001>0?ooo`00A03oool00ol00000?5?003aC`002o`000240HDfU00?o
+000009EcZP2ELjX0602ELjX00ol00000[Y[30:jJ``0E0:jJ``03o`00003I`l@0fL?400h0fL?400?o
+00000?;6XP3baZ804P3baZ800ol00000nmem0?_MO@040?_MO@;o0000CP3oool004@0oooo00?o0000
+03aC`00lDl000P0lDl000ol00000HDfU065=Y@0N065=Y@03o`00002ELjX0UG>Z01L0UG>Z00?o0000
+0:jJ``2^V/<05P2^V/<00ol00000fL?40=W3a00?0=W3a003o`00003baZ80l/JR0140l/JR00?o0000
+0?_MO@3kgGd01@3kgGd2o`0004d0oooo00150?ooo`03o`00000lDl00?5?00080?5?00_l0000N065=
+Y@03o`00002ELjX0UG>Z01H0UG>Z00?o00000:jJ``2^V/<05`2^V/<00ol00000fL?40=W3a00?0=W3
+a003o`00003baZ80l/JR0140l/JR00?o00000?_MO@3kgGd01@3kgGd2o`0004d0oooo00150?ooo`03
+o`00000lDl00?5?000@0?5?000?o0000065=Y@1QCJD06`1QCJD00ol00000UG>Z09EcZP0E09EcZP03
+o`00002^V/<0[Y[301L0[Y[300?o00000=W3a03I`l@04@3I`l@00ol00000l/JR0?;6XP0@0?;6XP03
+o`00003kgGd0nmem00H0nmem0_l0001<0?ooo`00AP3oool00ol00000?5?003aC`00403aC`0;o0000
+6`1QCJD00ol00000UG>Z09EcZP0D09EcZP03o`00002^V/<0[Y[301P0[Y[300?o00000=W3a03I`l@0
+4@3I`l@00ol00000l/JR0?;6XP0?0?;6XP03o`00003kgGd0nmem00L0nmem0_l0001<0?ooo`00A`3o
+ool00ol00000?5?003aC`00503aC`0;o00006@1QCJD00ol00000UG>Z09EcZP0C09EcZP03o`00002^
+V/<0[Y[301T0[Y[300?o00000=W3a03I`l@04P3I`l@00ol00000l/JR0?;6XP0>0?;6XP03o`00003k
+gGd0nmem00P0nmem0_l0001;0?ooo`00A`3oool00ol00000?5?003aC`00703aC`003o`00001QCJD0
+HDfU01H0HDfU00?o000009EcZP2ELjX04P2ELjX00ol00000[Y[30:jJ``0J0:jJ``03o`00003I`l@0
+fL?40180fL?400?o00000?;6XP3baZ803P3baZ800ol00000nmem0?_MO@080?_MO@;o0000B`3oool0
+04P0oooo00?o000003aC`00lDl001`0lDl02o`0001L0HDfU00?o000009EcZP2ELjX0402ELjX00ol0
+0000[Y[30:jJ``0K0:jJ``03o`00003I`l@0fL?401<0fL?400?o00000?;6XP3baZ803@3baZ800ol0
+0000nmem0?_MO@090?_MO@03o`00003oool0oooo04T0oooo00190?ooo`03o`00000lDl00?5?000P0
+?5?000?o0000065=Y@1QCJD0501QCJD00ol00000UG>Z09EcZP0?09EcZP03o`00002^V/<0[Y[301`0
+[Y[300?o00000=W3a03I`l@04`3I`l@00ol00000l/JR0?;6XP0=0?;6XP03o`00003kgGd0nmem00X0
+nmem00?o00000?ooo`3oool0B03oool004T0oooo00?o000003aC`00lDl002@0lDl02o`0001@0HDfU
+00?o000009EcZP2ELjX03P2ELjX00ol00000[Y[30:jJ``0M0:jJ``03o`00003I`l@0fL?401@0fL?4
+00?o00000?;6XP3baZ802`3baZ800ol00000nmem0?_MO@0;0?_MO@03o`00003oool0oooo04P0oooo
+001:0?ooo`03o`00000lDl00?5?000X0?5?00_l0000B065=Y@03o`00002ELjX0UG>Z00d0UG>Z00?o
+00000:jJ``2^V/<07@2^V/<00ol00000fL?40=W3a00E0=W3a003o`00003baZ80l/JR00/0l/JR00?o
+00000?_MO@3kgGd0303kgGd00ol00000oooo0?ooo`170?ooo`00B`3oool00ol00000?5?003aC`00;
+03aC`003o`00001QCJD0HDfU00l0HDfU00?o000009EcZP2ELjX0302ELjX00ol00000[Y[30:jJ``0N
+0:jJ``03o`00003I`l@0fL?401H0fL?400?o00000?;6XP3baZ802P3baZ800ol00000nmem0?_MO@0<
+0?_MO@03o`00003oool0oooo04L0oooo001;0?ooo`03o`00000lDl00?5?000`0?5?00_l0000?065=
+Y@03o`00002ELjX0UG>Z00/0UG>Z00?o00000:jJ``2^V/<07`2^V/<00ol00000fL?40=W3a00F0=W3
+a003o`00003baZ80l/JR00X0l/JR00?o00000?_MO@3kgGd02`3kgGd00ol00000oooo0?ooo`180?oo
+o`00C03oool00ol00000?5?003aC`00=03aC`003o`00001QCJD0HDfU00`0HDfU00?o000009EcZP2E
+LjX02P2ELjX00ol00000[Y[30:jJ``0P0:jJ``03o`00003I`l@0fL?401L0fL?400?o00000?;6XP3b
+aZ802@3baZ800ol00000nmem0?_MO@0:0?_MO@03o`00003oool0oooo04T0oooo001<0?ooo`03o`00
+000lDl00?5?000h0?5?00_l0000=065=Y@03o`00002ELjX0UG>Z00P0UG>Z00?o00000:jJ``2^V/<0
+8@2^V/<00ol00000fL?40=W3a00G0=W3a003o`00003baZ80l/JR00P0l/JR00?o00000?_MO@3kgGd0
+2P3kgGd2o`0004/0oooo001=0?ooo`03o`00000lDl00?5?000l0?5?000?o0000065=Y@1QCJD02P1Q
+CJD00ol00000UG>Z09EcZP0709EcZP03o`00002^V/<0[Y[30280[Y[300?o00000=W3a03I`l@0603I
+`l@00ol00000l/JR0?;6XP070?;6XP03o`00003kgGd0nmem00T0nmem0_l0001<0?ooo`00CP3oool0
+0ol00000?5?003aC`00?03aC`0;o00002P1QCJD00ol00000UG>Z09EcZP0609EcZP03o`00002^V/<0
+[Y[302<0[Y[300?o00000=W3a03I`l@0603I`l@00ol00000l/JR0?;6XP070?;6XP03o`00003kgGd0
+nmem00P0nmem0_l0001=0?ooo`00CP3oool00ol00000?5?003aC`00A03aC`0;o0000201QCJD00ol0
+0000UG>Z09EcZP0509EcZP03o`00002^V/<0[Y[302<0[Y[300?o00000=W3a03I`l@06@3I`l@00ol0
+0000l/JR0?;6XP070?;6XP03o`00003kgGd0nmem00L0nmem00?o00000<c[ROl00000C@3oool004l0
+oooo00?o000003aC`00lDl004P0lDl000ol00000HDfU065=Y@05065=Y@03o`00002ELjX0UG>Z00@0
+UG>Z00?o00000:jJ``2^V/<0902^V/<00ol00000fL?40=W3a00J0=W3a003o`00003baZ80l/JR00H0
+l/JR00?o00000?_MO@3kgGd01P3kgGd00ol00000c>^9o`00001>0?ooo`00D03oool00ol00000?5?0
+03aC`00B03aC`0;o00001@1QCJD00ol00000UG>Z09EcZP0309EcZP03o`00002^V/<0[Y[302D0[Y[3
+00?o00000=W3a03I`l@06P3I`l@00ol00000l/JR0?;6XP050?;6XP03o`00003kgGd0nmem00H0nmem
+00Co00000<c[R@3<jhWo0000CP3oool00500oooo00?o000003aC`00lDl00500lDl000ol00000HDfU
+065=Y@02065=Y@03o`00002ELjX0UG>Z0080UG>Z00?o00000:jJ``2^V/<09P2^V/<00ol00000fL?4
+0=W3a00K0=W3a003o`00003baZ80l/JR00@0l/JR00?o00000?_MO@3kgGd01@3kgGd01?l00000c>^9
+0<c[ROl0001?0?ooo`00D@3oool00ol00000?5?003aC`00D03aC`0;o00000`1QCJD01?l00000UG>Z
+09EcZ_l0000Y0:jJ``03o`00003I`l@0fL?401/0fL?400?o00000?;6XP3baZ80103baZ800ol00000
+nmem0?_MO@040?_MO@04o`00003<jhT0c>^9o`000500oooo001A0?ooo`03o`00000lDl00?5?001H0
+?5?00_l00000101QCJGo000009EcZ_l0000Z0:jJ``03o`00003I`l@0fL?401`0fL?400?o00000?;6
+XP3baZ800`3baZ800ol00000nmem0?_MO@030?_MO@05o`00003<jhT0c>^90<c[ROl00000D03oool0
+0580oooo00?o000003aC`00lDl005`0lDl03o`0002/0[Y[300?o00000=W3a03I`l@0703I`l@00ol0
+0000l/JR0?;6XP030?;6XP03o`00003kgGd0nmem0080nmem00Go00000<c[R@3<jhT0c>^9o`00001A
+0?ooo`00D`3oool00ol00000?5?003aC`00G03aC`0?o0000:@2^V/<00ol00000fL?40=W3a00N0=W3
+a005o`00003baZ80l/JR0?;6X_l00000103kgGd01Ol00000c>^90<c[R@3<jhWo00000580oooo001C
+0?ooo`03o`00000lDl00?5?001L0?5?000?o000009n/h02O[>001Ol0000T0:jJ``03o`00003I`l@0
+fL?401h0fL?400Go00000?;6XP3baZ80l/JRo`0000030?_MO@03o`00003<jhT0c>^90080c>^900?o
+00000?ooo`3oool0D03oool005@0oooo00?o000003aC`00lDl005@0lDl000ol00000IHkTo`000006
+09n/h0Go00007`2^V/<00ol00000fL?40=W3a00O0=W3a004o`00003baZ80l/JRo`000080nmem00?o
+00000<c[R@3<jhT00P3<jhT00ol00000oooo0?ooo`1A0?ooo`00E@3oool00ol00000?5?003aC`00C
+03aC`004o`00001US^@0IHkTo`0000/0WjcP1Ol0000J0:jJ``03o`00003I`l@0fL?401l0fL?400Ko
+00000?;6XP3baZ;o00000?_MOOl000040<c[R@03o`00003oool0oooo0580oooo001E0?ooo`03o`00
+000lDl00?5?00180?5?000?o000006F>i01US^@00P1US^@00ol00000WjcP09n/h00=09n/h0Go0000
+5@2^V/<00ol00000fL?40=W3a00P0=W3a004o`00003baZ;o0000o`0000D0c>^900?o00000?ooo`3o
+ool0DP3oool005H0oooo00?o000003aC`00lDl004@0lDl000ol00000IHkT06F>i00306F>i003o`00
+002O[>00WjcP0140WjcP1?l0000A0:jJ``03o`00003I`l@0fL?40200fL?40ol000050<c[R@03o`00
+003oool0oooo05<0oooo001F0?ooo`03o`00000lDl00?5?00100?5?000?o000006F>i01US^@0101U
+S^@00ol00000WjcP09n/h00E09n/h0Go0000302^V/<00ol00000fL?40=W3a00K0=W3a0Oo00001@3<
+jhT00ol00000oooo0?ooo`1D0?ooo`00E`3oool00ol00000?5?003aC`00>03aC`003o`00001US^@0
+IHkT00H0IHkT00?o000009n/h02O[>006@2O[>05o`0000H0[Y[300?o00000=W3a03I`l@03`3I`l@=
+o`0000@0c]gS00?o00000<[og?l000001@3<jhT00ol00000oooo0?ooo`1D0?ooo`00F03oool00ol0
+0000?5?003aC`00<03aC`003o`00001US^@0IHkT00L0IHkT00?o000009n/h02O[>007P2O[>05o`00
+00030:jJ`ol00000fL?400@0fL?43?l0000@0<kMh`04o`00003:om`0b_oLo`0000@0c>^900?o0000
+0?ooo`3oool0E@3oool005P0oooo00?o000003aC`00lDl00300lDl000ol00000IHkT06F>i00806F>
+i003o`00002O[>00WjcP0280WjcP1ol0000K0<kMh`04o`00003:om`0b_oLo`0000D0c>^900?o0000
+0?ooo`3oool0E@3oool005T0oooo00?o000003aC`00lDl002P0lDl000ol00000IHkT06F>i00:06F>
+i003o`00002O[>00WjcP0280WjcP00?o00000<kMh`3>gN<07@3>gN<01Ol00000b_oL0<[og03:omco
+000000@0c>^900?o00000?ooo`3oool0EP3oool005X0oooo00?o000003aC`00lDl00200lDl000ol0
+0000IHkT06F>i00;06F>i003o`00002O[>00WjcP0280WjcP00?o00000<kMh`3>gN<0703>gN<00ol0
+0000b_oL0<[og0020<[og005o`00003<jhT0c>^90<c[ROl00000F@3oool005X0oooo00?o000003aC
+`00lDl00200lDl000ol00000IHkT06F>i00<06F>i003o`00002O[>00WjcP0200WjcP00?o00000<kM
+h`3>gN<0703>gN<00ol00000b_oL0<[og0020<[og003o`00003<jhT0c>^90080c>^900?o00000?oo
+o`3oool0E`3oool005/0oooo00?o000003aC`00lDl001P0lDl000ol00000IHkT06F>i00=06F>i003
+o`00002O[>00WjcP0200WjcP00?o00000<kMh`3>gN<06`3>gN<00ol00000b_oL0<[og0030<[og005
+o`00003<jhT0c>^90<c[ROl00000FP3oool005`0oooo00?o000003aC`00lDl00100lDl000ol00000
+IHkT06F>i00?06F>i003o`00002O[>00WjcP01l0WjcP00?o00000<kMh`3>gN<06P3>gN<00ol00000
+b_oL0<[og0040<[og004o`00003<jhT0c>^9o`0005/0oooo001L0?ooo`03o`00000lDl00?5?000<0
+?5?000?o000006F>i01US^@0401US^@00ol00000WjcP09n/h00N09n/h003o`00003>gN<0c]gS01X0
+c]gS00?o00000<[og03:om`0103:om`01Ol00000c>^90<c[R@3<jhWo000005/0oooo001M0?ooo`03
+o`00000lDl00?5?00080?5?000?o000006F>i01US^@04@1US^@00ol00000WjcP09n/h00M09n/h003
+o`00003>gN<0c]gS01T0c]gS00?o00000<[og03:om`01@3:om`01?l00000c>^90<c[ROl0001L0?oo
+o`00G@3oool01Ol00000?5?003aC`00lDl3o000001D0IHkT00?o000009n/h02O[>00702O[>000ol0
+0000c]gS0<kMh`0H0<kMh`03o`00003:om`0b_oL00H0b_oL00?o00000<c[ROl00000G@3oool005h0
+oooo00?o000003aC`?l000005P1US^@00ol00000WjcP09n/h00L09n/h003o`00003>gN<0c]gS01L0
+c]gS00?o00000<[og03:om`01P3:om`01?l00000c>^90<c[ROl0001M0?ooo`00G`3oool2o`0001L0
+IHkT00?o000009n/h02O[>006P2O[>000ol00000c]gS0<kMh`0G0<kMh`03o`00003:om`0b_oL00L0
+b_oL00?o00000<c[ROl00000GP3oool005l0oooo00?o0000000YWOl000005P1US^@00ol00000WjcP
+09n/h00J09n/h003o`00003>gN<0c]gS01H0c]gS00?o00000<[og03:om`0203:om`00ol00000c>^9
+o`00001N0?ooo`00H03oool00ol0000002VMo`00000F06F>i003o`00002O[>00WjcP01T0WjcP00?o
+00000<kMh`3>gN<05@3>gN<00ol00000b_oL0<[og0080<[og003o`00003<jhWo000005l0oooo001Q
+0?ooo`Co00005@1US^@00ol00000WjcP09n/h00H09n/h003o`00003>gN<0c]gS01@0c]gS00?o0000
+0<[og03:om`02@3:om`2o`000600oooo001S0?ooo`03o`000000:Igo000001@0IHkT00?o000009n/
+h02O[>005`2O[>000ol00000c]gS0<kMh`0D0<kMh`03o`00003:om`0b_oL00X0b_oL0_l0001P0?oo
+o`00I03oool00ol0000002VMo`00000D06F>i003o`00002O[>00WjcP01H0WjcP00?o00000<kMh`3>
+gN<04`3>gN<00ol00000b_oL0<[og00:0<[og0;o0000H@3oool006D0oooo1?l0000B06F>i003o`00
+002O[>00WjcP01H0WjcP00?o00000<kMh`3>gN<04P3>gN<00ol00000b_oL0<[og00:0<[og0;o0000
+HP3oool006L0oooo00?o0000000YWOl000004P1US^@00ol00000WjcP09n/h00D09n/h003o`00003>
+gN<0c]gS0180c]gS00?o00000<[og03:om`02P3:om`00ol00000oooo0?ooo`1R0?ooo`00J03oool3
+o`000180IHkT00?o000009n/h02O[>004`2O[>000ol00000c]gS0<kMh`0A0<kMh`03o`00003:om`0
+b_oL00T0b_oL0_l0001U0?ooo`00JP3oool3o`000100IHkT00?o000009n/h02O[>004`2O[>000ol0
+0000c]gS0<kMh`0@0<kMh`03o`00003:om`0b_oL00T0b_oL00?o00000?ooo`3oool0I@3oool006/0
+oooo00?o0000000YWOl00000401US^@00ol00000WjcP09n/h00B09n/h003o`00003>gN<0c]gS00h0
+c]gS0_l0000:0<[og0;o0000J03oool006`0oooo0ol0000?06F>i003o`00002O[>00WjcP0140WjcP
+00?o00000<kMh`3>gN<03P3>gN<00ol00000b_oL0<[og0090<[og003o`00003oool0oooo06P0oooo
+001^0?ooo`?o00003P1US^@00ol00000WjcP09n/h00@09n/h003o`00003>gN<0c]gS00d0c]gS00?o
+00000<[og03:om`0203:om`2o`0006/0oooo001_0?ooo`?o00003@1US^@00ol00000WjcP09n/h00@
+09n/h003o`00003>gN<0c]gS00`0c]gS00?o00000<[og03:om`01`3:om`2o`0006d0oooo001a0?oo
+o`;o00003@1US^@00ol00000WjcP09n/h00?09n/h003o`00003>gN<0c]gS00/0c]gS00?o00000<[o
+g03:om`01`3:om`00ol00000oooo0?ooo`1]0?ooo`00LP3oool3o`0000`0IHkT00?o000009n/h02O
+[>003@2O[>000ol00000c]gS0<kMh`0;0<kMh`03o`00003:om`0b_oL00H0b_oL0_l0001`0?ooo`00
+L`3oool3o`0000/0IHkT00?o000009n/h02O[>003@2O[>000ol00000c]gS0<kMh`0:0<kMh`03o`00
+003:om`0b_oL00H0b_oL00?o00000?ooo`3oool0L03oool007D0oooo0_l0000;06F>i003o`00002O
+[>00WjcP00`0WjcP00?o00000<kMh`3>gN<02@3>gN<00ol00000b_oL0<[og0050<[og0;o0000L`3o
+ool007H0oooo0_l0000:06F>i003o`00002O[>00WjcP00/0WjcP00?o00000<kMh`3>gN<02@3>gN<0
+0ol00000b_oL0<[og0050<[og003o`00003oool0oooo07<0oooo001h0?ooo`;o00002@1US^@00ol0
+0000WjcP09n/h00:09n/h003o`00003>gN<0c]gS00P0c]gS00?o00000<[og03:om`0103:om`2o`00
+07H0oooo001i0?ooo`;o00002@1US^@00ol00000WjcP09n/h00909n/h003o`00003>gN<0c]gS00L0
+c]gS00?o00000<[og03:om`0103:om`00ol00000oooo0?ooo`1f0?ooo`00NP3oool2o`0000P0IHkT
+00?o000009n/h02O[>002@2O[>000ol00000c]gS0<kMh`060<kMh`03o`00003:om`0b_oL00<0b_oL
+0_l0001i0?ooo`00O03oool2o`0000L0IHkT00?o000009n/h02O[>001`2O[>000ol00000c]gS0<kM
+h`060<kMh`03o`00003:om`0b_oL00<0b_oL00?o00000?ooo`3oool0N@3oool007d0oooo0_l00006
+06F>i003o`00002O[>00WjcP00L0WjcP00?o00000<kMh`3>gN<01@3>gN<00ol00000b_oL0<[og002
+0<[og0;o0000O03oool007h0oooo0_l0000606F>i003o`00002O[>00WjcP00H0WjcP00?o00000<kM
+h`3>gN<0103>gN<00ol00000b_oL0<[og0020<[og003o`00003oool0oooo07`0oooo00200?ooo`;o
+0000101US^@00ol00000WjcP09n/h00609n/h003o`00003>gN<0c]gS00<0c]gS00Co00000<[og03:
+om`0b_oL0_l0001o0?ooo`00P@3oool2o`0000@0IHkT00?o000009n/h02O[>00102O[>000ol00000
+c]gS0<kMh`030<kMh`05o`00003:om`0b_oL0<[og?l00000P@3oool008<0oooo00?o000006F>i01U
+S^@00P1US^@00ol00000WjcP09n/h00309n/h003o`00003>gN<0c]gS0080c]gS00?o00000<[og03:
+om`00_l000220?ooo`00Q03oool2o`000080IHkT00?o000009n/h02O[>000`2O[>001_l00000c]gS
+0<kMh`3>gN?o00000<[og0;o0000Q03oool008D0oooo0_l0000206F>i005o`00002O[>00WjcP09n/
+h?l000000`3>gN<00ol00000b_oLo`0000260?ooo`00Q`3oool00ol00000IHkTo`00000309n/h003
+o`00003>gN<0c]gS00?o0000Q`3oool008P0oooo0ol0000209n/h004o`00003>gN?o0000o`0008T0
+oooo002:0?ooo`;o000000@0WjcPo`000?l0003o0000RP3oool008/0oooo0ol0002<0?ooo`00S03o
+ool00ol00000oooo0?ooo`2;0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.486 .58183 m .49073 .68996 L .6144 .66191 L closepath p .567 .232 .36 r
+F P
+0 g
+s
+.36872 .65777 m .49073 .68996 L .486 .58183 L closepath p .751 .379 .348 r
+F P
+0 g
+s
+.486 .58183 m .63075 .55515 L .60739 .43861 L closepath p .567 .45 .679 r
+F P
+0 g
+s
+.63075 .55515 m .486 .58183 L .6144 .66191 L closepath p .515 .277 .491 r
+F P
+0 g
+s
+.486 .58183 m .4914 .42433 L .37684 .43254 L closepath p .781 .681 .753 r
+F P
+0 g
+s
+.4914 .42433 m .486 .58183 L .60739 .43861 L closepath p .65 .57 .751 r
+F P
+0 g
+s
+.34973 .54914 m .37684 .43254 L .486 .58183 L closepath p .851 .687 .678 r
+F P
+0 g
+s
+.34973 .54914 m .36872 .65777 L .486 .58183 L closepath p .852 .549 .476 r
+F P
+0 g
+s
+.4914 .42433 m .37684 .43254 L .5 .27523 L closepath p .77 .759 .843 r
+F P
+0 g
+s
+.4914 .42433 m .5 .27523 L .60739 .43861 L closepath p .622 .632 .839 r
+F P
+0 g
+s
+.60739 .43861 m .64786 .36592 L .75546 .50603 L closepath p .328 .385 .769 r
+F P
+0 g
+s
+.5 .27523 m .64786 .36592 L .60739 .43861 L closepath p .468 .562 .868 r
+F P
+0 g
+s
+.63075 .55515 m .60739 .43861 L .75546 .50603 L closepath p .411 .344 .672 r
+F P
+0 g
+s
+.23889 .49384 m .35026 .35716 L .37684 .43254 L closepath p .937 .908 .768 r
+F P
+0 g
+s
+.5 .27523 m .35026 .35716 L .37684 .43254 L closepath p .836 .882 .876 r
+F P
+0 g
+s
+.34973 .54914 m .23889 .49384 L .37684 .43254 L closepath p .939 .787 .665 r
+F P
+0 g
+s
+.6144 .66191 m .63075 .55515 L .75546 .50603 L closepath p .302 .094 .422 r
+F P
+0 g
+s
+.36872 .65777 m .34973 .54914 L .23889 .49384 L closepath p .942 .614 .379 r
+F P
+0 g
+s
+.37177 .31851 m .35026 .35716 L .5 .27523 L closepath p .615 .956 .835 r
+F P
+0 g
+s
+.5 .27523 m .64786 .36592 L .64397 .32698 L closepath p .025 .434 .868 r
+F P
+0 g
+s
+.5105 .28499 m .37177 .31851 L .5 .27523 L closepath p 0 0 0 r
+F P
+0 g
+s
+.5105 .28499 m .5 .27523 L .64397 .32698 L closepath p .276 0 0 r
+F P
+0 g
+s
+.5 .75807 m .49073 .68996 L .6144 .66191 L closepath p .365 0 0 r
+F P
+0 g
+s
+.36872 .65777 m .49073 .68996 L .5 .75807 L closepath p .625 .094 0 r
+F P
+0 g
+s
+.66054 .65315 m .5 .75807 L .6144 .66191 L closepath p 0 0 0 r
+F P
+0 g
+s
+.66054 .65315 m .6144 .66191 L .75546 .50603 L closepath p 0 0 .009 r
+F P
+0 g
+s
+.64786 .36592 m .75546 .50603 L .64397 .32698 L closepath p 0 .074 .631 r
+F P
+0 g
+s
+.33724 .64758 m .5 .75807 L .36872 .65777 L closepath p .505 0 0 r
+F P
+0 g
+s
+.33724 .64758 m .23889 .49384 L .36872 .65777 L closepath p .794 .338 0 r
+F P
+0 g
+s
+.35026 .35716 m .23889 .49384 L .37177 .31851 L closepath p .646 .881 .527 r
+F P
+0 g
+s
+.65519 .585 m .68244 .44034 L .75546 .50603 L closepath p .994 .841 .584 r
+F P
+0 g
+s
+.64397 .32698 m .68244 .44034 L .75546 .50603 L closepath p .891 .497 .056 r
+F P
+0 g
+s
+.66054 .65315 m .65519 .585 L .75546 .50603 L closepath p .922 .967 .668 r
+F P
+0 g
+s
+.36165 .57909 m .337 .43125 L .23889 .49384 L closepath p .238 .207 .619 r
+F P
+0 g
+s
+.37177 .31851 m .337 .43125 L .23889 .49384 L closepath p 0 0 .175 r
+F P
+0 g
+s
+.33724 .64758 m .36165 .57909 L .23889 .49384 L closepath p .057 .223 .72 r
+F P
+0 g
+s
+.66054 .65315 m .5 .75807 L .65519 .585 L closepath p .828 .975 .888 r
+F P
+0 g
+s
+.51982 .38415 m .68244 .44034 L .64397 .32698 L closepath p .878 .502 .325 r
+F P
+0 g
+s
+.5105 .28499 m .51982 .38415 L .64397 .32698 L closepath p .707 .225 .102 r
+F P
+0 g
+s
+.33724 .64758 m .36165 .57909 L .5 .75807 L closepath p .3 .512 .894 r
+F P
+0 g
+s
+.51982 .38415 m .337 .43125 L .37177 .31851 L closepath p .399 .116 .364 r
+F P
+0 g
+s
+.5105 .28499 m .37177 .31851 L .51982 .38415 L closepath p .442 .017 .134 r
+F P
+0 g
+s
+.5 .75807 m .51151 .60126 L .65519 .585 L closepath p .782 .823 .885 r
+F P
+0 g
+s
+.36165 .57909 m .51151 .60126 L .5 .75807 L closepath p .576 .644 .881 r
+F P
+0 g
+s
+.68244 .44034 m .65519 .585 L .51982 .38415 L closepath p .899 .722 .654 r
+F P
+0 g
+s
+.51982 .38415 m .337 .43125 L .36165 .57909 L closepath p .506 .395 .661 r
+F P
+0 g
+s
+.51982 .38415 m .51151 .60126 L .65519 .585 L closepath p .805 .716 .766 r
+F P
+0 g
+s
+.51151 .60126 m .51982 .38415 L .36165 .57909 L closepath p .627 .565 .765 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.52449 .58154 m .51621 .68981 L .63722 .65607 L closepath p .5 .171 .341 r
+F P
+0 g
+s
+.39229 .6633 m .51621 .68981 L .52449 .58154 L closepath p .708 .348 .364 r
+F P
+0 g
+s
+.52449 .58154 m .65716 .54666 L .6287 .43004 L closepath p .507 .408 .677 r
+F P
+0 g
+s
+.65716 .54666 m .52449 .58154 L .63722 .65607 L closepath p .436 .209 .469 r
+F P
+0 g
+s
+.52449 .58154 m .51504 .42409 L .39887 .44065 L closepath p .748 .649 .751 r
+F P
+0 g
+s
+.51504 .42409 m .52449 .58154 L .6287 .43004 L closepath p .608 .541 .753 r
+F P
+0 g
+s
+.37696 .55717 m .39887 .44065 L .52449 .58154 L closepath p .813 .649 .679 r
+F P
+0 g
+s
+.37696 .55717 m .39229 .6633 L .52449 .58154 L closepath p .808 .517 .496 r
+F P
+0 g
+s
+.51504 .42409 m .39887 .44065 L .5 .27523 L closepath p .746 .731 .838 r
+F P
+0 g
+s
+.51504 .42409 m .5 .27523 L .6287 .43004 L closepath p .587 .612 .844 r
+F P
+0 g
+s
+.24764 .51045 m .35344 .36915 L .39887 .44065 L closepath p .916 .857 .769 r
+F P
+0 g
+s
+.5 .27523 m .35344 .36915 L .39887 .44065 L closepath p .823 .845 .865 r
+F P
+0 g
+s
+.37696 .55717 m .24764 .51045 L .39887 .44065 L closepath p .901 .74 .673 r
+F P
+0 g
+s
+.39229 .6633 m .37696 .55717 L .24764 .51045 L closepath p .905 .588 .435 r
+F P
+0 g
+s
+.6287 .43004 m .64983 .35382 L .76219 .48914 L closepath p .213 .329 .766 r
+F P
+0 g
+s
+.5 .27523 m .64983 .35382 L .6287 .43004 L closepath p .41 .543 .879 r
+F P
+0 g
+s
+.65716 .54666 m .6287 .43004 L .76219 .48914 L closepath p .311 .279 .661 r
+F P
+0 g
+s
+.63722 .65607 m .65716 .54666 L .76219 .48914 L closepath p .151 0 .358 r
+F P
+0 g
+s
+.35086 .33037 m .35344 .36915 L .5 .27523 L closepath p .722 .988 .876 r
+F P
+0 g
+s
+.5 .27523 m .64983 .35382 L .62164 .31558 L closepath p 0 .398 .82 r
+F P
+0 g
+s
+.48166 .28534 m .35086 .33037 L .5 .27523 L closepath p 0 0 0 r
+F P
+0 g
+s
+.48166 .28534 m .5 .27523 L .62164 .31558 L closepath p .282 0 0 r
+F P
+0 g
+s
+.5 .75807 m .51621 .68981 L .63722 .65607 L closepath p .27 0 0 r
+F P
+0 g
+s
+.39229 .6633 m .51621 .68981 L .5 .75807 L closepath p .601 .088 0 r
+F P
+0 g
+s
+.34093 .65519 m .5 .75807 L .39229 .6633 L closepath p .588 .015 0 r
+F P
+0 g
+s
+.34093 .65519 m .24764 .51045 L .39229 .6633 L closepath p .858 .404 .051 r
+F P
+0 g
+s
+.35344 .36915 m .24764 .51045 L .35086 .33037 L closepath p .83 .972 .661 r
+F P
+0 g
+s
+.66292 .64546 m .5 .75807 L .63722 .65607 L closepath p 0 0 0 r
+F P
+0 g
+s
+.66292 .64546 m .63722 .65607 L .76219 .48914 L closepath p 0 0 0 r
+F P
+0 g
+s
+.64983 .35382 m .76219 .48914 L .62164 .31558 L closepath p 0 0 .481 r
+F P
+0 g
+s
+.33929 .58737 m .31124 .44396 L .24764 .51045 L closepath p .039 .07 .565 r
+F P
+0 g
+s
+.35086 .33037 m .31124 .44396 L .24764 .51045 L closepath p 0 0 .003 r
+F P
+0 g
+s
+.34093 .65519 m .33929 .58737 L .24764 .51045 L closepath p 0 .081 .64 r
+F P
+0 g
+s
+.63128 .57704 m .65479 .42808 L .76219 .48914 L closepath p .96 .79 .629 r
+F P
+0 g
+s
+.62164 .31558 m .65479 .42808 L .76219 .48914 L closepath p .917 .522 .21 r
+F P
+0 g
+s
+.66292 .64546 m .63128 .57704 L .76219 .48914 L closepath p .953 .941 .732 r
+F P
+0 g
+s
+.34093 .65519 m .33929 .58737 L .5 .75807 L closepath p .179 .459 .883 r
+F P
+0 g
+s
+.46539 .38473 m .31124 .44396 L .35086 .33037 L closepath p .256 0 .306 r
+F P
+0 g
+s
+.48166 .28534 m .35086 .33037 L .46539 .38473 L closepath p .324 0 .086 r
+F P
+0 g
+s
+.66292 .64546 m .5 .75807 L .63128 .57704 L closepath p .834 .937 .895 r
+F P
+0 g
+s
+.46539 .38473 m .65479 .42808 L .62164 .31558 L closepath p .828 .468 .375 r
+F P
+0 g
+s
+.48166 .28534 m .46539 .38473 L .62164 .31558 L closepath p .654 .192 .143 r
+F P
+0 g
+s
+.5 .75807 m .47989 .60148 L .63128 .57704 L closepath p .751 .784 .88 r
+F P
+0 g
+s
+.33929 .58737 m .47989 .60148 L .5 .75807 L closepath p .519 .613 .886 r
+F P
+0 g
+s
+.46539 .38473 m .31124 .44396 L .33929 .58737 L closepath p .409 .326 .65 r
+F P
+0 g
+s
+.47989 .60148 m .46539 .38473 L .33929 .58737 L closepath p .566 .524 .767 r
+F P
+0 g
+s
+.65479 .42808 m .63128 .57704 L .46539 .38473 L closepath p .848 .672 .663 r
+F P
+0 g
+s
+.46539 .38473 m .47989 .60148 L .63128 .57704 L closepath p .761 .673 .765 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00R`3oool4o`0008/0oooo00280?ooo`?o00001018
+0003o`0008P0oooo00250?ooo`Co00002@180003o`0008D0oooo00220?ooo`So00002`180003o`00
+0880oooo001o0?ooo`Ko00000P1B01H00ol00000Yc4T0:La9005o`0000T0B0000ol0001o0?ooo`00
+O@3oool5o`0000D0DP0F00?o00000:La902W<B@01@2W<B@5o`0000L0B0000ol0001l0?ooo`00NP3o
+ool5o`0000P0DP0F00?o00000:La902W<B@02P2W<B@5o`0000D0B0000ol0001i0?ooo`00M`3oool5
+o`0000X0DP0F00?o00000:La902W<B@0402W<B@5o`0000<0B0000ol0001f0?ooo`00M03oool5o`00
+00d0DP0F00?o00000:La902W<B@05@2W<B@5o`00000404P00?l0003o0000o`0007<0oooo001a0?oo
+o`Go0000401B01H00ol00000Yc4T0:La900J0:La90Oo0000L03oool006l0oooo1?l0000C05805P03
+o`00002W<B@0Yc4T01l0Yc4T1Ol0001]0?ooo`00K03oool4o`0001H0DP0F00?o00000:La902W<B@0
+902W<B@2o`0006/0oooo001Y0?ooo`Co0000601B01H00ol00000Yc4T0:La900S0:La90;o000000<0
+dgMOo`00003oool0JP3oool006H0oooo1?l0000K05805P03o`00002W<B@0Yc4T0200Yc4T0ol00003
+0==gG`;o0000JP3oool006<0oooo1?l0000N05805P03o`00002W<B@0Yc4T01h0Yc4T0_l000070==g
+G`;o0000J@3oool00680oooo0_l0000Q05805P03o`00002W<B@0Yc4T01`0Yc4T0_l000090==gG`03
+o`00003ZQCGo000006P0oooo001R0?ooo`04o`00001104ko0000o`0001l0DP0F00?o00000:La902W
+<B@06P2W<B@2o`0000/0dgMO00Co00000>Z5=@3ZQCGo0000I`3oool00640oooo00?o00000440CP11
+04h00P1104h2o`0001d0DP0F00?o00000:La902W<B@0602W<B@2o`0000h0dgMO00?o00000>Z5=Ol0
+0000I`3oool00640oooo00?o00000440CP1104h0101104h2o`0001X0DP0F00?o00000:La902W<B@0
+5P2W<B@3o`000100dgMO00Co00000>Z5=@3ZQCGo0000IP3oool00600oooo0_l000080440CP;o0000
+601B01H00ol00000Yc4T0:La900D0:La90;o00004`3CMel01Ol00000jXDe0>Z5=@3ZQCGo000006D0
+oooo001O0?ooo`;o00002`1104h2o`0001H0DP0F00?o00000:La902W<B@04P2W<B@2o`0001D0dgMO
+00?o00000>Z5=@3ZQCD00P3ZQCD00ol00000oooo0?ooo`1R0?ooo`00G`3oool2o`0000d0@@1>0_l0
+000D05805P03o`00002W<B@0Yc4T0100Yc4T0_l0000H0==gG`03o`00003ZQCD0jXDe0080jXDe00?o
+00000?ooo`3oool0H@3oool005h0oooo00?o000000000?l000003`1104h2o`000180DP0F00?o0000
+0:La902W<B@03P2W<B@2o`0001X0dgMO00?o00000>Z5=@3ZQCD00`3ZQCD00ol00000oooo0?ooo`1P
+0?ooo`00GP3oool2o`000180@@1>0_l0000@05805P03o`00002W<B@0Yc4T00/0Yc4T0ol0000L0==g
+G`03o`00003ZQCD0jXDe00<0jXDe00?o00000?ooo`3oool0H03oool005d0oooo00?o000000000?l0
+0000501104h2o`0000d0DP0F00?o00000:La902W<B@02P2W<B@2o`000200dgMO00?o00000>Z5=@3Z
+QCD00`3ZQCD00ol00000oooo0?ooo`1O0?ooo`00G@3oool00ol000000000o`00000F0440CP;o0000
+2`1B01H00ol00000Yc4T0:La90080:La90;o00008P3CMel00ol00000jXDe0>Z5=@040>Z5=@03o`00
+003oool0oooo05h0oooo001L0?ooo`03o`000000003o000001T0@@1>0_l0000905805P03o`00002W
+<B@0Yc4T00H0Yc4T0_l0000T0==gG`03o`00003ZQCD0jXDe00D0jXDe00?o00000?ooo`3oool0G@3o
+ool005/0oooo00Co000000000000003o00006`1104h2o`0000L0DP0F00?o00000:La902W<B@0102W
+<B@2o`0002H0dgMO00?o00000>Z5=@3ZQCD01P3ZQCD00ol00000oooo0?ooo`1L0?ooo`00F`3oool0
+1?l00000000000000?l0000M0440CP;o00001@1B01H01?l00000Yc4T0:La902W<B@3o`0002T0dgMO
+00?o00000>Z5=@3ZQCD01@3ZQCD00ol00000oooo0?ooo`1L0?ooo`00FP3oool01?l0000000000000
+0?l0000P0440CP;o00000P1B01H00ol00000Yc4T0:La9002o`0002`0dgMO00?o00000>Z5=@3ZQCD0
+1P3ZQCD00ol00000oooo0?ooo`1K0?ooo`00FP3oool01?l00000000000000?l0000R0440CPGo0000
+;P3CMel00ol00000jXDe0>Z5=@070>Z5=@03o`00003oool0oooo05X0oooo001I0?ooo`05o`000000
+0000000000000?l000008`1104h4o`0002h0dgMO00?o00000>Z5=@3ZQCD0203ZQCD00ol00000oooo
+0?ooo`1I0?ooo`00F@3oool01?l00000000000000?l0000Q0440CP?o000000@0J5>Vo`00003I[:T0
+fJbY1Ol0000Z0==gG`03o`00003ZQCD0jXDe00P0jXDe00?o00000?ooo`3oool0F03oool005P0oooo
+00Go00000000000000000000o`00000N0440CP?o00000`1XDjH3o`0000H0fJbY1?l0000V0==gG`03
+o`00003ZQCD0jXDe00T0jXDe00?o00000?ooo`3oool0E`3oool005L0oooo00?o0000000000000000
+0P0000000ol00000@@1>0440CP0J0440CP;o00001@1XDjH01Ol00000T8K4o`000032[<?o000000T0
+fJbY1?l0000R0==gG`03o`00003ZQCD0jXDe00T0jXDe00?o00000?ooo`3oool0E`3oool005L0oooo
+00Go00000000000000000000o`00000J0440CP?o00001`1XDjH00ol00000T8K4o`0000020<:/``03
+o`00003I[:T0fJbY00X0fJbY1Ol0000N0==gG`03o`00003ZQCD0jXDe00T0jXDe00?o00000?ooo`3o
+ool0EP3oool005H0oooo00?o00000000000000000P0000000ol00000@@1>0440CP0E0440CP?o0000
+2@1XDjH01?l00000T8K40926a?l000030<:/``03o`00003I[:T0fJbY00h0fJbY1?l0000J0==gG`03
+o`00003ZQCD0jXDe00X0jXDe00?o00000?ooo`3oool0E@3oool005H0oooo00?o0000000000000000
+0P0000000ol00000@@1>0440CP0C0440CP;o0000301XDjH01?l00000T8K40926a?l000040<:/``03
+o`00003I[:T0fJbY0140fJbY1Ol0000E0==gG`03o`00003ZQCD0jXDe00/0jXDe00?o00000?ooo`3o
+ool0E03oool005D0oooo00?o00000000000000000P0000000ol00000@@1>0440CP0A0440CP?o0000
+3@1XDjH01Ol00000T8K40926a02@Q/Co000000D0`Zc300?o00000=V/Z@3I[:T05@3I[:T4o`000140
+dgMO00?o00000>Z5=@3ZQCD0303ZQCD00ol00000oooo0?ooo`1C0?ooo`00E@3oool00ol000000000
+0000000200000003o`00001104h0@@1>00h0@@1>0ol0000?06QCYP03o`00002@Q/@0T8K40080T8K4
+00?o00000<:/``32[<<01032[<<00ol00000fJbY0=V/Z@0H0=V/Z@Go00003@3CMel00ol00000jXDe
+0>Z5=@0;0>Z5=@03o`00003oool0oooo05<0oooo001D0?ooo`03o`0000000000000000<0000000?o
+00000440CP1104h02`1104h3o`000180J5>V00?o00000926a02@Q/@00`2@Q/@00ol00000`Zc30<:/
+``030<:/``03o`00003I[:T0fJbY01d0fJbY1?l000090==gG`03o`00003ZQCD0jXDe00`0jXDe00?o
+00000?ooo`3oool0DP3oool005<0oooo00?o00000000000000000`0000000ol00000@@1>0440CP0:
+0440CP;o0000501XDjH00ol00000T8K40926a0040926a003o`000032[<<0`Zc300@0`Zc300?o0000
+0=V/Z@3I[:T0803I[:T4o`0000D0dgMO00?o00000>Z5=@3ZQCD03@3ZQCD00ol00000oooo0?ooo`1A
+0?ooo`00D`3oool00ol0000000000000000300000003o`00001104h0@@1>00L0@@1>0ol0000F06QC
+YP03o`00002@Q/@0T8K400@0T8K400?o00000<:/``32[<<01@32[<<00ol00000fJbY0=V/Z@0S0=V/
+Z@Go000000<0dgMOo`00003ZQCD03P3ZQCD00ol00000oooo0?ooo`1@0?ooo`00DP3oool00ol00000
+00000000000400000003o`00001104h0@@1>00@0@@1>0ol0000H06QCYP03o`00002@Q/@0T8K400D0
+T8K400?o00000<:/``32[<<01P32[<<00ol00000fJbY0=V/Z@0W0=V/Z@?o00003`3ZQCD00ol00000
+oooo0?ooo`1?0?ooo`00DP3oool00ol0000000000000000300000003o`00001104h0@@1>00<0@@1>
+0_l0000J06QCYP03o`00002@Q/@0T8K400H0T8K400?o00000<:/``32[<<01`32[<<00ol00000fJbY
+0=V/Z@0W0=V/Z@04o`00003ebZ7o0000o`0000h0jXDe00?o00000?ooo`3oool0CP3oool00540oooo
+00?o0000000000000000100000000ol00000@@1>0440CP03o`0001`0J5>V00?o00000926a02@Q/@0
+1P2@Q/@00ol00000`Zc30<:/``080<:/``03o`00003I[:T0fJbY02H0fJbY00Co00000?G:X@3ebZ40
+mLZQ0_l0000<0>Z5=@03o`00003oool0oooo04h0oooo001A0?ooo`03o`0000000000000000@00000
+0ol0000N06QCYP03o`00002@Q/@0T8K400L0T8K400?o00000<:/``32[<<02@32[<<00ol00000fJbY
+0=V/Z@0U0=V/Z@03o`00003ebZ40mLZQ00<0mLZQ00?o00000>Z5=@3ZQCD02P3ZQCD00ol00000oooo
+0?ooo`1=0?ooo`00D03oool00ol0000000000000000400000003o`00001XDjH0J5>V01h0J5>V00?o
+00000926a02@Q/@0202@Q/@00ol00000`Zc30<:/``090<:/``03o`00003I[:T0fJbY02@0fJbY00?o
+00000?G:X@3ebZ401@3ebZ42o`0000/0jXDe00?o00000?ooo`3oool0C03oool00500oooo00?o0000
+000000000000100000000ol00000J5>V06QCYP0N06QCYP03o`00002@Q/@0T8K400P0T8K400?o0000
+0<:/``32[<<02P32[<<00ol00000fJbY0=V/Z@0S0=V/Z@03o`00003ebZ40mLZQ00L0mLZQ0_l0000:
+0>Z5=@03o`00003oool0oooo04/0oooo001?0?ooo`03o`0000000000000000@000000_l0000O06QC
+YP03o`00002@Q/@0T8K400T0T8K400?o00000<:/``32[<<02`32[<<00ol00000fJbY0=V/Z@0R0=V/
+Z@03o`00003ebZ40mLZQ00T0mLZQ0_l000090>Z5=@03o`00003oool0oooo04X0oooo001>0?ooo`03
+o`0000000000000000@0000000?o000000TAT?l000007`1XDjH00ol00000T8K40926a0090926a003
+o`000032[<<0`Zc300`0`Zc300?o00000=V/Z@3I[:T08@3I[:T00ol00000mLZQ0?G:X@0;0?G:X@;o
+00001`3ZQCD00ol00000oooo0?ooo`1:0?ooo`00CP3oool00ol0000000000000000300000005o`00
+00094I002A6@00TAT?l000007@1XDjH00ol00000T8K40926a00:0926a003o`000032[<<0`Zc300d0
+`Zc300?o00000=V/Z@3I[:T0803I[:T00ol00000mLZQ0?G:X@0=0?G:X@;o00001P3ZQCD00ol00000
+oooo0?ooo`190?ooo`00C@3oool00ol0000000000000000300000003o`0000094I002A6@00802A6@
+00?o000006QCYP1XDjH06P1XDjH00ol00000T8K40926a00;0926a003o`000032[<<0`Zc300h0`Zc3
+00?o00000=V/Z@3I[:T07`3I[:T00ol00000mLZQ0?G:X@0?0?G:X@03o`00003ZQCD0jXDe00@0jXDe
+00?o00000?ooo`3oool0B03oool004d0oooo00?o00000000000000000P0000000ol000002A6@00TA
+T00300TAT003o`00001XDjH0J5>V01X0J5>V00?o00000926a02@Q/@02`2@Q/@00ol00000`Zc30<:/
+``0?0<:/``03o`00003I[:T0fJbY01h0fJbY00?o00000?G:X@3ebZ40403ebZ42o`0000D0jXDe00?o
+00000?ooo`3oool0A`3oool004`0oooo00?o00000000000000000P0000000ol000002A6@00TAT004
+00TAT003o`00001XDjH0J5>V01T0J5>V00?o00000926a02@Q/@0302@Q/@00ol00000`Zc30<:/``0@
+0<:/``03o`00003I[:T0fJbY01`0fJbY00?o00000?G:X@3ebZ404`3ebZ42o`0000@0jXDe00?o0000
+0?ooo`3oool0AP3oool004`0oooo00Go00000000000000000000o`00000700TAT003o`00001XDjH0
+J5>V01T0J5>V00?o00000926a02@Q/@03@2@Q/@00ol00000`Zc30<:/``0?0<:/``03o`00003I[:T0
+fJbY01`0fJbY00?o00000?G:X@3ebZ405@3ebZ42o`0000<0jXDe00?o00000?ooo`3oool0A@3oool0
+04/0oooo00Go00000000000000000000o`00000900TAT003o`00001XDjH0J5>V01L0J5>V00?o0000
+0926a02@Q/@03P2@Q/@00ol00000`Zc30<:/``0@0<:/``03o`00003I[:T0fJbY01/0fJbY00?o0000
+0?G:X@3ebZ405`3ebZ42o`0000030>Z5=Ol00000oooo04H0oooo001:0?ooo`05o`00000000000000
+00000?l000002P094I000ol00000J5>V06QCYP0F06QCYP03o`00002@Q/@0T8K400l0T8K400?o0000
+0<:/``32[<<04@32[<<00ol00000fJbY0=V/Z@0J0=V/Z@03o`00003ebZ40mLZQ01T0mLZQ00?o0000
+0>Z5=Ol00000AP3oool004X0oooo00Co000000000000003o00002`094I000ol00000J5>V06QCYP0F
+06QCYP03o`00002@Q/@0T8K400l0T8K400?o00000<:/``32[<<04P32[<<00ol00000fJbY0=V/Z@0I
+0=V/Z@03o`00003ebZ40mLZQ01X0mLZQ0ol000150?ooo`00B@3oool01?l00000000000000?l0000<
+00TAT003o`00001XDjH0J5>V01D0J5>V00?o00000926a02@Q/@0402@Q/@00ol00000`Zc30<:/``0C
+0<:/``03o`00003I[:T0fJbY01P0fJbY00?o00000?G:X@3ebZ40703ebZ42o`0004@0oooo00190?oo
+o`03o`000000003o000000d02A6@00?o000006QCYP1XDjH0501XDjH00ol00000T8K40926a00A0926
+a003o`000032[<<0`Zc301@0`Zc300?o00000=V/Z@3I[:T05`3I[:T00ol00000mLZQ0?G:X@0M0?G:
+X@;o0000@`3oool004P0oooo00?o000000000?l000003`094I000ol00000J5>V06QCYP0C06QCYP03
+o`00002@Q/@0T8K40140T8K400?o00000<:/``32[<<05@32[<<00ol00000fJbY0=V/Z@0E0=V/Z@03
+o`00003ebZ40mLZQ01d0mLZQ00?o00000??`^ol00000@`3oool004P0oooo0_l0000@00TAT003o`00
+001XDjH0J5>V0180J5>V00?o00000926a02@Q/@04P2@Q/@00ol00000`Zc30<:/``0F0<:/``03o`00
+003I[:T0fJbY01@0fJbY00?o00000?G:X@3ebZ406`3ebZ42o`0000030??`^ol00000oooo04<0oooo
+00170?ooo`;o00004@094I000ol00000J5>V06QCYP0B06QCYP03o`00002@Q/@0T8K40180T8K400?o
+00000<:/``32[<<05P32[<<00ol00000fJbY0=V/Z@0D0=V/Z@03o`00003ebZ40mLZQ01X0mLZQ00Co
+00000??`^`3cl;_o0000A@3oool004H0oooo0_l0000B00TAT003o`00001XDjH0J5>V0140J5>V00?o
+00000926a02@Q/@04`2@Q/@00ol00000`Zc30<:/``0G0<:/``03o`00003I[:T0fJbY01<0fJbY00?o
+00000?G:X@3ebZ40603ebZ42o`0000<0lo2k00?o00000?ooo`3oool0@`3oool004H0oooo00?o0000
+00TAT0094I004@094I000ol00000J5>V06QCYP0@06QCYP03o`00002@Q/@0T8K401@0T8K400?o0000
+0<:/``32[<<06032[<<00ol00000fJbY0=V/Z@0B0=V/Z@03o`00003ebZ40mLZQ01L0mLZQ00?o0000
+0??`^`3cl;/00P3cl;/00ol00000oooo0?ooo`140?ooo`00A@3oool2o`0001@02A6@00?o000006QC
+YP1XDjH03`1XDjH00ol00000T8K40926a00D0926a003o`000032[<<0`Zc301T0`Zc300?o00000=V/
+Z@3I[:T04@3I[:T00ol00000mLZQ0?G:X@0E0?G:X@;o0000103cl;/00ol00000oooo0?ooo`150?oo
+o`00A@3oool00ol0000001BSo`00000C00TAT003o`00001XDjH0J5>V00h0J5>V00?o00000926a02@
+Q/@05@2@Q/@00ol00000`Zc30<:/``0J0<:/``03o`00003I[:T0fJbY0100fJbY00?o00000?G:X@3e
+bZ40503ebZ400ol00000lo2k0??`^`040??`^`03o`00003oool0oooo04D0oooo00160?ooo`03o`00
+00005:?o000001802A6@00?o000006QCYP1XDjH03P1XDjH00ol00000T8K40926a00E0926a003o`00
+0032[<<0`Zc301/0`Zc300?o00000=V/Z@3I[:T03P3I[:T00ol00000mLZQ0?G:X@0C0?G:X@;o0000
+1P3cl;/00ol00000oooo0?ooo`160?ooo`00A`3oool00ol0000001BSo`00000A00TAT003o`00001X
+DjH0J5>V00d0J5>V00?o00000926a02@Q/@05P2@Q/@00ol00000`Zc30<:/``0L0<:/``03o`00003I
+[:T0fJbY00d0fJbY00?o00000?G:X@3ebZ404P3ebZ400ol00000lo2k0??`^`060??`^`03o`00003o
+ool0oooo04H0oooo00170?ooo`04o`0000005:<001BSo`0001002A6@00?o000006QCYP1XDjH0301X
+DjH00ol00000T8K40926a00H0926a003o`000032[<<0`Zc301`0`Zc300?o00000=V/Z@3I[:T0303I
+[:T00ol00000mLZQ0?G:X@0@0?G:X@;o0000203cl;/00ol00000oooo0?ooo`170?ooo`00B03oool0
+0ol0000001BS000DX`02o`0000l02A6@00?o000006QCYP1XDjH02`1XDjH00ol00000T8K40926a00H
+0926a003o`000032[<<0`Zc301`0`Zc300?o00000=V/Z@3I[:T0303I[:T00ol00000mLZQ0?G:X@0?
+0?G:X@03o`00003cl;/0lo2k00L0lo2k00?o00000?ooo`3oool0B03oool004P0oooo00?o0000000D
+X`005:<00P005:<00ol000002A6@00TAT00<00TAT003o`00001XDjH0J5>V00X0J5>V00?o00000926
+a02@Q/@06@2@Q/@00ol00000`Zc30<:/``0M0<:/``03o`00003I[:T0fJbY00/0fJbY00?o00000?G:
+X@3ebZ403@3ebZ42o`0000X0lo2k00?o00000?ooo`3oool0B03oool004T0oooo00?o0000000DX`00
+5:<00P005:<00ol000002A6@00TAT00;00TAT003o`00001XDjH0J5>V00X0J5>V00?o00000926a02@
+Q/@06@2@Q/@00ol00000`Zc30<:/``0N0<:/``03o`00003I[:T0fJbY00X0fJbY00?o00000?G:X@3e
+bZ40303ebZ400ol00000lo2k0??`^`090??`^`03o`00003oool0oooo04T0oooo001:0?ooo`03o`00
+00005:<001BS008001BS00?o000000TAT0094I002P094I000ol00000J5>V06QCYP0906QCYP03o`00
+002@Q/@0T8K401X0T8K400?o00000<:/``32[<<07`32[<<00ol00000fJbY0=V/Z@090=V/Z@03o`00
+003ebZ40mLZQ00/0mLZQ00?o00000??`^`3cl;/02@3cl;/00ol00000oooo0?ooo`1:0?ooo`00BP3o
+ool00ol0000001BS000DX`03000DX`03o`0000094I002A6@00T02A6@00?o000006QCYP1XDjH0201X
+DjH00ol00000T8K40926a00K0926a003o`000032[<<0`Zc30200`Zc300?o00000=V/Z@3I[:T01`3I
+[:T00ol00000mLZQ0?G:X@0:0?G:X@;o0000303cl;/00ol00000oooo0?ooo`1:0?ooo`00B`3oool0
+0ol0000001BS000DX`03000DX`03o`0000094I002A6@00T02A6@00?o000006QCYP1XDjH01`1XDjH0
+0ol00000T8K40926a00K0926a003o`000032[<<0`Zc30240`Zc300?o00000=V/Z@3I[:T01P3I[:T0
+0ol00000mLZQ0?G:X@090?G:X@03o`00003cl;/0lo2k00/0lo2k00?o00000?ooo`3oool0B`3oool0
+04`0oooo00?o0000000DX`005:<00`005:<2o`0000T02A6@00?o000006QCYP1XDjH01P1XDjH00ol0
+0000T8K40926a00L0926a003o`000032[<<0`Zc30280`Zc300?o00000=V/Z@3I[:T01@3I[:T00ol0
+0000mLZQ0?G:X@070?G:X@;o00003@3cl;/00ol00000oooo0?ooo`1<0?ooo`00C03oool00ol00000
+01BS000DX`05000DX`03o`0000094I002A6@00H02A6@00?o000006QCYP1XDjH01@1XDjH00ol00000
+T8K40926a00M0926a003o`000032[<<0`Zc30280`Zc300?o00000=V/Z@3I[:T01@3I[:T00ol00000
+mLZQ0?G:X@060?G:X@03o`00003cl;/0lo2k00d0lo2k00?o00000?ooo`3oool0C03oool004d0oooo
+00?o0000000DX`005:<01@005:<00ol000002A6@00TAT00500TAT003o`00001XDjH0J5>V00D0J5>V
+00?o00000926a02@Q/@07@2@Q/@00ol00000`Zc30<:/``0S0<:/``03o`00003I[:T0fJbY00@0fJbY
+00?o00000?G:X@3ebZ40103ebZ42o`0000l0lo2k00?o00000?ooo`3oool0C@3oool004h0oooo00?o
+0000000DX`005:<01@005:<00ol000002A6@00TAT00400TAT003o`00001XDjH0J5>V00@0J5>V00?o
+00000926a02@Q/@07P2@Q/@00ol00000`Zc30<:/``0T0<:/``03o`00003I[:T0fJbY00<0fJbY00?o
+00000?G:X@3ebZ400`3ebZ400ol00000lo2k0??`^`0?0??`^`03o`00003oool0oooo04d0oooo001>
+0?ooo`03o`0000005:<001BS00H001BS00?o000000TAT0094I0010094I000ol00000J5>V06QCYP03
+06QCYP03o`00002@Q/@0T8K401h0T8K400?o00000<:/``32[<<09@32[<<00ol00000fJbY0=V/Z@02
+0=V/Z@04o`00003ebZ40mLZQ0?G:X@;o00004@3cl;/00ol00000oooo0?ooo`1>0?ooo`00C`3oool0
+0ol0000001BS000DX`06000DX`;o000010094I000ol00000J5>V06QCYP0206QCYP03o`00002@Q/@0
+T8K401l0T8K400?o00000<:/``32[<<09P32[<<01?l00000fJbY0=V/ZOl000030?G:X@03o`00003c
+l;/0lo2k0100lo2k00?o00000?ooo`3oool0C`3oool004l0oooo00?o0000000DX`005:<020005:<0
+1Ol000002A6@00TAT0094I3o000000<0J5>V00?o00000926a02@Q/@0802@Q/@00ol00000`Zc30<:/
+``0W0<:/``04o`00003I[:Wo00000?G:X@;o00004`3cl;/00ol00000oooo0?ooo`1?0?ooo`00D03o
+ool00ol0000001BS000DX`08000DX`04o`0000094I002A6@o`0000<0J5>V00?o00000926a02@Q/@0
+802@Q/@00ol00000`Zc30<:/``0X0<:/``?o0000503cl;/00ol00000oooo0?ooo`1@0?ooo`00D@3o
+ool00ol0000001BS000DX`08000DX`03o`0000094I3o00000080J5>V00?o00000926a02@Q/@08P2@
+Q/@00ol00000`Zc30<:/``0U0<:/``Co0000503cl;/00ol00000oooo0?ooo`1A0?ooo`00D@3oool0
+0ol0000001BS000DX`09000DX`05o`0000094I3o000006QCY_l00000902@Q/@00ol00000`Zc30<:/
+``0O0<:/``Ko00000`30b>400ol00000lo2k0??`^`0B0??`^`03o`00003oool0oooo0540oooo001B
+0?ooo`03o`0000005:<001BS00T001BS0ol0000U0926a003o`000032[<<0`Zc301T0`Zc31_l00008
+0<38h@03o`00003EknGo00000180lo2k00?o00000?ooo`3oool0DP3oool005<0oooo00?o0000000D
+X`005:<02@005:<6o`000240T8K400?o00000<:/``32[<<04P32[<<7o`0000d0`<SQ00Co00000=G_
+i@3EknGo00004@3cl;/00ol00000oooo0?ooo`1C0?ooo`00D`3oool00ol0000001BS000DX`09000D
+X`03o`000024W>80Q9cR00<0Q9cR2_l0000G0926a003o`000032[<<0`Zc300`0`Zc31_l0000C0<38
+h@03o`00003EknD0eNoU0080eNoU00?o00000??`^`3cl;/03P3cl;/00ol00000oooo0?ooo`1C0?oo
+o`00E03oool00ol0000001BS000DX`08000DX`;o00003P24W>89o`0000h0T8K400?o00000<:/``32
+[<<01P32[<<6o`0001T0`<SQ00?o00000=G_i@3EknD00P3EknD00ol00000lo2k0??`^`0=0??`^`03
+o`00003oool0oooo05@0oooo001E0?ooo`03o`0000005:<001BS00L001BS00?o000002eeh_l00000
+5P24W>8:o`0000@0T8K400?o00000<:/``32[<<01_l0000N0<38h@03o`00003EknD0eNoU00@0eNoU
+00?o00000??`^`3cl;/0303cl;/00ol00000oooo0?ooo`1D0?ooo`00E@3oool00ol0000001BS000D
+X`07000DX`04o`00000]MN80;GGRo`0001l0Q9cR1ol0000S0<38h@03o`00003EknD0eNoU00D0eNoU
+00?o00000??`^`3cl;/02`3cl;/00ol00000oooo0?ooo`1E0?ooo`00EP3oool00ol0000001BS000D
+X`06000DX`05o`00000]MN80;GGR02eeh_l000008P24W>800ol00000`<SQ0<38h@0S0<38h@03o`00
+003EknD0eNoU00H0eNoU00?o00000??`^`3cl;/02@3cl;/00ol00000oooo0?ooo`1F0?ooo`00EP3o
+ool00ol0000001BS000DX`06000DX`03o`00000]MN80;GGR0080;GGR00?o000008BLhP24W>807`24
+W>800ol00000`<SQ0<38h@0R0<38h@03o`00003EknD0eNoU00L0eNoU00?o00000??`^`3cl;/02@3c
+l;/00ol00000oooo0?ooo`1F0?ooo`00E`3oool00ol0000001BS000DX`05000DX`03o`00000]MN80
+;GGR00<0;GGR00?o000008BLhP24W>807P24W>800ol00000`<SQ0<38h@0Q0<38h@03o`00003EknD0
+eNoU00T0eNoU00?o00000??`^`3cl;/01`3cl;/00ol00000oooo0?ooo`1G0?ooo`00F03oool00ol0
+000001BS000DX`04000DX`03o`00000]MN80;GGR00@0;GGR00?o000008BLhP24W>807@24W>800ol0
+0000`<SQ0<38h@0P0<38h@03o`00003EknD0eNoU00X0eNoU00?o00000??`^`3cl;/01P3cl;/00ol0
+0000oooo0?ooo`1H0?ooo`00F03oool00ol0000001BS000DX`04000DX`03o`00000]MN80;GGR00D0
+;GGR00?o000008BLhP24W>807@24W>800ol00000`<SQ0<38h@0O0<38h@03o`00003EknD0eNoU00X0
+eNoU00?o00000??`^`3cl;/01P3cl;/00ol00000oooo0?ooo`1H0?ooo`00F@3oool00ol0000001BS
+000DX`03000DX`03o`00000]MN80;GGR00H0;GGR00?o000008BLhP24W>807024W>800ol00000`<SQ
+0<38h@0N0<38h@03o`00003EknD0eNoU00`0eNoU00?o00000??`^`3cl;/0103cl;/00ol00000oooo
+0?ooo`1I0?ooo`00FP3oool00ol0000001BS000DX`02000DX`03o`00000]MN80;GGR00L0;GGR00?o
+000008BLhP24W>806`24W>800ol00000`<SQ0<38h@0M0<38h@03o`00003EknD0eNoU00d0eNoU00?o
+00000??`^`3cl;/00`3cl;/00ol00000oooo0?ooo`1J0?ooo`00FP3oool00ol0000001BS000DX`02
+000DX`03o`00000]MN80;GGR00P0;GGR00?o000008BLhP24W>806P24W>800ol00000`<SQ0<38h@0L
+0<38h@03o`00003EknD0eNoU00l0eNoU00?o00000??`^`3cl;/00P3cl;/00ol00000oooo0?ooo`1J
+0?ooo`00F`3oool01Ol0000001BS000DX`005:?o000000/0;GGR00?o000008BLhP24W>806@24W>80
+0ol00000`<SQ0<38h@0L0<38h@03o`00003EknD0eNoU00l0eNoU00Go00000??`^`3cl;/0lo2ko`00
+001M0?ooo`00G03oool01?l0000001BS000DXol0000<02eehP03o`000024W>80Q9cR01P0Q9cR00?o
+00000<38h@30b>406`30b>400ol00000eNoU0=G_i@0A0=G_i@04o`00003cl;/0lo2ko`0005d0oooo
+001L0?ooo`04o`0000005:<001BSo`0000d0;GGR00?o000008BLhP24W>805`24W>800ol00000`<SQ
+0<38h@0J0<38h@03o`00003EknD0eNoU0180eNoU00?o00000??`^ol00000GP3oool005d0oooo00?o
+0000000DXol000003P0]MN800ol00000Q9cR08BLhP0G08BLhP03o`000030b>40`<SQ01T0`<SQ00?o
+00000=G_i@3EknD04P3EknD2o`0005l0oooo001M0?ooo`03o`0000005:?o000000h0;GGR00?o0000
+08BLhP24W>805`24W>800ol00000`<SQ0<38h@0H0<38h@03o`00003EknD0eNoU0180eNoU00?o0000
+0?ooo`3oool0G`3oool005h0oooo0_l0000?02eehP03o`000024W>80Q9cR01H0Q9cR00?o00000<38
+h@30b>405`30b>400ol00000eNoU0=G_i@0A0=G_i@;o0000HP3oool005l0oooo0_l0000?02eehP03
+o`000024W>80Q9cR01D0Q9cR00?o00000<38h@30b>405P30b>400ol00000eNoU0=G_i@0A0=G_i@03
+o`00003oool0oooo0680oooo001Q0?ooo`03o`00000]MN80;GGR00d0;GGR00?o000008BLhP24W>80
+5024W>800ol00000`<SQ0<38h@0F0<38h@03o`00003EknD0eNoU0100eNoU00?o00000?ooo`3oool0
+H`3oool00680oooo0_l0000>02eehP03o`000024W>80Q9cR01<0Q9cR00?o00000<38h@30b>405@30
+b>400ol00000eNoU0=G_i@0?0=G_i@;o0000IP3oool006@0oooo00?o000002eehP0]MN80300]MN80
+0ol00000Q9cR08BLhP0B08BLhP03o`000030b>40`<SQ01@0`<SQ00?o00000=G_i@3EknD03`3EknD0
+0ol00000oooo0?ooo`1V0?ooo`00I@3oool2o`0000d0;GGR00?o000008BLhP24W>804P24W>800ol0
+0000`<SQ0<38h@0B0<38h@03o`00003EknD0eNoU00h0eNoU0_l0001Y0?ooo`00I`3oool2o`0000`0
+;GGR00?o000008BLhP24W>804@24W>800ol00000`<SQ0<38h@0B0<38h@03o`00003EknD0eNoU00d0
+eNoU00?o00000?ooo`3oool0J@3oool006T0oooo00?o000002eehP0]MN802P0]MN800ol00000Q9cR
+08BLhP0@08BLhP03o`000030b>40`<SQ0140`<SQ00?o00000=G_i@3EknD0303EknD2o`0006`0oooo
+001Z0?ooo`;o00002`0]MN800ol00000Q9cR08BLhP0?08BLhP03o`000030b>40`<SQ0100`<SQ00?o
+00000=G_i@3EknD0303EknD00ol00000oooo0?ooo`1/0?ooo`00K03oool00ol00000;GGR02eehP09
+02eehP03o`000024W>80Q9cR00h0Q9cR00?o00000<38h@30b>404030b>400ol00000eNoU0=G_i@0:
+0=G_i@;o0000K`3oool006d0oooo0_l0000:02eehP03o`000024W>80Q9cR00d0Q9cR00?o00000<38
+h@30b>403`30b>400ol00000eNoU0=G_i@0:0=G_i@03o`00003oool0oooo06l0oooo001_0?ooo`03
+o`00000]MN80;GGR00P0;GGR00?o000008BLhP24W>803024W>800ol00000`<SQ0<38h@0>0<38h@03
+o`00003EknD0eNoU00X0eNoU00?o00000?ooo`3oool0L03oool00700oooo0_l0000902eehP03o`00
+0024W>80Q9cR00/0Q9cR00?o00000<38h@30b>403@30b>400ol00000eNoU0=G_i@090=G_i@;o0000
+L`3oool00780oooo00?o000002eehP0]MN801`0]MN800ol00000Q9cR08BLhP0;08BLhP03o`000030
+b>40`<SQ00`0`<SQ00?o00000=G_i@3EknD0203EknD00ol00000oooo0?ooo`1c0?ooo`00L`3oool2
+o`0000P0;GGR00?o000008BLhP24W>802P24W>800ol00000`<SQ0<38h@0;0<38h@03o`00003EknD0
+eNoU00L0eNoU0_l0001f0?ooo`00M@3oool2o`0000H0;GGR00?o000008BLhP24W>802P24W>800ol0
+0000`<SQ0<38h@0:0<38h@03o`00003EknD0eNoU00L0eNoU00?o00000?ooo`3oool0MP3oool007L0
+oooo00?o000002eehP0]MN80100]MN800ol00000Q9cR08BLhP0908BLhP03o`000030b>40`<SQ00X0
+`<SQ00?o00000=G_i@3EknD01@3EknD2o`0007T0oooo001h0?ooo`;o00001@0]MN800ol00000Q9cR
+08BLhP0808BLhP03o`000030b>40`<SQ00T0`<SQ00?o00000=G_i@3EknD01@3EknD00ol00000oooo
+0?ooo`1i0?ooo`00NP3oool00ol00000;GGR02eehP0302eehP03o`000024W>80Q9cR00L0Q9cR00?o
+00000<38h@30b>402030b>400ol00000eNoU0=G_i@050=G_i@03o`00003oool0oooo07X0oooo001k
+0?ooo`;o0000100]MN800ol00000Q9cR08BLhP0608BLhP03o`000030b>40`<SQ00L0`<SQ00?o0000
+0=G_i@3EknD0103EknD2o`0007d0oooo001m0?ooo`03o`00000]MN80;GGR0080;GGR00?o000008BL
+hP24W>801P24W>800ol00000`<SQ0<38h@060<38h@03o`00003EknD0eNoU00<0eNoU00?o00000?oo
+o`3oool0O@3oool007h0oooo0_l0000302eehP03o`000024W>80Q9cR00D0Q9cR00?o00000<38h@30
+b>401@30b>400ol00000eNoU0=G_i@020=G_i@;o0000P03oool00800oooo00Go000002eehP0]MN80
+;GGRo`00000608BLhP03o`000030b>40`<SQ00@0`<SQ00?o00000=G_i@3EknD00P3EknD00ol00000
+oooo0?ooo`200?ooo`00P@3oool2o`000080;GGR00?o000008BLhP24W>800`24W>800ol00000`<SQ
+0<38h@030<38h@04o`00003EknD0eNoU0=G_i@;o0000P`3oool008<0oooo00Co000002eehP0]MN;o
+00001024W>800ol00000`<SQ0<38h@030<38h@04o`00003EknD0eNoUo`0008D0oooo00240?ooo`;o
+000000<0;GGRo`000024W>800P24W>800ol00000`<SQ0<38h@020<38h@04o`00003EknGo0000o`00
+08H0oooo00260?ooo`?o00000P24W>801ol00000`<SQ0<38h@30b>7o00000=G_iOl00000R03oool0
+08P0oooo0_l0000208BLhP03o`000030b>40`<SQ00;o0000R@3oool008T0oooo0_l000000`24W>;o
+00000<38h@02o`0008X0oooo002;0?ooo`?o0000S03oool008`0oooo00?o00000?ooo`3oool0R`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00001\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.56256 .57912 m .54135 .68857 L .65684 .64913 L closepath p .417 .094 .308 r
+F P
+0 g
+s
+.41824 .66762 m .54135 .68857 L .56256 .57912 L closepath p .66 .311 .37 r
+F P
+0 g
+s
+.56256 .57912 m .68009 .53652 L .64695 .41988 L closepath p .434 .359 .673 r
+F P
+0 g
+s
+.68009 .53652 m .56256 .57912 L .65684 .64913 L closepath p .334 .121 .435 r
+F P
+0 g
+s
+.56256 .57912 m .53835 .42212 L .42318 .44701 L closepath p .713 .619 .75 r
+F P
+0 g
+s
+.53835 .42212 m .56256 .57912 L .64695 .41988 L closepath p .561 .511 .757 r
+F P
+0 g
+s
+.40674 .56343 m .42318 .44701 L .56256 .57912 L closepath p .774 .613 .68 r
+F P
+0 g
+s
+.40674 .56343 m .41824 .66762 L .56256 .57912 L closepath p .765 .483 .507 r
+F P
+0 g
+s
+.26321 .52582 m .36084 .38051 L .42318 .44701 L closepath p .888 .809 .765 r
+F P
+0 g
+s
+.5 .27523 m .36084 .38051 L .42318 .44701 L closepath p .806 .811 .855 r
+F P
+0 g
+s
+.53835 .42212 m .42318 .44701 L .5 .27523 L closepath p .721 .705 .835 r
+F P
+0 g
+s
+.40674 .56343 m .26321 .52582 L .42318 .44701 L closepath p .861 .697 .677 r
+F P
+0 g
+s
+.53835 .42212 m .5 .27523 L .64695 .41988 L closepath p .547 .593 .851 r
+F P
+0 g
+s
+.41824 .66762 m .40674 .56343 L .26321 .52582 L closepath p .863 .558 .47 r
+F P
+0 g
+s
+.64695 .41988 m .64718 .34153 L .76097 .47154 L closepath p .061 .255 .748 r
+F P
+0 g
+s
+.5 .27523 m .64718 .34153 L .64695 .41988 L closepath p .342 .523 .889 r
+F P
+0 g
+s
+.68009 .53652 m .64695 .41988 L .76097 .47154 L closepath p .175 .194 .64 r
+F P
+0 g
+s
+.41824 .66762 m .54135 .68857 L .5 .75807 L closepath p .566 .066 .028 r
+F P
+0 g
+s
+.34918 .66239 m .5 .75807 L .41824 .66762 L closepath p .626 .065 0 r
+F P
+0 g
+s
+.34918 .66239 m .26321 .52582 L .41824 .66762 L closepath p .862 .427 .174 r
+F P
+0 g
+s
+.33546 .34355 m .36084 .38051 L .5 .27523 L closepath p .79 .986 .894 r
+F P
+0 g
+s
+.36084 .38051 m .26321 .52582 L .33546 .34355 L closepath p .918 .978 .732 r
+F P
+0 g
+s
+.65684 .64913 m .68009 .53652 L .76097 .47154 L closepath p 0 0 .253 r
+F P
+0 g
+s
+.5 .27523 m .64718 .34153 L .59455 .30616 L closepath p 0 .362 .749 r
+F P
+0 g
+s
+.45357 .28826 m .33546 .34355 L .5 .27523 L closepath p .361 .819 .715 r
+F P
+0 g
+s
+.45357 .28826 m .5 .27523 L .59455 .30616 L closepath p .255 0 0 r
+F P
+0 g
+s
+.5 .75807 m .54135 .68857 L .65684 .64913 L closepath p .15 0 0 r
+F P
+0 g
+s
+.32295 .59653 m .29275 .45797 L .26321 .52582 L closepath p 0 0 .455 r
+F P
+0 g
+s
+.33546 .34355 m .29275 .45797 L .26321 .52582 L closepath p 0 0 0 r
+F P
+0 g
+s
+.34918 .66239 m .32295 .59653 L .26321 .52582 L closepath p 0 0 .487 r
+F P
+0 g
+s
+.66028 .63762 m .5 .75807 L .65684 .64913 L closepath p .514 .877 .654 r
+F P
+0 g
+s
+.66028 .63762 m .65684 .64913 L .76097 .47154 L closepath p .644 .823 .403 r
+F P
+0 g
+s
+.64718 .34153 m .76097 .47154 L .59455 .30616 L closepath p .671 .159 0 r
+F P
+0 g
+s
+.34918 .66239 m .32295 .59653 L .5 .75807 L closepath p .029 .388 .849 r
+F P
+0 g
+s
+.41264 .38951 m .29275 .45797 L .33546 .34355 L closepath p .057 0 .209 r
+F P
+0 g
+s
+.45357 .28826 m .33546 .34355 L .41264 .38951 L closepath p .168 0 .005 r
+F P
+0 g
+s
+.60215 .57046 m .62074 .41788 L .76097 .47154 L closepath p .912 .736 .65 r
+F P
+0 g
+s
+.59455 .30616 m .62074 .41788 L .76097 .47154 L closepath p .89 .508 .307 r
+F P
+0 g
+s
+.66028 .63762 m .60215 .57046 L .76097 .47154 L closepath p .937 .888 .758 r
+F P
+0 g
+s
+.45357 .28826 m .41264 .38951 L .59455 .30616 L closepath p .588 .142 .159 r
+F P
+0 g
+s
+.5 .75807 m .4491 .60337 L .60215 .57046 L closepath p .717 .749 .877 r
+F P
+0 g
+s
+.32295 .59653 m .4491 .60337 L .5 .75807 L closepath p .452 .58 .891 r
+F P
+0 g
+s
+.66028 .63762 m .5 .75807 L .60215 .57046 L closepath p .822 .894 .893 r
+F P
+0 g
+s
+.41264 .38951 m .29275 .45797 L .32295 .59653 L closepath p .28 .235 .628 r
+F P
+0 g
+s
+.41264 .38951 m .62074 .41788 L .59455 .30616 L closepath p .772 .428 .404 r
+F P
+0 g
+s
+.4491 .60337 m .41264 .38951 L .32295 .59653 L closepath p .493 .477 .768 r
+F P
+0 g
+s
+.62074 .41788 m .60215 .57046 L .41264 .38951 L closepath p .797 .625 .668 r
+F P
+0 g
+s
+.41264 .38951 m .4491 .60337 L .60215 .57046 L closepath p .715 .633 .765 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.59954 .57459 m .56558 .68627 L .67262 .64122 L closepath p .311 0 .257 r
+F P
+0 g
+s
+.44591 .6707 m .56558 .68627 L .59954 .57459 L closepath p .607 .267 .368 r
+F P
+0 g
+s
+.59954 .57459 m .69877 .5249 L .66153 .40832 L closepath p .34 .298 .665 r
+F P
+0 g
+s
+.69877 .5249 m .59954 .57459 L .67262 .64122 L closepath p .196 .004 .378 r
+F P
+0 g
+s
+.59954 .57459 m .5608 .41844 L .44915 .45153 L closepath p .677 .589 .75 r
+F P
+0 g
+s
+.5608 .41844 m .59954 .57459 L .66153 .40832 L closepath p .506 .478 .761 r
+F P
+0 g
+s
+.43837 .56787 m .44915 .45153 L .59954 .57459 L closepath p .736 .58 .68 r
+F P
+0 g
+s
+.43837 .56787 m .44591 .6707 L .59954 .57459 L closepath p .72 .448 .513 r
+F P
+0 g
+s
+.28463 .53964 m .37205 .39097 L .44915 .45153 L closepath p .856 .765 .761 r
+F P
+0 g
+s
+.5 .27523 m .37205 .39097 L .44915 .45153 L closepath p .785 .779 .847 r
+F P
+0 g
+s
+.5608 .41844 m .44915 .45153 L .5 .27523 L closepath p .693 .681 .834 r
+F P
+0 g
+s
+.43837 .56787 m .28463 .53964 L .44915 .45153 L closepath p .823 .658 .679 r
+F P
+0 g
+s
+.44591 .6707 m .43837 .56787 L .28463 .53964 L closepath p .82 .525 .492 r
+F P
+0 g
+s
+.5608 .41844 m .5 .27523 L .66153 .40832 L closepath p .503 .574 .861 r
+F P
+0 g
+s
+.32583 .35751 m .37205 .39097 L .5 .27523 L closepath p .826 .964 .896 r
+F P
+0 g
+s
+.37205 .39097 m .28463 .53964 L .32583 .35751 L closepath p .941 .942 .761 r
+F P
+0 g
+s
+.44591 .6707 m .56558 .68627 L .5 .75807 L closepath p .519 .031 .037 r
+F P
+0 g
+s
+.36151 .669 m .5 .75807 L .44591 .6707 L closepath p .633 .089 0 r
+F P
+0 g
+s
+.36151 .669 m .28463 .53964 L .44591 .6707 L closepath p .839 .425 .254 r
+F P
+0 g
+s
+.32583 .35751 m .28173 .47266 L .28463 .53964 L closepath p .869 .87 .426 r
+F P
+0 g
+s
+.36151 .669 m .31287 .60622 L .28463 .53964 L closepath p .693 .257 0 r
+F P
+0 g
+s
+.31287 .60622 m .28173 .47266 L .28463 .53964 L closepath p 0 0 .262 r
+F P
+0 g
+s
+.66153 .40832 m .63975 .32946 L .75109 .45378 L closepath p 0 .156 .697 r
+F P
+0 g
+s
+.5 .27523 m .63975 .32946 L .66153 .40832 L closepath p .262 .501 .896 r
+F P
+0 g
+s
+.69877 .5249 m .66153 .40832 L .75109 .45378 L closepath p 0 .075 .593 r
+F P
+0 g
+s
+.5 .27523 m .63975 .32946 L .56363 .2992 L closepath p 0 .333 .666 r
+F P
+0 g
+s
+.42732 .29358 m .32583 .35751 L .5 .27523 L closepath p .52 .912 .793 r
+F P
+0 g
+s
+.42732 .29358 m .5 .27523 L .56363 .2992 L closepath p .197 0 0 r
+F P
+0 g
+s
+.5 .75807 m .56558 .68627 L .67262 .64122 L closepath p 0 0 0 r
+F P
+0 g
+s
+.67262 .64122 m .69877 .5249 L .75109 .45378 L closepath p 0 0 .082 r
+F P
+0 g
+s
+.36151 .669 m .31287 .60622 L .5 .75807 L closepath p 0 .299 .776 r
+F P
+0 g
+s
+.65243 .6299 m .5 .75807 L .67262 .64122 L closepath p .671 .967 .773 r
+F P
+0 g
+s
+.65243 .6299 m .67262 .64122 L .75109 .45378 L closepath p .849 .946 .586 r
+F P
+0 g
+s
+.36409 .39816 m .28173 .47266 L .32583 .35751 L closepath p 0 0 .054 r
+F P
+0 g
+s
+.42732 .29358 m .32583 .35751 L .36409 .39816 L closepath p 0 0 0 r
+F P
+0 g
+s
+.63975 .32946 m .75109 .45378 L .56363 .2992 L closepath p .742 .22 0 r
+F P
+0 g
+s
+.36409 .39816 m .28173 .47266 L .31287 .60622 L closepath p .098 .111 .583 r
+F P
+0 g
+s
+.42732 .29358 m .36409 .39816 L .56363 .2992 L closepath p .508 .075 .152 r
+F P
+0 g
+s
+.5 .75807 m .42038 .60681 L .56879 .56558 L closepath p .68 .716 .876 r
+F P
+0 g
+s
+.31287 .60622 m .42038 .60681 L .5 .75807 L closepath p .369 .542 .895 r
+F P
+0 g
+s
+.65243 .6299 m .5 .75807 L .56879 .56558 L closepath p .8 .851 .888 r
+F P
+0 g
+s
+.42038 .60681 m .36409 .39816 L .31287 .60622 L closepath p .402 .422 .766 r
+F P
+0 g
+s
+.56879 .56558 m .58146 .41029 L .75109 .45378 L closepath p .861 .685 .661 r
+F P
+0 g
+s
+.56363 .2992 m .58146 .41029 L .75109 .45378 L closepath p .842 .478 .364 r
+F P
+0 g
+s
+.65243 .6299 m .56879 .56558 L .75109 .45378 L closepath p .903 .832 .766 r
+F P
+0 g
+s
+.36409 .39816 m .58146 .41029 L .56363 .2992 L closepath p .712 .382 .418 r
+F P
+0 g
+s
+.36409 .39816 m .42038 .60681 L .56879 .56558 L closepath p .665 .593 .765 r
+F P
+0 g
+s
+.58146 .41029 m .56879 .56558 L .36409 .39816 L closepath p .745 .58 .67 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.31094 .5517 m .38662 .40027 L .47621 .45416 L closepath p .824 .726 .757 r
+F P
+0 g
+s
+.5 .27523 m .38662 .40027 L .47621 .45416 L closepath p .763 .75 .841 r
+F P
+0 g
+s
+.63473 .56796 m .58185 .41311 L .47621 .45416 L closepath p .637 .561 .752 r
+F P
+0 g
+s
+.58185 .41311 m .47621 .45416 L .5 .27523 L closepath p .664 .659 .835 r
+F P
+0 g
+s
+.47119 .57044 m .31094 .5517 L .47621 .45416 L closepath p .785 .622 .68 r
+F P
+0 g
+s
+.47119 .57044 m .47621 .45416 L .63473 .56796 L closepath p .696 .546 .68 r
+F P
+0 g
+s
+.4747 .67248 m .47119 .57044 L .31094 .5517 L closepath p .776 .492 .505 r
+F P
+0 g
+s
+.47119 .57044 m .4747 .67248 L .63473 .56796 L closepath p .673 .409 .514 r
+F P
+0 g
+s
+.63473 .56796 m .58835 .68293 L .68388 .63248 L closepath p .171 0 .178 r
+F P
+0 g
+s
+.4747 .67248 m .58835 .68293 L .63473 .56796 L closepath p .547 .214 .356 r
+F P
+0 g
+s
+.63473 .56796 m .71242 .51198 L .67184 .39558 L closepath p .215 .219 .647 r
+F P
+0 g
+s
+.71242 .51198 m .63473 .56796 L .68388 .63248 L closepath p .002 0 .286 r
+F P
+0 g
+s
+.58185 .41311 m .63473 .56796 L .67184 .39558 L closepath p .44 .442 .765 r
+F P
+0 g
+s
+.58185 .41311 m .5 .27523 L .67184 .39558 L closepath p .451 .556 .871 r
+F P
+0 g
+s
+.32197 .37174 m .38662 .40027 L .5 .27523 L closepath p .839 .931 .89 r
+F P
+0 g
+s
+.38662 .40027 m .31094 .5517 L .32197 .37174 L closepath p .931 .892 .769 r
+F P
+0 g
+s
+.30901 .61606 m .27803 .48748 L .31094 .5517 L closepath p .825 .525 0 r
+F P
+0 g
+s
+.32197 .37174 m .27803 .48748 L .31094 .5517 L closepath p .974 .903 .557 r
+F P
+0 g
+s
+.37742 .67486 m .30901 .61606 L .31094 .5517 L closepath p .823 .365 0 r
+F P
+0 g
+s
+.37742 .67486 m .31094 .5517 L .4747 .67248 L closepath p .804 .41 .307 r
+F P
+0 g
+s
+.4747 .67248 m .58835 .68293 L .5 .75807 L closepath p .462 0 .029 r
+F P
+0 g
+s
+.37742 .67486 m .5 .75807 L .4747 .67248 L closepath p .619 .094 0 r
+F P
+0 g
+s
+.5 .27523 m .62758 .31802 L .67184 .39558 L closepath p .167 .475 .895 r
+F P
+0 g
+s
+.5 .27523 m .62758 .31802 L .53006 .29504 L closepath p .282 0 0 r
+F P
+0 g
+s
+.40391 .30106 m .32197 .37174 L .5 .27523 L closepath p .653 .97 .851 r
+F P
+0 g
+s
+.40391 .30106 m .5 .27523 L .53006 .29504 L closepath p .109 0 0 r
+F P
+0 g
+s
+.67184 .39558 m .62758 .31802 L .73211 .43653 L closepath p 0 .034 .59 r
+F P
+0 g
+s
+.71242 .51198 m .67184 .39558 L .73211 .43653 L closepath p 0 0 .497 r
+F P
+0 g
+s
+.5 .75807 m .58835 .68293 L .68388 .63248 L closepath p 0 0 0 r
+F P
+0 g
+s
+.68388 .63248 m .71242 .51198 L .73211 .43653 L closepath p 0 0 0 r
+F P
+0 g
+s
+.37742 .67486 m .30901 .61606 L .5 .75807 L closepath p 0 .194 .659 r
+F P
+0 g
+s
+.32183 .41013 m .27803 .48748 L .32197 .37174 L closepath p 0 0 0 r
+F P
+0 g
+s
+.40391 .30106 m .32197 .37174 L .32183 .41013 L closepath p 0 0 0 r
+F P
+0 g
+s
+.63934 .62256 m .5 .75807 L .68388 .63248 L closepath p .772 .997 .846 r
+F P
+0 g
+s
+.63934 .62256 m .68388 .63248 L .73211 .43653 L closepath p .939 .964 .694 r
+F P
+0 g
+s
+.62758 .31802 m .73211 .43653 L .53006 .29504 L closepath p .749 .24 0 r
+F P
+0 g
+s
+.32183 .41013 m .27803 .48748 L .30901 .61606 L closepath p 0 0 .491 r
+F P
+0 g
+s
+.40391 .30106 m .32183 .41013 L .53006 .29504 L closepath p .408 0 .122 r
+F P
+0 g
+s
+.39483 .61165 m .32183 .41013 L .30901 .61606 L closepath p .282 .352 .758 r
+F P
+0 g
+s
+.30901 .61606 m .39483 .61165 L .5 .75807 L closepath p .265 .497 .892 r
+F P
+0 g
+s
+.5 .75807 m .39483 .61165 L .53252 .56266 L closepath p .639 .684 .877 r
+F P
+0 g
+s
+.63934 .62256 m .5 .75807 L .53252 .56266 L closepath p .772 .81 .883 r
+F P
+0 g
+s
+.53006 .29504 m .53855 .40574 L .73211 .43653 L closepath p .787 .439 .398 r
+F P
+0 g
+s
+.32183 .41013 m .53855 .40574 L .53006 .29504 L closepath p .646 .329 .421 r
+F P
+0 g
+s
+.53252 .56266 m .53855 .40574 L .73211 .43653 L closepath p .81 .637 .667 r
+F P
+0 g
+s
+.63934 .62256 m .53252 .56266 L .73211 .43653 L closepath p .862 .779 .768 r
+F P
+0 g
+s
+.32183 .41013 m .39483 .61165 L .53252 .56266 L closepath p .609 .553 .766 r
+F P
+0 g
+s
+.53855 .40574 m .53252 .56266 L .32183 .41013 L closepath p .691 .535 .67 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.34123 .56184 m .40401 .40824 L .50377 .45486 L closepath p .792 .691 .754 r
+F P
+0 g
+s
+.5 .27523 m .40401 .40824 L .50377 .45486 L closepath p .738 .723 .837 r
+F P
+0 g
+s
+.66737 .55927 m .60098 .40621 L .50377 .45486 L closepath p .594 .532 .754 r
+F P
+0 g
+s
+.60098 .40621 m .50377 .45486 L .5 .27523 L closepath p .633 .638 .838 r
+F P
+0 g
+s
+.50456 .57112 m .34123 .56184 L .50377 .45486 L closepath p .746 .588 .68 r
+F P
+0 g
+s
+.50456 .57112 m .50377 .45486 L .66737 .55927 L closepath p .653 .513 .68 r
+F P
+0 g
+s
+.504 .67296 m .50456 .57112 L .34123 .56184 L closepath p .732 .457 .512 r
+F P
+0 g
+s
+.50456 .57112 m .504 .67296 L .66737 .55927 L closepath p .622 .367 .511 r
+F P
+0 g
+s
+.3111 .62572 m .28124 .50193 L .34123 .56184 L closepath p .943 .61 .182 r
+F P
+0 g
+s
+.32366 .38575 m .28124 .50193 L .34123 .56184 L closepath p .989 .873 .623 r
+F P
+0 g
+s
+.40401 .40824 m .34123 .56184 L .32366 .38575 L closepath p .908 .841 .768 r
+F P
+0 g
+s
+.39633 .67987 m .3111 .62572 L .34123 .56184 L closepath p .863 .415 .095 r
+F P
+0 g
+s
+.39633 .67987 m .34123 .56184 L .504 .67296 L closepath p .765 .387 .34 r
+F P
+0 g
+s
+.66737 .55927 m .6091 .67859 L .69003 .62312 L closepath p 0 0 .057 r
+F P
+0 g
+s
+.504 .67296 m .6091 .67859 L .66737 .55927 L closepath p .476 .149 .332 r
+F P
+0 g
+s
+.66737 .55927 m .72028 .49805 L .67733 .38198 L closepath p .042 .11 .609 r
+F P
+0 g
+s
+.72028 .49805 m .66737 .55927 L .69003 .62312 L closepath p 0 0 .134 r
+F P
+0 g
+s
+.60098 .40621 m .66737 .55927 L .67733 .38198 L closepath p .358 .4 .768 r
+F P
+0 g
+s
+.32366 .38575 m .40401 .40824 L .5 .27523 L closepath p .838 .894 .879 r
+F P
+0 g
+s
+.60098 .40621 m .5 .27523 L .67733 .38198 L closepath p .39 .537 .882 r
+F P
+0 g
+s
+.504 .67296 m .6091 .67859 L .5 .75807 L closepath p .391 0 .002 r
+F P
+0 g
+s
+.39633 .67987 m .5 .75807 L .504 .67296 L closepath p .591 .083 .011 r
+F P
+0 g
+s
+.5 .27523 m .61086 .30766 L .67733 .38198 L closepath p .06 .445 .878 r
+F P
+0 g
+s
+.5 .27523 m .61086 .30766 L .49523 .29392 L closepath p .277 0 0 r
+F P
+0 g
+s
+.38415 .31036 m .32366 .38575 L .5 .27523 L closepath p .747 .99 .884 r
+F P
+0 g
+s
+.38415 .31036 m .5 .27523 L .49523 .29392 L closepath p 0 0 0 r
+F P
+0 g
+s
+.28742 .42472 m .28124 .50193 L .32366 .38575 L closepath p .819 .843 .379 r
+F P
+0 g
+s
+.38415 .31036 m .32366 .38575 L .28742 .42472 L closepath p .57 .832 .474 r
+F P
+0 g
+s
+.39633 .67987 m .3111 .62572 L .5 .75807 L closepath p .469 0 0 r
+F P
+0 g
+s
+.72028 .49805 m .67733 .38198 L .70404 .42053 L closepath p 0 0 .324 r
+F P
+0 g
+s
+.67733 .38198 m .61086 .30766 L .70404 .42053 L closepath p .572 .091 0 r
+F P
+0 g
+s
+.5 .75807 m .6091 .67859 L .69003 .62312 L closepath p 0 0 0 r
+F P
+0 g
+s
+.28742 .42472 m .28124 .50193 L .3111 .62572 L closepath p 0 0 .321 r
+F P
+0 g
+s
+.69003 .62312 m .72028 .49805 L .70404 .42053 L closepath p .907 .836 .376 r
+F P
+0 g
+s
+.38415 .31036 m .28742 .42472 L .49523 .29392 L closepath p .28 0 .065 r
+F P
+0 g
+s
+.37335 .61763 m .28742 .42472 L .3111 .62572 L closepath p .12 .259 .734 r
+F P
+0 g
+s
+.3111 .62572 m .37335 .61763 L .5 .75807 L closepath p .135 .439 .875 r
+F P
+0 g
+s
+.61086 .30766 m .70404 .42053 L .49523 .29392 L closepath p .72 .232 .084 r
+F P
+0 g
+s
+.62124 .6159 m .5 .75807 L .69003 .62312 L closepath p .821 .984 .882 r
+F P
+0 g
+s
+.62124 .6159 m .69003 .62312 L .70404 .42053 L closepath p .951 .926 .743 r
+F P
+0 g
+s
+.5 .75807 m .37335 .61763 L .49484 .56187 L closepath p .592 .654 .88 r
+F P
+0 g
+s
+.62124 .6159 m .5 .75807 L .49484 .56187 L closepath p .741 .773 .879 r
+F P
+0 g
+s
+.49523 .29392 m .49388 .40451 L .70404 .42053 L closepath p .728 .395 .416 r
+F P
+0 g
+s
+.28742 .42472 m .49388 .40451 L .49523 .29392 L closepath p .571 .266 .412 r
+F P
+0 g
+s
+.28742 .42472 m .37335 .61763 L .49484 .56187 L closepath p .545 .51 .767 r
+F P
+0 g
+s
+.62124 .6159 m .49484 .56187 L .70404 .42053 L closepath p .819 .73 .767 r
+F P
+0 g
+s
+.49388 .40451 m .49484 .56187 L .28742 .42472 L closepath p .632 .489 .669 r
+F P
+0 g
+s
+.49484 .56187 m .49388 .40451 L .70404 .42053 L closepath p .759 .592 .67 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.37465 .56997 m .42372 .41472 L .53124 .45363 L closepath p .758 .658 .751 r
+F P
+0 g
+s
+.5 .27523 m .42372 .41472 L .53124 .45363 L closepath p .712 .698 .834 r
+F P
+0 g
+s
+.69667 .54859 m .61766 .39786 L .53124 .45363 L closepath p .544 .501 .758 r
+F P
+0 g
+s
+.61766 .39786 m .53124 .45363 L .5 .27523 L closepath p .598 .618 .842 r
+F P
+0 g
+s
+.53784 .56992 m .37465 .56997 L .53124 .45363 L closepath p .706 .555 .68 r
+F P
+0 g
+s
+.53784 .56992 m .53124 .45363 L .69667 .54859 L closepath p .606 .478 .68 r
+F P
+0 g
+s
+.31871 .63494 m .29076 .51562 L .37465 .56997 L closepath p .959 .624 .316 r
+F P
+0 g
+s
+.33052 .39916 m .29076 .51562 L .37465 .56997 L closepath p .965 .824 .653 r
+F P
+0 g
+s
+.42372 .41472 m .37465 .56997 L .33052 .39916 L closepath p .878 .795 .764 r
+F P
+0 g
+s
+.53323 .67212 m .53784 .56992 L .37465 .56997 L closepath p .686 .42 .514 r
+F P
+0 g
+s
+.41768 .68394 m .31871 .63494 L .37465 .56997 L closepath p .856 .428 .203 r
+F P
+0 g
+s
+.41768 .68394 m .37465 .56997 L .53323 .67212 L closepath p .722 .358 .36 r
+F P
+0 g
+s
+.53784 .56992 m .53323 .67212 L .69667 .54859 L closepath p .564 .318 .502 r
+F P
+0 g
+s
+.33052 .39916 m .42372 .41472 L .5 .27523 L closepath p .828 .857 .868 r
+F P
+0 g
+s
+.61766 .39786 m .69667 .54859 L .67754 .36786 L closepath p .253 .348 .768 r
+F P
+0 g
+s
+.61766 .39786 m .5 .27523 L .67754 .36786 L closepath p .318 .516 .892 r
+F P
+0 g
+s
+.69667 .54859 m .62724 .67334 L .69054 .61338 L closepath p 0 0 0 r
+F P
+0 g
+s
+.53323 .67212 m .62724 .67334 L .69667 .54859 L closepath p .387 .066 .295 r
+F P
+0 g
+s
+.69667 .54859 m .72166 .48345 L .67754 .36786 L closepath p 0 0 .529 r
+F P
+0 g
+s
+.72166 .48345 m .69667 .54859 L .69054 .61338 L closepath p 0 0 0 r
+F P
+0 g
+s
+.53323 .67212 m .62724 .67334 L .5 .75807 L closepath p .302 0 0 r
+F P
+0 g
+s
+.41768 .68394 m .5 .75807 L .53323 .67212 L closepath p .552 .057 .033 r
+F P
+0 g
+s
+.5 .27523 m .59003 .29883 L .67754 .36786 L closepath p 0 .41 .838 r
+F P
+0 g
+s
+.36864 .32105 m .33052 .39916 L .5 .27523 L closepath p .804 .981 .896 r
+F P
+0 g
+s
+.5 .27523 m .59003 .29883 L .46059 .29588 L closepath p .24 0 0 r
+F P
+0 g
+s
+.36864 .32105 m .5 .27523 L .46059 .29588 L closepath p 0 0 0 r
+F P
+0 g
+s
+.2618 .44114 m .29076 .51562 L .33052 .39916 L closepath p .958 .903 .53 r
+F P
+0 g
+s
+.36864 .32105 m .33052 .39916 L .2618 .44114 L closepath p .783 .954 .626 r
+F P
+0 g
+s
+.41768 .68394 m .31871 .63494 L .5 .75807 L closepath p .568 0 0 r
+F P
+0 g
+s
+.2618 .44114 m .29076 .51562 L .31871 .63494 L closepath p .77 .486 0 r
+F P
+0 g
+s
+.5 .75807 m .62724 .67334 L .69054 .61338 L closepath p .568 .912 .695 r
+F P
+0 g
+s
+.67754 .36786 m .59003 .29883 L .66737 .40657 L closepath p .702 .183 0 r
+F P
+0 g
+s
+.72166 .48345 m .67754 .36786 L .66737 .40657 L closepath p .804 .433 0 r
+F P
+0 g
+s
+.35658 .62451 m .2618 .44114 L .31871 .63494 L closepath p 0 .13 .672 r
+F P
+0 g
+s
+.31871 .63494 m .35658 .62451 L .5 .75807 L closepath p 0 .363 .831 r
+F P
+0 g
+s
+.36864 .32105 m .2618 .44114 L .46059 .29588 L closepath p .109 0 0 r
+F P
+0 g
+s
+.69054 .61338 m .72166 .48345 L .66737 .40657 L closepath p .992 .865 .523 r
+F P
+0 g
+s
+.59003 .29883 m .66737 .40657 L .46059 .29588 L closepath p .672 .204 .133 r
+F P
+0 g
+s
+.59857 .6102 m .5 .75807 L .69054 .61338 L closepath p .834 .95 .894 r
+F P
+0 g
+s
+.59857 .6102 m .69054 .61338 L .66737 .40657 L closepath p .927 .87 .762 r
+F P
+0 g
+s
+.5 .75807 m .35658 .62451 L .45738 .56325 L closepath p .538 .623 .884 r
+F P
+0 g
+s
+.59857 .6102 m .5 .75807 L .45738 .56325 L closepath p .706 .738 .876 r
+F P
+0 g
+s
+.46059 .29588 m .44949 .40666 L .66737 .40657 L closepath p .664 .344 .421 r
+F P
+0 g
+s
+.2618 .44114 m .44949 .40666 L .46059 .29588 L closepath p .48 .188 .391 r
+F P
+0 g
+s
+.2618 .44114 m .35658 .62451 L .45738 .56325 L closepath p .467 .461 .768 r
+F P
+0 g
+s
+.44949 .40666 m .45738 .56325 L .2618 .44114 L closepath p .565 .438 .666 r
+F P
+0 g
+s
+.59857 .6102 m .45738 .56325 L .66737 .40657 L closepath p .775 .686 .766 r
+F P
+0 g
+s
+.45738 .56325 m .44949 .40666 L .66737 .40657 L closepath p .706 .547 .67 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.33127 .64347 m .30586 .5282 L .4104 .57603 L closepath p .934 .608 .397 r
+F P
+0 g
+s
+.34205 .4116 m .30586 .5282 L .4104 .57603 L closepath p .929 .774 .668 r
+F P
+0 g
+s
+.4104 .57603 m .44521 .41961 L .55806 .45048 L closepath p .724 .628 .75 r
+F P
+0 g
+s
+.44521 .41961 m .4104 .57603 L .34205 .4116 L closepath p .846 .753 .76 r
+F P
+0 g
+s
+.5704 .56684 m .4104 .57603 L .55806 .45048 L closepath p .664 .522 .68 r
+F P
+0 g
+s
+.56177 .66998 m .5704 .56684 L .4104 .57603 L closepath p .636 .379 .512 r
+F P
+0 g
+s
+.4409 .687 m .33127 .64347 L .4104 .57603 L closepath p .829 .421 .273 r
+F P
+0 g
+s
+.4409 .687 m .4104 .57603 L .56177 .66998 L closepath p .675 .323 .369 r
+F P
+0 g
+s
+.5 .27523 m .44521 .41961 L .55806 .45048 L closepath p .685 .674 .834 r
+F P
+0 g
+s
+.72174 .53604 m .63136 .38822 L .55806 .45048 L closepath p .486 .468 .762 r
+F P
+0 g
+s
+.63136 .38822 m .55806 .45048 L .5 .27523 L closepath p .56 .599 .849 r
+F P
+0 g
+s
+.5704 .56684 m .55806 .45048 L .72174 .53604 L closepath p .553 .439 .679 r
+F P
+0 g
+s
+.5704 .56684 m .56177 .66998 L .72174 .53604 L closepath p .496 .26 .487 r
+F P
+0 g
+s
+.34205 .4116 m .44521 .41961 L .5 .27523 L closepath p .812 .821 .858 r
+F P
+0 g
+s
+.63136 .38822 m .72174 .53604 L .67212 .35366 L closepath p .114 .28 .756 r
+F P
+0 g
+s
+.63136 .38822 m .5 .27523 L .67212 .35366 L closepath p .233 .493 .897 r
+F P
+0 g
+s
+.56177 .66998 m .64223 .66726 L .5 .75807 L closepath p .191 0 0 r
+F P
+0 g
+s
+.56177 .66998 m .64223 .66726 L .72174 .53604 L closepath p .272 0 .236 r
+F P
+0 g
+s
+.4409 .687 m .5 .75807 L .56177 .66998 L closepath p .503 .017 .036 r
+F P
+0 g
+s
+.24533 .45861 m .30586 .5282 L .34205 .4116 L closepath p .99 .884 .61 r
+F P
+0 g
+s
+.35775 .3327 m .34205 .4116 L .5 .27523 L closepath p .832 .954 .895 r
+F P
+0 g
+s
+.35775 .3327 m .34205 .4116 L .24533 .45861 L closepath p .899 .983 .715 r
+F P
+0 g
+s
+.72174 .53604 m .64223 .66726 L .68501 .60355 L closepath p 0 0 0 r
+F P
+0 g
+s
+.72174 .53604 m .716 .46862 L .67212 .35366 L closepath p 0 0 .377 r
+F P
+0 g
+s
+.716 .46862 m .72174 .53604 L .68501 .60355 L closepath p .86 .809 .323 r
+F P
+0 g
+s
+.5 .27523 m .56576 .2919 L .67212 .35366 L closepath p 0 .373 .773 r
+F P
+0 g
+s
+.35775 .3327 m .5 .27523 L .42762 .30083 L closepath p .31 .785 .689 r
+F P
+0 g
+s
+.5 .27523 m .56576 .2919 L .42762 .30083 L closepath p .172 0 0 r
+F P
+0 g
+s
+.4409 .687 m .33127 .64347 L .5 .75807 L closepath p .618 .052 0 r
+F P
+0 g
+s
+.24533 .45861 m .30586 .5282 L .33127 .64347 L closepath p .925 .596 .136 r
+F P
+0 g
+s
+.34491 .63198 m .24533 .45861 L .33127 .64347 L closepath p 0 0 .544 r
+F P
+0 g
+s
+.33127 .64347 m .34491 .63198 L .5 .75807 L closepath p 0 .267 .744 r
+F P
+0 g
+s
+.5 .75807 m .64223 .66726 L .68501 .60355 L closepath p .709 .982 .801 r
+F P
+0 g
+s
+.35775 .3327 m .24533 .45861 L .42762 .30083 L closepath p 0 0 0 r
+F P
+0 g
+s
+.67212 .35366 m .56576 .2919 L .62321 .39544 L closepath p .75 .23 0 r
+F P
+0 g
+s
+.716 .46862 m .67212 .35366 L .62321 .39544 L closepath p .907 .509 .103 r
+F P
+0 g
+s
+.68501 .60355 m .716 .46862 L .62321 .39544 L closepath p .987 .829 .599 r
+F P
+0 g
+s
+.56576 .2919 m .62321 .39544 L .42762 .30083 L closepath p .61 .16 .156 r
+F P
+0 g
+s
+.5 .75807 m .34491 .63198 L .42176 .56672 L closepath p .474 .591 .89 r
+F P
+0 g
+s
+.57206 .60573 m .5 .75807 L .68501 .60355 L closepath p .827 .907 .894 r
+F P
+0 g
+s
+.57206 .60573 m .5 .75807 L .42176 .56672 L closepath p .668 .706 .876 r
+F P
+0 g
+s
+.24533 .45861 m .34491 .63198 L .42176 .56672 L closepath p .368 .402 .765 r
+F P
+0 g
+s
+.40739 .41207 m .42176 .56672 L .24533 .45861 L closepath p .483 .378 .659 r
+F P
+0 g
+s
+.24533 .45861 m .40739 .41207 L .42762 .30083 L closepath p .365 .087 .352 r
+F P
+0 g
+s
+.57206 .60573 m .68501 .60355 L .62321 .39544 L closepath p .89 .814 .767 r
+F P
+0 g
+s
+.42762 .30083 m .40739 .41207 L .62321 .39544 L closepath p .592 .284 .416 r
+F P
+0 g
+s
+.57206 .60573 m .42176 .56672 L .62321 .39544 L closepath p .729 .645 .765 r
+F P
+0 g
+s
+.42176 .56672 m .40739 .41207 L .62321 .39544 L closepath p .649 .501 .67 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.34815 .65113 m .32577 .53944 L .44775 .57999 L closepath p .894 .58 .446 r
+F P
+0 g
+s
+.35769 .4228 m .32577 .53944 L .44775 .57999 L closepath p .89 .728 .675 r
+F P
+0 g
+s
+.44775 .57999 m .46794 .42283 L .58364 .44545 L closepath p .688 .598 .75 r
+F P
+0 g
+s
+.46794 .42283 m .44775 .57999 L .35769 .4228 L closepath p .814 .715 .756 r
+F P
+0 g
+s
+.60159 .5619 m .44775 .57999 L .58364 .44545 L closepath p .619 .487 .68 r
+F P
+0 g
+s
+.58904 .66657 m .60159 .5619 L .44775 .57999 L closepath p .58 .332 .505 r
+F P
+0 g
+s
+.46544 .68902 m .34815 .65113 L .44775 .57999 L closepath p .792 .404 .319 r
+F P
+0 g
+s
+.46544 .68902 m .44775 .57999 L .58904 .66657 L closepath p .625 .282 .369 r
+F P
+0 g
+s
+.35769 .4228 m .46794 .42283 L .5 .27523 L closepath p .792 .789 .849 r
+F P
+0 g
+s
+.5 .27523 m .46794 .42283 L .58364 .44545 L closepath p .655 .652 .835 r
+F P
+0 g
+s
+.74166 .52177 m .64158 .37749 L .58364 .44545 L closepath p .416 .43 .766 r
+F P
+0 g
+s
+.64158 .37749 m .58364 .44545 L .5 .27523 L closepath p .517 .58 .858 r
+F P
+0 g
+s
+.60159 .5619 m .58364 .44545 L .74166 .52177 L closepath p .489 .396 .676 r
+F P
+0 g
+s
+.60159 .5619 m .58904 .66657 L .74166 .52177 L closepath p .412 .188 .462 r
+F P
+0 g
+s
+.23786 .47638 m .32577 .53944 L .35769 .4228 L closepath p .973 .838 .647 r
+F P
+0 g
+s
+.35163 .34488 m .35769 .4228 L .5 .27523 L closepath p .84 .919 .886 r
+F P
+0 g
+s
+.35163 .34488 m .35769 .4228 L .23786 .47638 L closepath p .939 .956 .755 r
+F P
+0 g
+s
+.23786 .47638 m .32577 .53944 L .34815 .65113 L closepath p .961 .625 .287 r
+F P
+0 g
+s
+.58904 .66657 m .6535 .66048 L .5 .75807 L closepath p .05 0 0 r
+F P
+0 g
+s
+.58904 .66657 m .6535 .66048 L .74166 .52177 L closepath p .117 0 .145 r
+F P
+0 g
+s
+.46544 .68902 m .5 .75807 L .58904 .66657 L closepath p .441 0 .022 r
+F P
+0 g
+s
+.5 .27523 m .53891 .28721 L .66091 .33986 L closepath p 0 .341 .692 r
+F P
+0 g
+s
+.64158 .37749 m .5 .27523 L .66091 .33986 L closepath p .134 .466 .891 r
+F P
+0 g
+s
+.35163 .34488 m .5 .27523 L .39764 .30851 L closepath p .472 .886 .77 r
+F P
+0 g
+s
+.5 .27523 m .53891 .28721 L .39764 .30851 L closepath p .076 0 0 r
+F P
+0 g
+s
+.64158 .37749 m .74166 .52177 L .66091 .33986 L closepath p 0 .19 .718 r
+F P
+0 g
+s
+.46544 .68902 m .34815 .65113 L .5 .75807 L closepath p .634 .084 0 r
+F P
+0 g
+s
+.74166 .52177 m .6535 .66048 L .67321 .59397 L closepath p .798 .92 .537 r
+F P
+0 g
+s
+.74166 .52177 m .70295 .45406 L .66091 .33986 L closepath p .754 .399 0 r
+F P
+0 g
+s
+.70295 .45406 m .74166 .52177 L .67321 .59397 L closepath p .982 .866 .492 r
+F P
+0 g
+s
+.33849 .63976 m .23786 .47638 L .34815 .65113 L closepath p .63 .21 0 r
+F P
+0 g
+s
+.34815 .65113 m .33849 .63976 L .5 .75807 L closepath p 0 .161 .614 r
+F P
+0 g
+s
+.35163 .34488 m .23786 .47638 L .39764 .30851 L closepath p 0 0 0 r
+F P
+0 g
+s
+.5 .75807 m .6535 .66048 L .67321 .59397 L closepath p .792 .997 .861 r
+F P
+0 g
+s
+.66091 .33986 m .53891 .28721 L .57329 .3878 L closepath p .743 .24 .031 r
+F P
+0 g
+s
+.70295 .45406 m .66091 .33986 L .57329 .3878 L closepath p .913 .521 .24 r
+F P
+0 g
+s
+.23786 .47638 m .33849 .63976 L .38944 .5721 L closepath p .237 .326 .753 r
+F P
+0 g
+s
+.3694 .42043 m .38944 .5721 L .23786 .47638 L closepath p .379 .304 .646 r
+F P
+0 g
+s
+.23786 .47638 m .3694 .42043 L .39764 .30851 L closepath p .21 0 .285 r
+F P
+0 g
+s
+.53891 .28721 m .57329 .3878 L .39764 .30851 L closepath p .535 .098 .157 r
+F P
+0 g
+s
+.5 .75807 m .33849 .63976 L .38944 .5721 L closepath p .397 .555 .894 r
+F P
+0 g
+s
+.54266 .6027 m .5 .75807 L .67321 .59397 L closepath p .808 .864 .89 r
+F P
+0 g
+s
+.54266 .6027 m .5 .75807 L .38944 .5721 L closepath p .625 .675 .878 r
+F P
+0 g
+s
+.39764 .30851 m .3694 .42043 L .57329 .3878 L closepath p .506 .21 .398 r
+F P
+0 g
+s
+.67321 .59397 m .70295 .45406 L .57329 .3878 L closepath p .948 .776 .636 r
+F P
+0 g
+s
+.54266 .6027 m .67321 .59397 L .57329 .3878 L closepath p .849 .763 .767 r
+F P
+0 g
+s
+.38944 .5721 m .3694 .42043 L .57329 .3878 L closepath p .584 .452 .667 r
+F P
+0 g
+s
+.54266 .6027 m .38944 .5721 L .57329 .3878 L closepath p .681 .605 .765 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00RP3oool5o`0008/0oooo00270?ooo`?o00001@0C
+0004o`0008L0oooo00240?ooo`?o0000300C0003o`0008@0oooo00210?ooo`?o0000400C0005o`00
+0840oooo001m0?ooo`Co0000300C0007o`0000<0R1TX00Co00000;hm1ol0003o0000O`3oool007X0
+oooo0ol0000901<000Oo00002`286BP00ol00000_Sd70;hm1`03o`0007`0oooo001g0?ooo`?o0000
+1P0C0006o`000180R1TX00?o00000;hm1`2n?@L00`2n?@L2o`0007X0oooo001d0?ooo`?o00000P0C
+0007o`0001P0R1TX00?o00000;hm1`2n?@L01@2n?@L2o`0007P0oooo001a0?ooo`So000080286BP0
+0ol00000_Sd70;hm1`060;hm1`;o0000MP3oool006h0oooo1?l0000W08PI:003o`00002n?@L0_Sd7
+00P0_Sd70ol0001c0?ooo`00K@3oool01?l000000000o`000021=FD2o`0002H0R1TX00?o00000;hm
+1`2n?@L02`2n?@L2o`000740oooo001/0?ooo`04o`000000003o0000o`0000<0PCEU0ol0000T08PI
+:003o`00002n?@L0_Sd700`0_Sd70_l0001_0?ooo`00JP3oool2o`00000300000?l0003o000000L0
+PCEU0_l0000R08PI:003o`00002n?@L0_Sd700h0_Sd70ol0001/0?ooo`00J@3oool01_l000000000
+00000?l00000=@18o`0000T0PCEU0_l0000P08PI:003o`00002n?@L0_Sd70140_Sd70_l0001Z0?oo
+o`00J03oool01?l00000000000000?l0000203D0B003o`000021=FD0PCEU00T0PCEU0ol0000N08PI
+:003o`00002n?@L0_Sd70180_Sd70_l0001X0?ooo`00I`3oool01?l00000000000000?l0000303D0
+B003o`000021=FD0PCEU00`0PCEU0_l0000L08PI:003o`00002n?@L0_Sd701@0_Sd70_l0001V0?oo
+o`00I@3oool2o`000080000000Go000003D0B00e04P0=@18o`00000A084eI@;o00006P286BP00ol0
+0000_Sd70;hm1`0F0;hm1`?o0000H`3oool006@0oooo00Go00000000000000000000o`00000403D0
+B003o`000021=FD0PCEU0140PCEU0_l0000I08PI:003o`00002n?@L0_Sd701P0_Sd70_l0001Q0?oo
+o`00H`3oool01Ol00000000000000000003o000000D0=@1800?o0000084eI@21=FD04`21=FD3o`00
+01H0R1TX00?o00000;hm1`2n?@L06@2n?@L2o`000600oooo001R0?ooo`05o`000000000000000000
+0?l000001P0e04P00ol00000PCEU084eI@0F084eI@;o00005@286BP00ol00000_Sd70;hm1`0F0;hm
+1`;o000000<0jHDmo`00003oool0G`3oool00680oooo00Co000000000000003o00001P0e04P00ol0
+0000PCEU084eI@0I084eI@;o00004`286BP00ol00000_Sd70;hm1`0D0;hm1`;o0000103YQCd00ol0
+0000oooo0?ooo`1M0?ooo`00H@3oool01?l00000000000000?l0000703D0B003o`000021=FD0PCEU
+01/0PCEU0_l0000A08PI:003o`00002n?@L0_Sd701<0_Sd700?o00000>V5?@3YQCd0103YQCd00ol0
+0000oooo0?ooo`1M0?ooo`00H03oool01?l00000000000000?l0000803D0B003o`000021=FD0PCEU
+01d0PCEU0ol0000?08PI:003o`00002n?@L0_Sd70100_Sd70_l000070>V5?@;o0000GP3oool005l0
+oooo00Co000000000000003o00002@0e04P00ol00000PCEU084eI@0P084eI@;o00003@286BP00ol0
+0000_Sd70;hm1`0>0;hm1`;o00002P3YQCd00ol00000oooo0?ooo`1L0?ooo`00GP3oool01?l00000
+000000000?l0000903D0B003o`000021=FD0PCEU02<0PCEU0_l0000;08PI:003o`00002n?@L0_Sd7
+00`0_Sd70_l0000<0>V5?@03o`00003oool0oooo05`0oooo001M0?ooo`04o`00000000000000o`00
+00X0=@1800?o0000084eI@21=FD09@21=FD3o`0000T0R1TX00?o00000;hm1`2n?@L02@2n?@L2o`00
+00h0jHDm0_l0001M0?ooo`00G03oool01?l00000000000000?l0000;03D0B003o`000021=FD0PCEU
+02P0PCEU0_l0000708PI:003o`00002n?@L0_Sd700L0_Sd70_l0000A0>V5?@03o`00003oool0oooo
+05/0oooo001L0?ooo`03o`000000003o000000`0=@1800?o0000084eI@21=FD0:P21=FD2o`0000D0
+R1TX00?o00000;hm1`2n?@L01@2n?@L2o`0001<0jHDm0_l0001L0?ooo`00F`3oool00ol000000000
+o`00000<03D0B003o`000021=FD0PCEU02d0PCEU0_l0000408PI:003o`00002n?@L0_Sd700<0_Sd7
+00?o00000>V5?@3YQCd0503YQCd00ol00000oooo0?ooo`1J0?ooo`00FP3oool00ol000000000o`00
+000=03D0B003o`000021=FD0PCEU02l0PCEU0ol000000`286BSo00000;hm1`020;hm1`;o00005`3Y
+QCd2o`0005/0oooo001I0?ooo`03o`000000003o000000h0=@1800?o0000084eI@21=FD0<P21=FD2
+o`0000030;hm1ol0003o000001T0jHDm0_l0001K0?ooo`00F03oool00ol000000000o`00000?03D0
+B003o`000021=FD0PCEU0340PCEU1Ol0000K0>V5?@;o0000FP3oool005L0oooo00?o000000000?l0
+00003`0e04P00ol00000PCEU084eI@0/084eI@Ko00000P2ELjX2o`0000030?;6X_l0003o000001T0
+jHDm0_l0001J0?ooo`00EP3oool00ol000000000o`00000@03D0B003o`000021=FD0PCEU02H0PCEU
+1_l0000709EcZP04o`00002^V/?o0000o`000080l/JR0_l0000G0>V5?@03o`000031IP3o000005T0
+oooo001E0?ooo`04o`00000000000000o`000100=@1800?o0000084eI@21=FD08@21=FD5o`0000`0
+UG>Z00?o00000:jJ``2^V/<00_l000040?;6XP;o00005P3YQCd2o`0005T0oooo001E0?ooo`03o`00
+0000003o00000140=@1800?o0000084eI@21=FD06`21=FD6o`000100UG>Z00Co00000:jJ``2^V/?o
+00000P3I`l@00ol00000l/JR0?;6XP030?;6XP;o0000503YQCd2o`0005T0oooo001D0?ooo`03o`00
+0000003o00000140=@1800?o0000084eI@21=FD05P21=FD6o`0001D0UG>Z00Go00000:jJ``2^V/<0
+[Y[3o`0000020=W3a003o`00003baZ80l/JR00D0l/JR00?o00000>V5?@3YQCd04P3YQCd2o`0005P0
+oooo001C0?ooo`03o`000000003o00000180=@1800?o0000084eI@21=FD04021=FD6o`0001X0UG>Z
+00?o00000:jJ``2^V/<00P2^V/<01Ol00000fL?40=W3a03I`lCo000000L0l/JR0_l0000B0>V5?@;o
+0000F03oool00580oooo00?o000000000?l000004`0e04P00ol00000PCEU084eI@0:084eI@Ko0000
+7`2ELjX00ol00000[Y[30:jJ``030:jJ``05o`00003I`l@0fL?40=W3a?l000002@3baZ82o`000100
+jHDm00?o00000<5V0?l00000E`3oool00540oooo00?o000000000?l00000500e04P00ol00000PCEU
+084eI@05084eI@Go0000902ELjX00ol00000[Y[30:jJ``040:jJ``03o`00003I`l@0fL?40080fL?4
+00?o00000?;6XP3baZ80203baZ82o`0000l0jHDm0_l0001G0?ooo`00D03oool00ol000000000o`00
+000D03D0B003o`000021=FD0PCEU00Ko0000:02ELjX00ol00000[Y[30:jJ``050:jJ``03o`00003I
+`l@0fL?40080fL?400?o00000?;6XP3baZ802P3baZ82o`0000d0jHDm00?o00000<5V0?l00000EP3o
+ool004l0oooo00?o000000000?l00000500e04P4o`0002d0UG>Z00?o00000:jJ``2^V/<01P2^V/<0
+0ol00000fL?40=W3a0030=W3a003o`00003baZ80l/JR00/0l/JR0_l0000;0>V5?@03o`000031IP3o
+000005H0oooo001?0?ooo`;o00004P0e04P3o`000003065=YOl00000UG>Z02d0UG>Z00?o00000:jJ
+``2^V/<01P2^V/<00ol00000fL?40=W3a0040=W3a003o`00003baZ80l/JR00d0l/JR0_l0000:0>V5
+?@03o`000031IP3o000005D0oooo001>0?ooo`;o00004@0e04P2o`0000@0HDfU00?o000009EcZP2E
+LjX0:`2ELjX00ol00000[Y[30:jJ``070:jJ``03o`00003I`l@0fL?400D0fL?400?o00000?;6XP3b
+aZ803P3baZ82o`0000P0jHDm00?o00000<5V0?l00000E@3oool004d0oooo0_l0000?03D0B0?o0000
+1P1QCJD00ol00000UG>Z09EcZP0Z09EcZP03o`00002^V/<0[Y[300P0[Y[300?o00000=W3a03I`l@0
+1@3I`l@00ol00000l/JR0?;6XP0@0?;6XP;o00001`3YQCd00ol00000`FH0o`00001D0?ooo`00C03o
+ool2o`0000h0=@180_l0000:065=Y@03o`00002ELjX0UG>Z02P0UG>Z00?o00000:jJ``2^V/<02@2^
+V/<00ol00000fL?40=W3a0060=W3a003o`00003baZ80l/JR0140l/JR00?o00000>V5?@3YQCd0103Y
+QCd00ol00000`FH0o`00001D0?ooo`00B`3oool2o`0000`0=@180ol0000<065=Y@03o`00002ELjX0
+UG>Z02L0UG>Z00?o00000:jJ``2^V/<02P2^V/<00ol00000fL?40=W3a0060=W3a003o`00003baZ80
+l/JR0180l/JR0_l000040>V5?@03o`000031IP3o000005@0oooo001:0?ooo`;o00002`0e04P2o`00
+00l0HDfU00?o000009EcZP2ELjX09P2ELjX00ol00000[Y[30:jJ``0;0:jJ``03o`00003I`l@0fL?4
+00H0fL?400?o00000?;6XP3baZ80503baZ82o`0000<0jHDm00?o00000<5V0?l00000D`3oool004T0
+oooo0_l0000903D0B0?o00004@1QCJD00ol00000UG>Z09EcZP0U09EcZP03o`00002^V/<0[Y[300`0
+[Y[300?o00000=W3a03I`l@01`3I`l@00ol00000l/JR0?;6XP0E0?;6XP;o000000@0jHDmo`000031
+IP3o0000D`3oool004P0oooo0_l0000803D0B0;o0000501QCJD00ol00000UG>Z09EcZP0T09EcZP03
+o`00002^V/<0[Y[300`0[Y[300?o00000=W3a03I`l@0203I`l@00ol00000l/JR0?;6XP0G0?;6XP;o
+00000P31IP000ol00000oooo0?ooo`1@0?ooo`00B03oool00ol00000=@1803D0B00503D0B0;o0000
+5P1QCJD00ol00000UG>Z09EcZP0S09EcZP03o`00002^V/<0[Y[300d0[Y[300?o00000=W3a03I`l@0
+2@3I`l@00ol00000l/JR0?;6XP0H0?;6XP03o`000031IP3o00000580oooo00170?ooo`03o`00000e
+04P0=@1800<0=@180ol0000H065=Y@03o`00002ELjX0UG>Z0280UG>Z00?o00000:jJ``2^V/<03P2^
+V/<00ol00000fL?40=W3a0090=W3a003o`00003baZ80l/JR01P0l/JR00Co00000<5V0031IP3o0000
+D@3oool004H0oooo00?o000003D0B00e04P00P0e04P2o`0001`0HDfU00?o000009EcZP2ELjX0802E
+LjX00ol00000[Y[30:jJ``0?0:jJ``03o`00003I`l@0fL?400X0fL?400?o00000?;6XP3baZ805`3b
+aZ82o`0000030<5V0?l00000oooo0500oooo00150?ooo`03o`00000e04P0=@1800?o00007P1QCJD0
+0ol00000UG>Z09EcZP0O09EcZP03o`00002^V/<0[Y[30100[Y[300?o00000=W3a03I`l@02P3I`l@0
+0ol00000l/JR0?;6XP0F0?;6XP03o`00003kgGgo00000080`FH000?o00000?ooo`3oool0CP3oool0
+04@0oooo00Co000003D0B?l0003o00008@1QCJD00ol00000UG>Z09EcZP0N09EcZP03o`00002^V/<0
+[Y[30140[Y[300?o00000=W3a03I`l@02`3I`l@00ol00000l/JR0?;6XP0E0?;6XP06o`00003kgGd0
+nmemo`000031IP3o0000D03oool004<0oooo0ol0000S065=Y@03o`00002ELjX0UG>Z01d0UG>Z00?o
+00000:jJ``2^V/<04P2^V/<00ol00000fL?40=W3a00;0=W3a003o`00003baZ80l/JR01D0l/JR00Co
+00000?_MO@3kgGd0nmem0_l0001@0?ooo`00@P3oool2o`0002D0HDfU00?o000009EcZP2ELjX0702E
+LjX00ol00000[Y[30:jJ``0B0:jJ``03o`00003I`l@0fL?400d0fL?400?o00000?;6XP3baZ80503b
+aZ801ol00000nmem0?_MO@3kgGgo00000<5V0?l00000C`3oool00480oooo00?o000003aC`?l00000
+901QCJD00ol00000UG>Z09EcZP0K09EcZP03o`00002^V/<0[Y[301<0[Y[300?o00000=W3a03I`l@0
+3@3I`l@00ol00000l/JR0?;6XP0D0?;6XP03o`00003kgGd0nmem0080nmem0_l0001?0?ooo`00@`3o
+ool01?l00000?5?0o`000?l0000R065=Y@03o`00002ELjX0UG>Z01X0UG>Z00?o00000:jJ``2^V/<0
+502^V/<00ol00000fL?40=W3a00>0=W3a003o`00003baZ80l/JR0180l/JR00?o00000?_MO@3kgGd0
+0`3kgGd00ol00000`FH0o`00001>0?ooo`00A03oool00ol00000?5?003aC`002o`000240HDfU00?o
+000009EcZP2ELjX0602ELjX00ol00000[Y[30:jJ``0E0:jJ``03o`00003I`l@0fL?400h0fL?400?o
+00000?;6XP3baZ804P3baZ800ol00000nmem0?_MO@040?_MO@;o0000CP3oool004@0oooo00?o0000
+03aC`00lDl000P0lDl000ol00000HDfU065=Y@0N065=Y@03o`00002ELjX0UG>Z01L0UG>Z00?o0000
+0:jJ``2^V/<05P2^V/<00ol00000fL?40=W3a00?0=W3a003o`00003baZ80l/JR0140l/JR00?o0000
+0?_MO@3kgGd01@3kgGd2o`0004d0oooo00150?ooo`03o`00000lDl00?5?00080?5?00_l0000N065=
+Y@03o`00002ELjX0UG>Z01H0UG>Z00?o00000:jJ``2^V/<05`2^V/<00ol00000fL?40=W3a00?0=W3
+a003o`00003baZ80l/JR0140l/JR00?o00000?_MO@3kgGd01@3kgGd2o`0004d0oooo00150?ooo`03
+o`00000lDl00?5?000@0?5?000?o0000065=Y@1QCJD06`1QCJD00ol00000UG>Z09EcZP0E09EcZP03
+o`00002^V/<0[Y[301L0[Y[300?o00000=W3a03I`l@04@3I`l@00ol00000l/JR0?;6XP0@0?;6XP03
+o`00003kgGd0nmem00H0nmem0_l0001<0?ooo`00AP3oool00ol00000?5?003aC`00403aC`0;o0000
+6`1QCJD00ol00000UG>Z09EcZP0D09EcZP03o`00002^V/<0[Y[301P0[Y[300?o00000=W3a03I`l@0
+4@3I`l@00ol00000l/JR0?;6XP0?0?;6XP03o`00003kgGd0nmem00L0nmem0_l0001<0?ooo`00A`3o
+ool00ol00000?5?003aC`00503aC`0;o00006@1QCJD00ol00000UG>Z09EcZP0C09EcZP03o`00002^
+V/<0[Y[301T0[Y[300?o00000=W3a03I`l@04P3I`l@00ol00000l/JR0?;6XP0>0?;6XP03o`00003k
+gGd0nmem00P0nmem0_l0001;0?ooo`00A`3oool00ol00000?5?003aC`00703aC`003o`00001QCJD0
+HDfU01H0HDfU00?o000009EcZP2ELjX04P2ELjX00ol00000[Y[30:jJ``0J0:jJ``03o`00003I`l@0
+fL?40180fL?400?o00000?;6XP3baZ803P3baZ800ol00000nmem0?_MO@080?_MO@;o0000B`3oool0
+04P0oooo00?o000003aC`00lDl001`0lDl02o`0001L0HDfU00?o000009EcZP2ELjX0402ELjX00ol0
+0000[Y[30:jJ``0K0:jJ``03o`00003I`l@0fL?401<0fL?400?o00000?;6XP3baZ803@3baZ800ol0
+0000nmem0?_MO@090?_MO@03o`00003oool0oooo04T0oooo00190?ooo`03o`00000lDl00?5?000P0
+?5?000?o0000065=Y@1QCJD0501QCJD00ol00000UG>Z09EcZP0?09EcZP03o`00002^V/<0[Y[301`0
+[Y[300?o00000=W3a03I`l@04`3I`l@00ol00000l/JR0?;6XP0=0?;6XP03o`00003kgGd0nmem00X0
+nmem00?o00000?ooo`3oool0B03oool004T0oooo00?o000003aC`00lDl002@0lDl02o`0001@0HDfU
+00?o000009EcZP2ELjX03P2ELjX00ol00000[Y[30:jJ``0M0:jJ``03o`00003I`l@0fL?401@0fL?4
+00?o00000?;6XP3baZ802`3baZ800ol00000nmem0?_MO@0;0?_MO@03o`00003oool0oooo04P0oooo
+001:0?ooo`03o`00000lDl00?5?000X0?5?00_l0000B065=Y@03o`00002ELjX0UG>Z00d0UG>Z00?o
+00000:jJ``2^V/<07@2^V/<00ol00000fL?40=W3a00E0=W3a003o`00003baZ80l/JR00/0l/JR00?o
+00000?_MO@3kgGd0303kgGd00ol00000oooo0?ooo`170?ooo`00B`3oool00ol00000?5?003aC`00;
+03aC`003o`00001QCJD0HDfU00l0HDfU00?o000009EcZP2ELjX0302ELjX00ol00000[Y[30:jJ``0N
+0:jJ``03o`00003I`l@0fL?401H0fL?400?o00000?;6XP3baZ802P3baZ800ol00000nmem0?_MO@0<
+0?_MO@03o`00003oool0oooo04L0oooo001;0?ooo`03o`00000lDl00?5?000`0?5?00_l0000?065=
+Y@03o`00002ELjX0UG>Z00/0UG>Z00?o00000:jJ``2^V/<07`2^V/<00ol00000fL?40=W3a00F0=W3
+a003o`00003baZ80l/JR00X0l/JR00?o00000?_MO@3kgGd02`3kgGd00ol00000oooo0?ooo`180?oo
+o`00C03oool00ol00000?5?003aC`00=03aC`003o`00001QCJD0HDfU00`0HDfU00?o000009EcZP2E
+LjX02P2ELjX00ol00000[Y[30:jJ``0P0:jJ``03o`00003I`l@0fL?401L0fL?400?o00000?;6XP3b
+aZ802@3baZ800ol00000nmem0?_MO@0:0?_MO@03o`00003oool0oooo04T0oooo001<0?ooo`03o`00
+000lDl00?5?000h0?5?00_l0000=065=Y@03o`00002ELjX0UG>Z00P0UG>Z00?o00000:jJ``2^V/<0
+8@2^V/<00ol00000fL?40=W3a00G0=W3a003o`00003baZ80l/JR00P0l/JR00?o00000?_MO@3kgGd0
+2P3kgGd2o`0004/0oooo001=0?ooo`03o`00000lDl00?5?000l0?5?000?o0000065=Y@1QCJD02P1Q
+CJD00ol00000UG>Z09EcZP0709EcZP03o`00002^V/<0[Y[30280[Y[300?o00000=W3a03I`l@0603I
+`l@00ol00000l/JR0?;6XP070?;6XP03o`00003kgGd0nmem00T0nmem0_l0001<0?ooo`00CP3oool0
+0ol00000?5?003aC`00?03aC`0;o00002P1QCJD00ol00000UG>Z09EcZP0609EcZP03o`00002^V/<0
+[Y[302<0[Y[300?o00000=W3a03I`l@0603I`l@00ol00000l/JR0?;6XP070?;6XP03o`00003kgGd0
+nmem00P0nmem0_l0001=0?ooo`00CP3oool00ol00000?5?003aC`00A03aC`0;o0000201QCJD00ol0
+0000UG>Z09EcZP0509EcZP03o`00002^V/<0[Y[302<0[Y[300?o00000=W3a03I`l@06@3I`l@00ol0
+0000l/JR0?;6XP070?;6XP03o`00003kgGd0nmem00L0nmem00?o00000<c[ROl00000C@3oool004l0
+oooo00?o000003aC`00lDl004P0lDl000ol00000HDfU065=Y@05065=Y@03o`00002ELjX0UG>Z00@0
+UG>Z00?o00000:jJ``2^V/<0902^V/<00ol00000fL?40=W3a00J0=W3a003o`00003baZ80l/JR00H0
+l/JR00?o00000?_MO@3kgGd01P3kgGd00ol00000c>^9o`00001>0?ooo`00D03oool00ol00000?5?0
+03aC`00B03aC`0;o00001@1QCJD00ol00000UG>Z09EcZP0309EcZP03o`00002^V/<0[Y[302D0[Y[3
+00?o00000=W3a03I`l@06P3I`l@00ol00000l/JR0?;6XP050?;6XP03o`00003kgGd0nmem00H0nmem
+00Co00000<c[R@3<jhWo0000CP3oool00500oooo00?o000003aC`00lDl00500lDl000ol00000HDfU
+065=Y@02065=Y@03o`00002ELjX0UG>Z0080UG>Z00?o00000:jJ``2^V/<09P2^V/<00ol00000fL?4
+0=W3a00K0=W3a003o`00003baZ80l/JR00@0l/JR00?o00000?_MO@3kgGd01@3kgGd01?l00000c>^9
+0<c[ROl0001?0?ooo`00D@3oool00ol00000?5?003aC`00D03aC`0;o00000`1QCJD01?l00000UG>Z
+09EcZ_l0000Y0:jJ``03o`00003I`l@0fL?401/0fL?400?o00000?;6XP3baZ80103baZ800ol00000
+nmem0?_MO@040?_MO@04o`00003<jhT0c>^9o`000500oooo001A0?ooo`03o`00000lDl00?5?001H0
+?5?00_l00000101QCJGo000009EcZ_l0000Z0:jJ``03o`00003I`l@0fL?401`0fL?400?o00000?;6
+XP3baZ800`3baZ800ol00000nmem0?_MO@030?_MO@05o`00003<jhT0c>^90<c[ROl00000D03oool0
+0580oooo00?o000003aC`00lDl005`0lDl03o`0002/0[Y[300?o00000=W3a03I`l@0703I`l@00ol0
+0000l/JR0?;6XP030?;6XP03o`00003kgGd0nmem0080nmem00Go00000<c[R@3<jhT0c>^9o`00001A
+0?ooo`00D`3oool00ol00000?5?003aC`00G03aC`0?o0000:@2^V/<00ol00000fL?40=W3a00N0=W3
+a005o`00003baZ80l/JR0?;6X_l00000103kgGd01Ol00000c>^90<c[R@3<jhWo00000580oooo001C
+0?ooo`03o`00000lDl00?5?001L0?5?000?o000009n/h02O[>001Ol0000T0:jJ``03o`00003I`l@0
+fL?401h0fL?400Go00000?;6XP3baZ80l/JRo`0000030?_MO@03o`00003<jhT0c>^90080c>^900?o
+00000?ooo`3oool0D03oool005@0oooo00?o000003aC`00lDl005@0lDl000ol00000IHkTo`000006
+09n/h0Go00007`2^V/<00ol00000fL?40=W3a00O0=W3a004o`00003baZ80l/JRo`000080nmem00?o
+00000<c[R@3<jhT00P3<jhT00ol00000oooo0?ooo`1A0?ooo`00E@3oool00ol00000?5?003aC`00C
+03aC`004o`00001US^@0IHkTo`0000/0WjcP1Ol0000J0:jJ``03o`00003I`l@0fL?401l0fL?400Ko
+00000?;6XP3baZ;o00000?_MOOl000040<c[R@03o`00003oool0oooo0580oooo001E0?ooo`03o`00
+000lDl00?5?00180?5?000?o000006F>i01US^@00P1US^@00ol00000WjcP09n/h00=09n/h0Go0000
+5@2^V/<00ol00000fL?40=W3a00P0=W3a004o`00003baZ;o0000o`0000D0c>^900?o00000?ooo`3o
+ool0DP3oool005H0oooo00?o000003aC`00lDl004@0lDl000ol00000IHkT06F>i00306F>i003o`00
+002O[>00WjcP0140WjcP1?l0000A0:jJ``03o`00003I`l@0fL?40200fL?40ol000050<c[R@03o`00
+003oool0oooo05<0oooo001F0?ooo`03o`00000lDl00?5?00100?5?000?o000006F>i01US^@0101U
+S^@00ol00000WjcP09n/h00E09n/h0Go0000302^V/<00ol00000fL?40=W3a00K0=W3a0Oo00001@3<
+jhT00ol00000oooo0?ooo`1D0?ooo`00E`3oool00ol00000?5?003aC`00>03aC`003o`00001US^@0
+IHkT00H0IHkT00?o000009n/h02O[>006@2O[>05o`0000H0[Y[300?o00000=W3a03I`l@03`3I`l@=
+o`0000@0c]gS00?o00000<[og?l000001@3<jhT00ol00000oooo0?ooo`1D0?ooo`00F03oool00ol0
+0000?5?003aC`00<03aC`003o`00001US^@0IHkT00L0IHkT00?o000009n/h02O[>007P2O[>05o`00
+00030:jJ`ol00000fL?400@0fL?43?l0000@0<kMh`04o`00003:om`0b_oLo`0000@0c>^900?o0000
+0?ooo`3oool0E@3oool005P0oooo00?o000003aC`00lDl00300lDl000ol00000IHkT06F>i00806F>
+i003o`00002O[>00WjcP0280WjcP1ol0000K0<kMh`04o`00003:om`0b_oLo`0000D0c>^900?o0000
+0?ooo`3oool0E@3oool005T0oooo00?o000003aC`00lDl002P0lDl000ol00000IHkT06F>i00:06F>
+i003o`00002O[>00WjcP0280WjcP00?o00000<kMh`3>gN<07@3>gN<01Ol00000b_oL0<[og03:omco
+000000@0c>^900?o00000?ooo`3oool0EP3oool005X0oooo00?o000003aC`00lDl00200lDl000ol0
+0000IHkT06F>i00;06F>i003o`00002O[>00WjcP0280WjcP00?o00000<kMh`3>gN<0703>gN<00ol0
+0000b_oL0<[og0020<[og005o`00003<jhT0c>^90<c[ROl00000F@3oool005X0oooo00?o000003aC
+`00lDl00200lDl000ol00000IHkT06F>i00<06F>i003o`00002O[>00WjcP0200WjcP00?o00000<kM
+h`3>gN<0703>gN<00ol00000b_oL0<[og0020<[og003o`00003<jhT0c>^90080c>^900?o00000?oo
+o`3oool0E`3oool005/0oooo00?o000003aC`00lDl001P0lDl000ol00000IHkT06F>i00=06F>i003
+o`00002O[>00WjcP0200WjcP00?o00000<kMh`3>gN<06`3>gN<00ol00000b_oL0<[og0030<[og005
+o`00003<jhT0c>^90<c[ROl00000FP3oool005`0oooo00?o000003aC`00lDl00100lDl000ol00000
+IHkT06F>i00?06F>i003o`00002O[>00WjcP01l0WjcP00?o00000<kMh`3>gN<06P3>gN<00ol00000
+b_oL0<[og0040<[og004o`00003<jhT0c>^9o`0005/0oooo001L0?ooo`03o`00000lDl00?5?000<0
+?5?000?o000006F>i01US^@0401US^@00ol00000WjcP09n/h00N09n/h003o`00003>gN<0c]gS01X0
+c]gS00?o00000<[og03:om`0103:om`01Ol00000c>^90<c[R@3<jhWo000005/0oooo001M0?ooo`03
+o`00000lDl00?5?00080?5?000?o000006F>i01US^@04@1US^@00ol00000WjcP09n/h00M09n/h003
+o`00003>gN<0c]gS01T0c]gS00?o00000<[og03:om`01@3:om`01?l00000c>^90<c[ROl0001L0?oo
+o`00G@3oool01Ol00000?5?003aC`00lDl3o000001D0IHkT00?o000009n/h02O[>00702O[>000ol0
+0000c]gS0<kMh`0H0<kMh`03o`00003:om`0b_oL00H0b_oL00?o00000<c[ROl00000G@3oool005h0
+oooo00?o000003aC`?l000005P1US^@00ol00000WjcP09n/h00L09n/h003o`00003>gN<0c]gS01L0
+c]gS00?o00000<[og03:om`01P3:om`01?l00000c>^90<c[ROl0001M0?ooo`00G`3oool2o`0001L0
+IHkT00?o000009n/h02O[>006P2O[>000ol00000c]gS0<kMh`0G0<kMh`03o`00003:om`0b_oL00L0
+b_oL00?o00000<c[ROl00000GP3oool005l0oooo00?o0000000YWOl000005P1US^@00ol00000WjcP
+09n/h00J09n/h003o`00003>gN<0c]gS01H0c]gS00?o00000<[og03:om`0203:om`00ol00000c>^9
+o`00001N0?ooo`00H03oool00ol0000002VMo`00000F06F>i003o`00002O[>00WjcP01T0WjcP00?o
+00000<kMh`3>gN<05@3>gN<00ol00000b_oL0<[og0080<[og003o`00003<jhWo000005l0oooo001Q
+0?ooo`Co00005@1US^@00ol00000WjcP09n/h00H09n/h003o`00003>gN<0c]gS01@0c]gS00?o0000
+0<[og03:om`02@3:om`2o`000600oooo001S0?ooo`03o`000000:Igo000001@0IHkT00?o000009n/
+h02O[>005`2O[>000ol00000c]gS0<kMh`0D0<kMh`03o`00003:om`0b_oL00X0b_oL0_l0001P0?oo
+o`00I03oool00ol0000002VMo`00000D06F>i003o`00002O[>00WjcP01H0WjcP00?o00000<kMh`3>
+gN<04`3>gN<00ol00000b_oL0<[og00:0<[og0;o0000H@3oool006D0oooo1?l0000B06F>i003o`00
+002O[>00WjcP01H0WjcP00?o00000<kMh`3>gN<04P3>gN<00ol00000b_oL0<[og00:0<[og0;o0000
+HP3oool006L0oooo00?o0000000YWOl000004P1US^@00ol00000WjcP09n/h00D09n/h003o`00003>
+gN<0c]gS0180c]gS00?o00000<[og03:om`02P3:om`00ol00000oooo0?ooo`1R0?ooo`00J03oool3
+o`000180IHkT00?o000009n/h02O[>004`2O[>000ol00000c]gS0<kMh`0A0<kMh`03o`00003:om`0
+b_oL00T0b_oL0_l0001U0?ooo`00JP3oool3o`000100IHkT00?o000009n/h02O[>004`2O[>000ol0
+0000c]gS0<kMh`0@0<kMh`03o`00003:om`0b_oL00T0b_oL00?o00000?ooo`3oool0I@3oool006/0
+oooo00?o0000000YWOl00000401US^@00ol00000WjcP09n/h00B09n/h003o`00003>gN<0c]gS00h0
+c]gS0_l0000:0<[og0;o0000J03oool006`0oooo0ol0000?06F>i003o`00002O[>00WjcP0140WjcP
+00?o00000<kMh`3>gN<03P3>gN<00ol00000b_oL0<[og0090<[og003o`00003oool0oooo06P0oooo
+001^0?ooo`?o00003P1US^@00ol00000WjcP09n/h00@09n/h003o`00003>gN<0c]gS00d0c]gS00?o
+00000<[og03:om`0203:om`2o`0006/0oooo001_0?ooo`?o00003@1US^@00ol00000WjcP09n/h00@
+09n/h003o`00003>gN<0c]gS00`0c]gS00?o00000<[og03:om`01`3:om`2o`0006d0oooo001a0?oo
+o`;o00003@1US^@00ol00000WjcP09n/h00?09n/h003o`00003>gN<0c]gS00/0c]gS00?o00000<[o
+g03:om`01`3:om`00ol00000oooo0?ooo`1]0?ooo`00LP3oool3o`0000`0IHkT00?o000009n/h02O
+[>003@2O[>000ol00000c]gS0<kMh`0;0<kMh`03o`00003:om`0b_oL00H0b_oL0_l0001`0?ooo`00
+L`3oool3o`0000/0IHkT00?o000009n/h02O[>003@2O[>000ol00000c]gS0<kMh`0:0<kMh`03o`00
+003:om`0b_oL00H0b_oL00?o00000?ooo`3oool0L03oool007D0oooo0_l0000;06F>i003o`00002O
+[>00WjcP00`0WjcP00?o00000<kMh`3>gN<02@3>gN<00ol00000b_oL0<[og0050<[og0;o0000L`3o
+ool007H0oooo0_l0000:06F>i003o`00002O[>00WjcP00/0WjcP00?o00000<kMh`3>gN<02@3>gN<0
+0ol00000b_oL0<[og0050<[og003o`00003oool0oooo07<0oooo001h0?ooo`;o00002@1US^@00ol0
+0000WjcP09n/h00:09n/h003o`00003>gN<0c]gS00P0c]gS00?o00000<[og03:om`0103:om`2o`00
+07H0oooo001i0?ooo`;o00002@1US^@00ol00000WjcP09n/h00909n/h003o`00003>gN<0c]gS00L0
+c]gS00?o00000<[og03:om`0103:om`00ol00000oooo0?ooo`1f0?ooo`00NP3oool2o`0000P0IHkT
+00?o000009n/h02O[>002@2O[>000ol00000c]gS0<kMh`060<kMh`03o`00003:om`0b_oL00<0b_oL
+0_l0001i0?ooo`00O03oool2o`0000L0IHkT00?o000009n/h02O[>001`2O[>000ol00000c]gS0<kM
+h`060<kMh`03o`00003:om`0b_oL00<0b_oL00?o00000?ooo`3oool0N@3oool007d0oooo0_l00006
+06F>i003o`00002O[>00WjcP00L0WjcP00?o00000<kMh`3>gN<01@3>gN<00ol00000b_oL0<[og002
+0<[og0;o0000O03oool007h0oooo0_l0000606F>i003o`00002O[>00WjcP00H0WjcP00?o00000<kM
+h`3>gN<0103>gN<00ol00000b_oL0<[og0020<[og003o`00003oool0oooo07`0oooo00200?ooo`;o
+0000101US^@00ol00000WjcP09n/h00609n/h003o`00003>gN<0c]gS00<0c]gS00Co00000<[og03:
+om`0b_oL0_l0001o0?ooo`00P@3oool2o`0000@0IHkT00?o000009n/h02O[>00102O[>000ol00000
+c]gS0<kMh`030<kMh`05o`00003:om`0b_oL0<[og?l00000P@3oool008<0oooo00?o000006F>i01U
+S^@00P1US^@00ol00000WjcP09n/h00309n/h003o`00003>gN<0c]gS0080c]gS00?o00000<[og03:
+om`00_l000220?ooo`00Q03oool2o`000080IHkT00?o000009n/h02O[>000`2O[>001_l00000c]gS
+0<kMh`3>gN?o00000<[og0;o0000Q03oool008D0oooo0_l0000206F>i005o`00002O[>00WjcP09n/
+h?l000000`3>gN<00ol00000b_oLo`0000260?ooo`00Q`3oool00ol00000IHkTo`00000309n/h003
+o`00003>gN<0c]gS00?o0000Q`3oool008P0oooo0ol0000209n/h004o`00003>gN?o0000o`0008T0
+oooo002:0?ooo`;o000000@0WjcPo`000?l0003o0000RP3oool008/0oooo0ol0002<0?ooo`00S03o
+ool00ol00000oooo0?ooo`2;0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00
+o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+.5 Mabswid
+[ ] 0 setdash
+.36872 .65777 m .34973 .54914 L .486 .58183 L closepath p .852 .549 .476 r
+F P
+0 g
+s
+.37684 .43254 m .34973 .54914 L .486 .58183 L closepath p .851 .687 .678 r
+F P
+0 g
+s
+.486 .58183 m .4914 .42433 L .60739 .43861 L closepath p .65 .57 .751 r
+F P
+0 g
+s
+.4914 .42433 m .486 .58183 L .37684 .43254 L closepath p .781 .681 .753 r
+F P
+0 g
+s
+.63075 .55515 m .486 .58183 L .60739 .43861 L closepath p .567 .45 .679 r
+F P
+0 g
+s
+.6144 .66191 m .63075 .55515 L .486 .58183 L closepath p .515 .277 .491 r
+F P
+0 g
+s
+.49073 .68996 m .36872 .65777 L .486 .58183 L closepath p .751 .379 .348 r
+F P
+0 g
+s
+.49073 .68996 m .486 .58183 L .6144 .66191 L closepath p .567 .232 .36 r
+F P
+0 g
+s
+.37684 .43254 m .4914 .42433 L .5 .27523 L closepath p .77 .759 .843 r
+F P
+0 g
+s
+.5 .27523 m .4914 .42433 L .60739 .43861 L closepath p .622 .632 .839 r
+F P
+0 g
+s
+.75546 .50603 m .64786 .36592 L .60739 .43861 L closepath p .328 .385 .769 r
+F P
+0 g
+s
+.64786 .36592 m .60739 .43861 L .5 .27523 L closepath p .468 .562 .868 r
+F P
+0 g
+s
+.63075 .55515 m .60739 .43861 L .75546 .50603 L closepath p .411 .344 .672 r
+F P
+0 g
+s
+.23889 .49384 m .34973 .54914 L .37684 .43254 L closepath p .939 .787 .665 r
+F P
+0 g
+s
+.35026 .35716 m .37684 .43254 L .5 .27523 L closepath p .836 .882 .876 r
+F P
+0 g
+s
+.35026 .35716 m .37684 .43254 L .23889 .49384 L closepath p .937 .908 .768 r
+F P
+0 g
+s
+.63075 .55515 m .6144 .66191 L .75546 .50603 L closepath p .302 .094 .422 r
+F P
+0 g
+s
+.23889 .49384 m .34973 .54914 L .36872 .65777 L closepath p .942 .614 .379 r
+F P
+0 g
+s
+.35026 .35716 m .5 .27523 L .37177 .31851 L closepath p .615 .956 .835 r
+F P
+0 g
+s
+.5 .27523 m .5105 .28499 L .37177 .31851 L closepath p 0 0 0 r
+F P
+0 g
+s
+.64786 .36592 m .5 .27523 L .64397 .32698 L closepath p .025 .434 .868 r
+F P
+0 g
+s
+.5 .27523 m .5105 .28499 L .64397 .32698 L closepath p .276 0 0 r
+F P
+0 g
+s
+.49073 .68996 m .5 .75807 L .6144 .66191 L closepath p .365 0 0 r
+F P
+0 g
+s
+.49073 .68996 m .36872 .65777 L .5 .75807 L closepath p .625 .094 0 r
+F P
+0 g
+s
+.6144 .66191 m .66054 .65315 L .5 .75807 L closepath p 0 0 0 r
+F P
+0 g
+s
+.6144 .66191 m .66054 .65315 L .75546 .50603 L closepath p 0 0 .009 r
+F P
+0 g
+s
+.64786 .36592 m .75546 .50603 L .64397 .32698 L closepath p 0 .074 .631 r
+F P
+0 g
+s
+.33724 .64758 m .23889 .49384 L .36872 .65777 L closepath p .794 .338 0 r
+F P
+0 g
+s
+.36872 .65777 m .33724 .64758 L .5 .75807 L closepath p .505 0 0 r
+F P
+0 g
+s
+.35026 .35716 m .23889 .49384 L .37177 .31851 L closepath p .646 .881 .527 r
+F P
+0 g
+s
+.75546 .50603 m .66054 .65315 L .65519 .585 L closepath p .922 .967 .668 r
+F P
+0 g
+s
+.75546 .50603 m .68244 .44034 L .64397 .32698 L closepath p .891 .497 .056 r
+F P
+0 g
+s
+.68244 .44034 m .75546 .50603 L .65519 .585 L closepath p .994 .841 .584 r
+F P
+0 g
+s
+.23889 .49384 m .33724 .64758 L .36165 .57909 L closepath p .057 .223 .72 r
+F P
+0 g
+s
+.337 .43125 m .36165 .57909 L .23889 .49384 L closepath p .238 .207 .619 r
+F P
+0 g
+s
+.23889 .49384 m .337 .43125 L .37177 .31851 L closepath p 0 0 .175 r
+F P
+0 g
+s
+.5 .75807 m .66054 .65315 L .65519 .585 L closepath p .828 .975 .888 r
+F P
+0 g
+s
+.64397 .32698 m .5105 .28499 L .51982 .38415 L closepath p .707 .225 .102 r
+F P
+0 g
+s
+.68244 .44034 m .64397 .32698 L .51982 .38415 L closepath p .878 .502 .325 r
+F P
+0 g
+s
+.5 .75807 m .33724 .64758 L .36165 .57909 L closepath p .3 .512 .894 r
+F P
+0 g
+s
+.37177 .31851 m .337 .43125 L .51982 .38415 L closepath p .399 .116 .364 r
+F P
+0 g
+s
+.5105 .28499 m .51982 .38415 L .37177 .31851 L closepath p .442 .017 .134 r
+F P
+0 g
+s
+.51151 .60126 m .5 .75807 L .65519 .585 L closepath p .782 .823 .885 r
+F P
+0 g
+s
+.51151 .60126 m .5 .75807 L .36165 .57909 L closepath p .576 .644 .881 r
+F P
+0 g
+s
+.65519 .585 m .68244 .44034 L .51982 .38415 L closepath p .899 .722 .654 r
+F P
+0 g
+s
+.36165 .57909 m .337 .43125 L .51982 .38415 L closepath p .506 .395 .661 r
+F P
+0 g
+s
+.51151 .60126 m .65519 .585 L .51982 .38415 L closepath p .805 .716 .766 r
+F P
+0 g
+s
+.51151 .60126 m .36165 .57909 L .51982 .38415 L closepath p .627 .565 .765 r
+F P
+0 g
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00R`3oool3o`0008`0oooo00280?ooo`?o00000P00
+0004o`0008T0oooo00250?ooo`?o00001P0000000ol00000AP0004H00003o`0008H0oooo00220?oo
+o`?o000020000005o`000080AP000ol000230?ooo`00O`3oool3o`0000H000001Ol0000207448P03
+o`00002d>AX0]3TJ00?o00000P160003o`000800oooo001l0?ooo`?o00001@000004o`0000L0L@@R
+00?o00000;@i6P2d>AX00`2d>AX3o`000080AP000ol0001m0?ooo`00N@3oool3o`0000@000001?l0
+000;07448P03o`00002d>AX0]3TJ00H0]3TJ1?l000001016003o0000o`000?l0001j0?ooo`00MP3o
+ool3o`00008000001Ol0000?07448P03o`00002d>AX0]3TJ00X0]3TJ0ol000000`16003o0000o`00
+001h0?ooo`00L`3oool3o`00000300000?l0003o000000;o00005@1a12800ol00000]3TJ0;@i6P0<
+0;@i6PKo0000M@3oool00700oooo1ol0000I07448P03o`00002d>AX0]3TJ0100]3TJ1Ol0001b0?oo
+o`00K@3oool6o`0001d0L@@R00?o00000;@i6P2d>AX04`2d>AX5o`0006l0oooo001Z0?ooo`Co0000
+8P1a12800ol00000]3TJ0;@i6P0F0;@i6PGo0000K03oool006P0oooo0_l0000V07448P03o`00002d
+>AX0]3TJ01X0]3TJ1?l0001Y0?ooo`00J03oool00ol00000IQeMo`000002o`0002<0L@@R00?o0000
+0;@i6P2d>AX07@2d>AX4o`0006H0oooo001W0?ooo`;o0000101V7Ed2o`000240L@@R00?o00000;@i
+6P2d>AX0802d>AX2o`0006D0oooo001V0?ooo`;o00001`1V7Ed2o`0001l0L@@R00?o00000;@i6P2d
+>AX07P2d>AX2o`0000030>20Dol00000oooo06@0oooo001U0?ooo`03o`00000002co000000T0IQeM
+0ol0000L07448P03o`00002d>AX0]3TJ01`0]3TJ0_l000040>20D`03o`00003oool0oooo0680oooo
+001U0?ooo`03o`00000002co000000`0IQeM0_l0000K07448P03o`00002d>AX0]3TJ01T0]3TJ0_l0
+00060>20D`;o0000H`3oool006@0oooo00?o00000000;?l000003`1V7Ed2o`0001T0L@@R00?o0000
+0;@i6P2d>AX05P2d>AX3o`0000P0h81C0_l0001S0?ooo`00H`3oool01?l00000000/0000;?l0000A
+06HMG@?o00005P1a12800ol00000]3TJ0;@i6P0D0;@i6P;o0000303PP5<2o`000680oooo001R0?oo
+o`05o`00000002`0000/0000;?l00000501V7Ed2o`0001@0L@@R00?o00000;@i6P2d>AX04P2d>AX2
+o`0000h0h81C0_l0001R0?ooo`00HP3oool01?l00000000/0000;?l0000G06HMG@;o00004P1a1280
+0ol00000]3TJ0;@i6P0@0;@i6P;o0000403PP5<00ol00000i7l>o`00001Q0?ooo`00H@3oool01Ol0
+0000000/0000;00002co000001T0IQeM0ol0000?07448P03o`00002d>AX0]3TJ00h0]3TJ0_l0000C
+0>20D`03o`00003TO`ko00000600oooo001P0?ooo`03o`00000002`0000/0080000/00?o000006HM
+G@1V7Ed06P1V7Ed2o`0000d0L@@R00?o00000;@i6P2d>AX0302d>AX2o`0001D0h81C00?o00000>Ao
+3_l00000H03oool005l0oooo00?o00000000;00002`00P0002`00ol00000IQeM06HMG@0M06HMG@;o
+00002`1a12800ol00000]3TJ0;@i6P0:0;@i6P;o00005`3PP5<01?l00000i7l>0>Ao3_l0001O0?oo
+o`00G`3oool00ol00000000/0000;0020000;003o`00001V7Ed0IQeM01l0IQeM0ol0000807448P03
+o`00002d>AX0]3TJ00P0]3TJ0_l0000J0>20D`04o`00003TO`h0i7l>o`0005h0oooo001N0?ooo`03
+o`00000002`0000/00<0000/00?o000006HMG@1V7Ed08P1V7Ed2o`0000L0L@@R00?o00000;@i6P2d
+>AX0102d>AX3o`0001`0h81C00Co00000>Ao3P3TO`ko0000GP3oool005d0oooo00?o00000000;000
+02`00`0002`00ol00000IQeM06HMG@0U06HMG@;o00001@1a12800ol00000]3TJ0;@i6P020;@i6P;o
+00007`3PP5<01Ol00000i7l>0>Ao3P3TO`ko000005d0oooo001L0?ooo`03o`00000002`0000/00@0
+000/00?o000006HMG@1V7Ed09`1V7Ed3o`000080L@@R00?o00000;@i6P2d>AX00_l0000R0>20D`04
+o`00003TO`h0i7l>o`0005d0oooo001L0?ooo`03o`00000002`0000/00@0000/00?o000006HMG@1V
+7Ed0:P1V7Ed5o`0002@0h81C00Go00000>Ao3P3TO`h0i7l>o`00001L0?ooo`00F`3oool00ol00000
+000/0000;0050000;003o`00001V7Ed0IQeM02X0IQeM1?l0000U0>20D`03o`00003TO`h0i7l>0080
+i7l>00?o00000?ooo`3oool0F@3oool005X0oooo00?o00000000;00002`01@0002`00ol00000IQeM
+06HMG@0W06HMG@Co00000P21IJT00ol00000i[RWo`000002o`0002<0h81C00Go00000>Ao3P3TO`h0
+i7l>o`00001K0?ooo`00F@3oool00ol00000000/0000;0060000;003o`00001V7Ed0IQeM02@0IQeM
+0ol00005085UZ@?o00000`3V^:L3o`000200h81C00?o00000>Ao3P3TO`h00P3TO`h00ol00000oooo
+0?ooo`1H0?ooo`00F@3oool00ol00000000/0000;0060000;003o`00001V7Ed0IQeM0200IQeM1?l0
+0007085UZ@05o`00002PT<?o00000<jga?l000001@3V^:L3o`0001d0h81C00?o00000>Ao3P3TO`h0
+0`3TO`h00ol00000oooo0?ooo`1G0?ooo`00F03oool00ol00000000/0000;0060000;003o`00001V
+7Ed0IQeM01d0IQeM1?l0000:085UZ@06o`00002PT<<0X933o`00003>]lCo0000203V^:L3o`0001/0
+h81C00?o00000>Ao3P3TO`h00P3TO`h00ol00000oooo0?ooo`1G0?ooo`00E`3oool00ol00000000/
+0000;0070000;003o`00001V7Ed0IQeM01X0IQeM0ol0000=085UZ@05o`00002PT<<0X9330:2@`ol0
+00000P3>]l@00ol00000i[RW0>JhY`080>JhY`;o00006@3PP5<00ol00000i7l>0>Ao3P030>Ao3P03
+o`00003oool0oooo05H0oooo001F0?ooo`03o`00000002`0000/00P0000/00?o000006HMG@1V7Ed0
+5P1V7Ed4o`0000l0PFFY00?o00000:2@``2PT<<00P2PT<<01Ol00000c[O40<jga03>]lCo000000/0
+i[RW0ol0000F0>20D`03o`00003TO`h0i7l>00<0i7l>00?o00000?ooo`3oool0EP3oool005D0oooo
+00?o00000000;00002`0200002`00ol00000IQeM06HMG@0C06HMG@Co00004`21IJT00ol00000X933
+0:2@``020:2@``05o`00003>]l@0c[O40<jga?l000003P3V^:L3o`0001@0h81C00?o00000>Ao3P3T
+O`h00`3TO`h00ol00000oooo0?ooo`1E0?ooo`00E@3oool00ol00000000/0000;0080000;003o`00
+001V7Ed0IQeM00l0IQeM1?l0000F085UZ@03o`00002PT<<0X93300<0X93300?o00000<jga03>]l@0
+0P3>]l@00ol00000i[RW0>JhY`0>0>JhY`?o00004@3PP5<00ol00000i7l>0>Ao3P040>Ao3P03o`00
+003oool0oooo05@0oooo001D0?ooo`03o`00000002`0000/00T0000/00?o000006HMG@1V7Ed0301V
+7Ed3o`0001T0PFFY00?o00000:2@``2PT<<0102PT<<00ol00000c[O40<jga0030<jga003o`00003V
+^:L0i[RW0100i[RW0ol0000>0>20D`03o`00003TO`h0i7l>00@0i7l>00?o00000?ooo`3oool0E03o
+ool005<0oooo00?o00000000;00002`02@0002`00ol00000IQeM06HMG@0906HMG@Co00006`21IJT0
+0ol00000X9330:2@``050:2@``03o`00003>]l@0c[O400<0c[O400?o00000>JhY`3V^:L04`3V^:L3
+o`0000`0h81C00?o00000>Ao3P3TO`h0103TO`h00ol00000oooo0?ooo`1C0?ooo`00DP3oool00ol0
+0000000/0000;00:0000;003o`00001V7Ed0IQeM00D0IQeM1?l0000N085UZ@03o`00002PT<<0X933
+00D0X93300?o00000<jga03>]l@01@3>]l@00ol00000i[RW0>JhY`0E0>JhY`;o00002P3PP5<00ol0
+0000i7l>0>Ao3P050>Ao3P03o`00003oool0oooo0580oooo001B0?ooo`03o`00000002`0000/00X0
+000/00?o000006HMG@1V7Ed00P1V7Ed3o`000280PFFY00?o00000:2@``2PT<<01@2PT<<00ol00000
+c[O40<jga0060<jga003o`00003V^:L0i[RW01H0i[RW0ol000070>20D`03o`00003TO`h0i7l>00D0
+i7l>00?o00000?ooo`3oool0DP3oool00540oooo00?o00000000;00002`02P0002`00ol00000IQeM
+o`000003o`0002@0PFFY00?o00000:2@``2PT<<01P2PT<<00ol00000c[O40<jga0060<jga003o`00
+003V^:L0i[RW01T0i[RW0ol000050>20D`03o`00003TO`h0i7l>00D0i7l>00?o00000?ooo`3oool0
+D@3oool00500oooo00?o00000000;00002`02P0002`3o`0002L0PFFY00?o00000:2@``2PT<<01`2P
+T<<00ol00000c[O40<jga0070<jga003o`00003V^:L0i[RW01/0i[RW0ol000020>20D`03o`00003T
+O`h0i7l>00H0i7l>00?o00000?ooo`3oool0D03oool004l0oooo00?o00000000;00002`02P0002`0
+0ol00000?3BNo`00000W085UZ@03o`00002PT<<0X93300P0X93300?o00000<jga03>]l@0203>]l@0
+0ol00000i[RW0>JhY`0M0>JhY`?o0000203TO`h00ol00000oooo0?ooo`1@0?ooo`00C`3oool00ol0
+0000000/0000;0080000;0;o00000P0l=9h00ol00000PFFY085UZ@0T085UZ@03o`00002PT<<0X933
+00T0X93300?o00000<jga03>]l@0203>]l@00ol00000i[RW0>JhY`0P0>JhY`;o00001`3TO`h00ol0
+0000oooo0?ooo`1?0?ooo`00CP3oool00ol00000000/0000;0070000;0;o0000100l=9h00ol00000
+PFFY085UZ@0S085UZ@03o`00002PT<<0X93300X0X93300?o00000<jga03>]l@02@3>]l@00ol00000
+i[RW0>JhY`0O0>JhY`03o`00003neiGo000000H0i7l>00?o00000?ooo`3oool0C`3oool004d0oooo
+00?o00000000;00002`01`0002`00ol00000?3BN03`dWP0503`dWP03o`000021IJT0PFFY0280PFFY
+00?o00000:2@``2PT<<02P2PT<<00ol00000c[O40<jga00:0<jga003o`00003V^:L0i[RW01h0i[RW
+00Co00000?kGU@3neiGo00001P3TO`h00ol00000oooo0?ooo`1>0?ooo`00C03oool00ol00000000/
+0000;0060000;0;o0000200l=9h00ol00000PFFY085UZ@0Q085UZ@03o`00002PT<<0X93300/0X933
+00?o00000<jga03>]l@02P3>]l@00ol00000i[RW0>JhY`0N0>JhY`05o`00003neiD0o]NE0?kGUOl0
+00001P3TO`h00ol00000oooo0?ooo`1=0?ooo`00C03oool00ol00000000/0000;0050000;003o`00
+000l=9h0?3BN00P0?3BN00?o0000085UZ@21IJT08021IJT00ol00000X9330:2@``0<0:2@``03o`00
+003>]l@0c[O400/0c[O400?o00000>JhY`3V^:L0703V^:L00ol00000o]NE0?kGU@030?kGU@03o`00
+003TO`h0i7l>00<0i7l>00?o00000?ooo`3oool0C@3oool004/0oooo00?o00000000;00002`01000
+02`2o`0000/0?3BN00?o0000085UZ@21IJT07`21IJT00ol00000X9330:2@``0=0:2@``03o`00003>
+]l@0c[O400`0c[O400?o00000>JhY`3V^:L06`3V^:L00ol00000o]NE0?kGU@040?kGU@03o`00003T
+O`h0i7l>00<0i7l>00?o00000?ooo`3oool0C03oool004X0oooo00?o00000000;00002`00`0002`2
+o`0000d0?3BN00?o0000085UZ@21IJT07P21IJT00ol00000X9330:2@``0>0:2@``03o`00003>]l@0
+c[O400`0c[O400?o00000>JhY`3V^:L06`3V^:L00ol00000o]NE0?kGU@050?kGU@03o`00003TO`h0
+i7l>00<0i7l>00?o00000?ooo`3oool0B`3oool004T0oooo00?o00000000;00002`00`0002`00ol0
+0000?3BN03`dWP0=03`dWP03o`000021IJT0PFFY01h0PFFY00?o00000:2@``2PT<<03P2PT<<00ol0
+0000c[O40<jga00=0<jga003o`00003V^:L0i[RW01X0i[RW00?o00000?kGU@3neiD01P3neiD00ol0
+0000i7l>0>Ao3P020>Ao3P03o`00003oool0oooo04/0oooo00190?ooo`04o`00000002`0000/0000
+;0;o00004@0l=9h00ol00000PFFY085UZ@0L085UZ@03o`00002PT<<0X93300l0X93300?o00000<jg
+a03>]l@03P3>]l@00ol00000i[RW0>JhY`0I0>JhY`03o`00003neiD0o]NE00L0o]NE00?o00000>Ao
+3P3TO`h00P3TO`h00ol00000oooo0?ooo`1:0?ooo`00B03oool01Ol00000000/0000;00002co0000
+01<0?3BN00?o0000085UZ@21IJT06`21IJT00ol00000X9330:2@``0@0:2@``03o`00003>]l@0c[O4
+00h0c[O400?o00000>JhY`3V^:L06@3V^:L00ol00000o]NE0?kGU@080?kGU@;o00000P3TO`h00ol0
+0000oooo0?ooo`1:0?ooo`00A`3oool00ol00000000/0000;002o`0001@0?3BN00?o0000085UZ@21
+IJT06P21IJT00ol00000X9330:2@``0A0:2@``03o`00003>]l@0c[O400l0c[O400?o00000>JhY`3V
+^:L05`3V^:L00ol00000o]NE0?kGU@0;0?kGU@04o`00003TO`h0i7l>o`0004/0oooo00160?ooo`04
+o`00000002`0000/o`0001H0?3BN00?o0000085UZ@21IJT06@21IJT00ol00000X9330:2@``0B0:2@
+``03o`00003>]l@0c[O40100c[O400?o00000>JhY`3V^:L05P3V^:L00ol00000o]NE0?kGU@0<0?kG
+U@04o`00003TO`h0i7l>o`0004X0oooo00160?ooo`?o00005`0l=9h00ol00000PFFY085UZ@0H085U
+Z@03o`00002PT<<0X93301<0X93300?o00000<jga03>]l@0403>]l@00ol00000i[RW0>JhY`0F0>Jh
+Y`03o`00003neiD0o]NE00d0o]NE00?o00000>Ao3_l00000BP3oool004D0oooo0_l0000I03`dWP03
+o`000021IJT0PFFY01P0PFFY00?o00000:2@``2PT<<04`2PT<<00ol00000c[O40<jga00A0<jga003
+o`00003V^:L0i[RW01D0i[RW00?o00000?kGU@3neiD03P3neiD00ol00000i7l>o`0000190?ooo`00
+A03oool00ol00000?3BN03`dWP0J03`dWP03o`000021IJT0PFFY01H0PFFY00?o00000:2@``2PT<<0
+502PT<<00ol00000c[O40<jga00B0<jga003o`00003V^:L0i[RW01@0i[RW00?o00000?kGU@3neiD0
+3`3neiD00ol00000i7l>o`0000180?ooo`00@`3oool2o`0001`0?3BN00?o0000085UZ@21IJT05@21
+IJT00ol00000X9330:2@``0D0:2@``03o`00003>]l@0c[O401<0c[O400?o00000>JhY`3V^:L0503V
+^:L00ol00000o]NE0?kGU@0@0?kGU@;o0000B03oool004<0oooo00?o000000hi^?l000006`0l=9h0
+0ol00000PFFY085UZ@0D085UZ@03o`00002PT<<0X93301D0X93300?o00000<jga03>]l@0503>]l@0
+0ol00000i[RW0>JhY`0B0>JhY`03o`00003neiD0o]NE0180o]NE0_l000170?ooo`00A03oool01?l0
+00003SVho`000?l0000I03`dWP03o`000021IJT0PFFY01<0PFFY00?o00000:2@``2PT<<05P2PT<<0
+0ol00000c[O40<jga00E0<jga003o`00003V^:L0i[RW0140i[RW00?o00000?kGU@3neiD04`3neiD0
+0ol00000oooo0?ooo`150?ooo`00A@3oool01?l000003SVh00hi^?l0000H03`dWP03o`000021IJT0
+PFFY01<0PFFY00?o00000:2@``2PT<<05P2PT<<00ol00000c[O40<jga00E0<jga003o`00003V^:L0
+i[RW0140i[RW00?o00000?kGU@3neiD0503neiD00ol00000oooo0?ooo`140?ooo`00A@3oool01Ol0
+00003SVh00hi^00>>KSo000001P0?3BN00?o0000085UZ@21IJT04@21IJT00ol00000X9330:2@``0G
+0:2@``03o`00003>]l@0c[O401H0c[O400?o00000>JhY`3V^:L0403V^:L00ol00000o]NE0?kGU@0D
+0?kGU@;o0000A@3oool004H0oooo00Co000000hi^00>>KP03SVh0_l0000F03`dWP03o`000021IJT0
+PFFY0100PFFY00?o00000:2@``2PT<<0602PT<<00ol00000c[O40<jga00G0<jga003o`00003V^:L0
+i[RW00l0i[RW00?o00000?kGU@3neiD04`3neiD00ol00000k?N[o`0000150?ooo`00AP3oool00ol0
+00003SVh00hi^00300hi^003o`00000l=9h0?3BN01<0?3BN00?o0000085UZ@21IJT03`21IJT00ol0
+0000X9330:2@``0I0:2@``03o`00003>]l@0c[O401L0c[O400?o00000>JhY`3V^:L03P3V^:L00ol0
+0000o]NE0?kGU@0C0?kGU@03o`00003/mj_o000004H0oooo00170?ooo`03o`00000>>KP03SVh00<0
+3SVh0_l0000C03`dWP03o`000021IJT0PFFY00h0PFFY00?o00000:2@``2PT<<06P2PT<<00ol00000
+c[O40<jga00H0<jga003o`00003V^:L0i[RW00d0i[RW00?o00000?kGU@3neiD04P3neiD00ol00000
+k?N[o`0000170?ooo`00B03oool00ol000003SVh00hi^00400hi^003o`00000l=9h0?3BN0100?3BN
+00?o0000085UZ@21IJT03@21IJT00ol00000X9330:2@``0K0:2@``03o`00003>]l@0c[O401T0c[O4
+00?o00000>JhY`3V^:L0303V^:L00ol00000o]NE0?kGU@0@0?kGU@;o00000P3/mj/00ol00000oooo
+0?ooo`150?ooo`00B03oool00ol000003SVh00hi^00500hi^003o`00000l=9h0?3BN00l0?3BN00?o
+0000085UZ@21IJT03@21IJT00ol00000X9330:2@``0K0:2@``03o`00003>]l@0c[O401T0c[O400?o
+00000>JhY`3V^:L0303V^:L00ol00000o]NE0?kGU@0?0?kGU@05o`00003/mj/0k?N[0>cgZol00000
+B03oool004T0oooo00?o000000hi^00>>KP01@0>>KP2o`000100?3BN00?o0000085UZ@21IJT02`21
+IJT00ol00000X9330:2@``0L0:2@``03o`00003>]l@0c[O401X0c[O400?o00000>JhY`3V^:L02`3V
+^:L00ol00000o]NE0?kGU@0>0?kGU@05o`00003/mj/0k?N[0>cgZol00000B@3oool004X0oooo00?o
+000000hi^00>>KP01P0>>KP00ol00000?3BN03`dWP0=03`dWP03o`000021IJT0PFFY00X0PFFY00?o
+00000:2@``2PT<<07@2PT<<00ol00000c[O40<jga00K0<jga003o`00003V^:L0i[RW00X0i[RW00?o
+00000?kGU@3neiD0303neiD2o`0000@0k?N[00?o00000?ooo`3oool0A`3oool004X0oooo00?o0000
+00hi^00>>KP01`0>>KP2o`0000d0?3BN00?o0000085UZ@21IJT02@21IJT00ol00000X9330:2@``0N
+0:2@``03o`00003>]l@0c[O401/0c[O400?o00000>JhY`3V^:L02@3V^:L00ol00000o]NE0?kGU@0<
+0?kGU@03o`00003/mj/0k?N[00<0k?N[00?o00000?ooo`3oool0B03oool004/0oooo00?o000000hi
+^00>>KP0200>>KP00ol00000?3BN03`dWP0:03`dWP03o`000021IJT0PFFY00P0PFFY00?o00000:2@
+``2PT<<07`2PT<<00ol00000c[O40<jga00L0<jga003o`00003V^:L0i[RW00P0i[RW00?o00000?kG
+U@3neiD02`3neiD00ol00000k?N[0>cgZ`030>cgZ`03o`00003oool0oooo04T0oooo001;0?ooo`03
+o`00000>>KP03SVh00T03SVh0_l0000:03`dWP03o`000021IJT0PFFY00P0PFFY00?o00000:2@``2P
+T<<07`2PT<<00ol00000c[O40<jga00M0<jga003o`00003V^:L0i[RW00L0i[RW00?o00000?kGU@3n
+eiD02P3neiD00ol00000k?N[0>cgZ`040>cgZ`03o`00003oool0oooo04T0oooo001<0?ooo`03o`00
+000>>KP03SVh00X03SVh00?o000003`dWP0l=9h01`0l=9h00ol00000PFFY085UZ@07085UZ@03o`00
+002PT<<0X9330200X93300?o00000<jga03>]l@07@3>]l@00ol00000i[RW0>JhY`070>JhY`03o`00
+003neiD0o]NE00P0o]NE0_l000060>cgZ`03o`00003oool0oooo04X0oooo001=0?ooo`03o`00000>
+>KP03SVh00X03SVh00?o000003`dWP0l=9h01`0l=9h00ol00000PFFY085UZ@05085UZ@03o`00002P
+T<<0X9330240X93300?o00000<jga03>]l@07P3>]l@00ol00000i[RW0>JhY`060>JhY`03o`00003n
+eiD0o]NE00L0o]NE00?o00000>cgZ`3/mj/01@3/mj/00ol00000oooo0?ooo`1;0?ooo`00C@3oool0
+0ol000003SVh00hi^00;00hi^0;o00001`0l=9h00ol00000PFFY085UZ@04085UZ@03o`00002PT<<0
+X9330280X93300?o00000<jga03>]l@07`3>]l@00ol00000i[RW0>JhY`050>JhY`03o`00003neiD0
+o]NE00H0o]NE00?o00000>cgZ`3/mj/01P3/mj/00ol00000oooo0?ooo`1;0?ooo`00CP3oool00ol0
+00003SVh00hi^00<00hi^003o`00000l=9h0?3BN00@0?3BN00?o0000085UZ@21IJT00`21IJT00ol0
+0000X9330:2@``0S0:2@``03o`00003>]l@0c[O401l0c[O400?o00000>JhY`3V^:L0103V^:L00ol0
+0000o]NE0?kGU@060?kGU@03o`00003/mj/0k?N[00H0k?N[00?o00000?ooo`3oool0C03oool004l0
+oooo00?o000000hi^00>>KP0300>>KP2o`0000@0?3BN00?o0000085UZ@21IJT00P21IJT00ol00000
+X9330:2@``0T0:2@``03o`00003>]l@0c[O40200c[O400?o00000>JhY`3V^:L00`3V^:L00ol00000
+o]NE0?kGU@040?kGU@;o0000203/mj/00ol00000oooo0?ooo`1=0?ooo`00C`3oool00ol000003SVh
+00hi^00>00hi^005o`00000l=9h0?3BN03`dW_l000001021IJT00ol00000X9330:2@``0T0:2@``03
+o`00003>]l@0c[O40240c[O400?o00000>JhY`3V^:L00P3V^:L00ol00000o]NE0?kGU@030?kGU@03
+o`00003/mj/0k?N[00P0k?N[00?o00000?ooo`3oool0C@3oool00500oooo00?o000000hi^00>>KP0
+3P0>>KP01?l00000?3BN03`dW_l00003085UZ@03o`00002PT<<0X93302@0X93300?o00000<jga03>
+]l@08P3>]l@00ol00000i[RW0>JhY`020>JhY`03o`00003neiD0o]NE0080o]NE00?o00000>cgZ`3/
+mj/0203/mj/00ol00000oooo0?ooo`1>0?ooo`00D@3oool00ol000003SVh00hi^00>00hi^0;o0000
+00@0?3BNo`000021IJWo00009`2PT<<00ol00000c[O40<jga00S0<jga005o`00003V^:L0i[RW0>Jh
+Yol000000P3neiD2o`0000X0k?N[00?o00000?ooo`3oool0C`3oool00540oooo00?o000000hi^00>
+>KP0400>>KP3o`0002P0X93300?o00000<jga03>]l@0903>]l@01_l00000i[RW0>JhYol00000o]NE
+o`0000`0k?N[00?o00000?ooo`3oool0C`3oool00580oooo00?o000000hi^00>>KP0400>>KP5o`00
+02D0X93300?o00000<jga03>]l@0903>]l@01Ol00000i[RWo`00003neiGo000000`0k?N[00?o0000
+0?ooo`3oool0D03oool00580oooo00?o000000hi^00>>KP0400>>KP00ol00000TjCQ09>Th@0209>T
+h@Oo00007P2PT<<00ol00000c[O40<jga00U0<jga0?o0000303/mj/00ol00000oooo0?ooo`1A0?oo
+o`00D`3oool00ol000003SVh00hi^00>00hi^003o`00001<PnCo000000X0TjCQ1ol0000G0:2@``03
+o`00003>]l@0c[O40240c[O41_l0000=0>cgZ`03o`00003oool0oooo0540oooo001D0?ooo`03o`00
+000>>KP03SVh00d03SVh00Co000004b3i01<PnCo0000402CY>47o`000100X93300?o00000<jga03>
+]l@05`3>]l@:o`0000D0b=;R00?o00000>cgZ`3/mj/02P3/mj/00ol00000oooo0?ooo`1B0?ooo`00
+E03oool00ol000003SVh00hi^00=00hi^005o`00001<Pn@0C8?T04b3i?l000005P2CY>47o`0000T0
+X93300?o00000<jga03>]l@0303>]l@;o`0000h0b=;R0_l0000<0>cgZ`03o`00003oool0oooo0580
+oooo001E0?ooo`03o`00000>>KP03SVh00/03SVh00?o000004b3i01<Pn@00P1<Pn@00ol00000TjCQ
+09>Th@0K09>Th@Oo00000P2PT<<00ol00000c[O40<jga0020<jga0[o00006038d^800ol00000doWS
+o`00000;0>cgZ`03o`00003oool0oooo05<0oooo001F0?ooo`03o`00000>>KP03SVh00X03SVh00?o
+000004b3i01<Pn@00`1<Pn@00ol00000TjCQ09>Th@0Q09>Th@Oo00008@38d^801?l00000doWS0=?i
+hol0000:0>cgZ`03o`00003oool0oooo05@0oooo001F0?ooo`03o`00000>>KP03SVh00X03SVh00?o
+000004b3i01<Pn@0101<Pn@00ol00000TjCQ09>Th@0R09>Th@03o`000038d^80b=;R0280b=;R00Go
+00000=?ih`3CnN<0doWSo`00000:0>cgZ`03o`00003oool0oooo05@0oooo001G0?ooo`03o`00000>
+>KP03SVh00P03SVh00?o000004b3i01<Pn@01P1<Pn@00ol00000TjCQ09>Th@0Q09>Th@03o`000038
+d^80b=;R0240b=;R00?o00000=?ih`3CnN<00P3CnN<00ol00000k?N[0>cgZ`070>cgZ`03o`00003o
+ool0oooo05D0oooo001G0?ooo`03o`00000>>KP03SVh00P03SVh00?o000004b3i01<Pn@01`1<Pn@0
+0ol00000TjCQ09>Th@0P09>Th@03o`000038d^80b=;R0200b=;R00?o00000=?ih`3CnN<00`3CnN<0
+0ol00000k?N[0>cgZ`060>cgZ`03o`00003oool0oooo05H0oooo001H0?ooo`03o`00000>>KP03SVh
+00H03SVh00?o000004b3i01<Pn@0201<Pn@00ol00000TjCQ09>Th@0P09>Th@03o`000038d^80b=;R
+01l0b=;R00?o00000=?ih`3CnN<0103CnN<00ol00000k?N[0>cgZ`060>cgZ`03o`00003oool0oooo
+05H0oooo001I0?ooo`03o`00000>>KP03SVh00D03SVh00?o000004b3i01<Pn@02@1<Pn@00ol00000
+TjCQ09>Th@0O09>Th@03o`000038d^80b=;R01h0b=;R00?o00000=?ih`3CnN<01@3CnN<00ol00000
+k?N[0>cgZ`050>cgZ`03o`00003oool0oooo05L0oooo001I0?ooo`03o`00000>>KP03SVh00D03SVh
+00?o000004b3i01<Pn@02P1<Pn@00ol00000TjCQ09>Th@0N09>Th@03o`000038d^80b=;R01d0b=;R
+00?o00000=?ih`3CnN<01`3CnN<00ol00000k?N[0>cgZ`030>cgZ`03o`00003oool0oooo05P0oooo
+001J0?ooo`03o`00000>>KP03SVh00<03SVh00?o000004b3i01<Pn@0301<Pn@00ol00000TjCQ09>T
+h@0M09>Th@03o`000038d^80b=;R01d0b=;R00?o00000=?ih`3CnN<01`3CnN<00ol00000k?N[0>cg
+Z`030>cgZ`03o`00003oool0oooo05P0oooo001K0?ooo`03o`00000>>KP03SVh00803SVh00?o0000
+04b3i01<Pn@0301<Pn@00ol00000TjCQ09>Th@0L09>Th@03o`000038d^80b=;R01d0b=;R00?o0000
+0=?ih`3CnN<0203CnN<00ol00000k?N[0>cgZ`020>cgZ`03o`00003oool0oooo05T0oooo001K0?oo
+o`03o`00000>>KP03SVh00803SVh00?o000004b3i01<Pn@03@1<Pn@00ol00000TjCQ09>Th@0K09>T
+h@03o`000038d^80b=;R01`0b=;R00?o00000=?ih`3CnN<02@3CnN<01Ol00000k?N[0>cgZ`3/mj_o
+000005`0oooo001L0?ooo`04o`00000>>KP03SVho`000140C8?T00?o000009>Th@2CY>406P2CY>40
+0ol00000b=;R0<SBhP0K0<SBhP03o`00003CnN<0doWS00X0doWS00Go00000>cgZ`3/mj/0k?N[o`00
+001L0?ooo`00G03oool01?l000003SVh00hi^?l0000B04b3i003o`00002CY>40TjCQ01T0TjCQ00?o
+00000<SBhP38d^806P38d^800ol00000doWS0=?ih`0;0=?ih`04o`00003/mj/0k?N[o`0005d0oooo
+001M0?ooo`03o`00000>>KSo00000180C8?T00?o000009>Th@2CY>406@2CY>400ol00000b=;R0<SB
+hP0I0<SBhP03o`00003CnN<0doWS00`0doWS00?o00000>cgZol00000GP3oool005h0oooo0_l0000C
+04b3i003o`00002CY>40TjCQ01P0TjCQ00?o00000<SBhP38d^806038d^800ol00000doWS0=?ih`0=
+0=?ih`03o`00003/mj_o000005h0oooo001P0?ooo`03o`00001<Pn@0C8?T0140C8?T00?o000009>T
+h@2CY>405`2CY>400ol00000b=;R0<SBhP0G0<SBhP03o`00003CnN<0doWS00h0doWS0_l0001O0?oo
+o`00H@3oool2o`000180C8?T00?o000009>Th@2CY>405P2CY>400ol00000b=;R0<SBhP0F0<SBhP03
+o`00003CnN<0doWS00h0doWS0_l0001P0?ooo`00H`3oool00ol00000C8?T04b3i00?04b3i003o`00
+002CY>40TjCQ01H0TjCQ00?o00000<SBhP38d^805@38d^800ol00000doWS0=?ih`0>0=?ih`03o`00
+003oool0oooo0600oooo001T0?ooo`03o`00001<Pn@0C8?T00l0C8?T00?o000009>Th@2CY>405@2C
+Y>400ol00000b=;R0<SBhP0E0<SBhP03o`00003CnN<0doWS00`0doWS0_l0001S0?ooo`00I@3oool2
+o`000100C8?T00?o000009>Th@2CY>40502CY>400ol00000b=;R0<SBhP0D0<SBhP03o`00003CnN<0
+doWS00`0doWS00?o00000?ooo`3oool0H`3oool006L0oooo00?o000004b3i01<Pn@03P1<Pn@00ol0
+0000TjCQ09>Th@0C09>Th@03o`000038d^80b=;R01<0b=;R00?o00000=?ih`3CnN<02`3CnN<2o`00
+06H0oooo001X0?ooo`;o00003`1<Pn@00ol00000TjCQ09>Th@0B09>Th@03o`000038d^80b=;R0180
+b=;R00?o00000=?ih`3CnN<02`3CnN<00ol00000oooo0?ooo`1V0?ooo`00JP3oool00ol00000C8?T
+04b3i00<04b3i003o`00002CY>40TjCQ0180TjCQ00?o00000<SBhP38d^804@38d^800ol00000doWS
+0=?ih`0:0=?ih`;o0000J@3oool006/0oooo0_l0000=04b3i003o`00002CY>40TjCQ0140TjCQ00?o
+00000<SBhP38d^804038d^800ol00000doWS0=?ih`0:0=?ih`03o`00003oool0oooo06T0oooo001]
+0?ooo`03o`00001<Pn@0C8?T00/0C8?T00?o000009>Th@2CY>403`2CY>400ol00000b=;R0<SBhP0@
+0<SBhP03o`00003CnN<0doWS00T0doWS0_l0001/0?ooo`00KP3oool2o`0000`0C8?T00?o000009>T
+h@2CY>403P2CY>400ol00000b=;R0<SBhP0?0<SBhP03o`00003CnN<0doWS00T0doWS00?o00000?oo
+o`3oool0K03oool00700oooo00?o000004b3i01<Pn@02@1<Pn@00ol00000TjCQ09>Th@0>09>Th@03
+o`000038d^80b=;R00h0b=;R00?o00000=?ih`3CnN<0203CnN<2o`0006l0oooo001a0?ooo`03o`00
+001<Pn@0C8?T00T0C8?T00?o000009>Th@2CY>403@2CY>400ol00000b=;R0<SBhP0>0<SBhP03o`00
+003CnN<0doWS00L0doWS00?o00000?ooo`3oool0K`3oool00780oooo0_l0000:04b3i003o`00002C
+Y>40TjCQ00`0TjCQ00?o00000<SBhP38d^803@38d^800ol00000doWS0=?ih`060=?ih`;o0000LP3o
+ool007@0oooo00?o000004b3i01<Pn@0201<Pn@00ol00000TjCQ09>Th@0;09>Th@03o`000038d^80
+b=;R00`0b=;R00?o00000=?ih`3CnN<01P3CnN<00ol00000oooo0?ooo`1b0?ooo`00M@3oool2o`00
+00P0C8?T00?o000009>Th@2CY>402`2CY>400ol00000b=;R0<SBhP0;0<SBhP03o`00003CnN<0doWS
+00D0doWS0_l0001e0?ooo`00M`3oool00ol00000C8?T04b3i00604b3i003o`00002CY>40TjCQ00X0
+TjCQ00?o00000<SBhP38d^802P38d^800ol00000doWS0=?ih`050=?ih`03o`00003oool0oooo07D0
+oooo001h0?ooo`;o00001`1<Pn@00ol00000TjCQ09>Th@0909>Th@03o`000038d^80b=;R00T0b=;R
+00?o00000=?ih`3CnN<0103CnN<2o`0007P0oooo001j0?ooo`03o`00001<Pn@0C8?T00D0C8?T00?o
+000009>Th@2CY>40202CY>400ol00000b=;R0<SBhP080<SBhP03o`00003CnN<0doWS00@0doWS00?o
+00000?ooo`3oool0N03oool007/0oooo00?o000004b3i01<Pn@0101<Pn@00ol00000TjCQ09>Th@08
+09>Th@03o`000038d^80b=;R00L0b=;R00?o00000=?ih`3CnN<00`3CnN<2o`0007/0oooo001l0?oo
+o`;o00001@1<Pn@00ol00000TjCQ09>Th@0709>Th@03o`000038d^80b=;R00H0b=;R00?o00000=?i
+h`3CnN<00`3CnN<00ol00000oooo0?ooo`1k0?ooo`00OP3oool00ol00000C8?T04b3i00304b3i003
+o`00002CY>40TjCQ00H0TjCQ00?o00000<SBhP38d^801@38d^800ol00000doWS0=?ih`020=?ih`;o
+0000OP3oool007l0oooo0_l0000404b3i003o`00002CY>40TjCQ00D0TjCQ00?o00000<SBhP38d^80
+1@38d^801Ol00000doWS0=?ih`3CnN?o00000800oooo00210?ooo`03o`00001<Pn@0C8?T0080C8?T
+00?o000009>Th@2CY>40102CY>400ol00000b=;R0<SBhP040<SBhP03o`00003CnN<0doWS00;o0000
+P@3oool00880oooo0_l0000204b3i003o`00002CY>40TjCQ00<0TjCQ00?o00000<SBhP38d^801038
+d^801?l00000doWS0=?ihol000230?ooo`00Q03oool01?l00000C8?T04b3i?l0000409>Th@03o`00
+0038d^80b=;R00<0b=;R00Co00000=?ihol0003o0000Q03oool008D0oooo0_l000000`1<PnCo0000
+09>Th@0209>Th@03o`000038d^80b=;R0080b=;R00?o00000=?ihol00000QP3oool008L0oooo00?o
+000004b3i?l000000P2CY>401?l00000b=;R0<SBhP38d^83o`0008L0oooo00280?ooo`;o00000P2C
+Y>400ol00000b=;R0<SBhP02o`0008T0oooo00290?ooo`;o000000<0TjCQo`000038d^800_l0002:
+0?ooo`00R`3oool3o`0008`0oooo002<0?ooo`03o`00003oool0oooo08/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo
+003o0?oooa/0oooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+
+Cell["Draw a  Polytope  by a New VisibleSkeleton Graphics", "Subsection",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+Do[ uvp=circle[a,5,2];
+\tShow[skel3D[uvp], 
+\t\tBoxed->False, 
+ \t\tViewPoint -> getMmaViewPoint[uvp,skel3D[uvp]],
+ \t\tSphericalRegion->True
+ \t],
+ \t{a,Pi/11,Pi,Pi/18}
+ ]\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->1.33333,
+  AnimationCycleOffset->0.0625,
+  AnimationCycleRepetitions->Infinity],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.40674 .56343 m
+.56256 .57912 L
+s
+.42318 .44701 m
+.56256 .57912 L
+s
+.53835 .42212 m
+.56256 .57912 L
+s
+.64695 .41988 m
+.56256 .57912 L
+s
+.68009 .53652 m
+.56256 .57912 L
+s
+.65684 .64913 m
+.56256 .57912 L
+s
+.54135 .68857 m
+.56256 .57912 L
+s
+.41824 .66762 m
+.56256 .57912 L
+s
+.42318 .44701 m
+.40674 .56343 L
+s
+.53835 .42212 m
+.42318 .44701 L
+s
+.26321 .52582 m
+.42318 .44701 L
+s
+.5 .27523 m
+.42318 .44701 L
+s
+.36084 .38051 m
+.42318 .44701 L
+s
+.64695 .41988 m
+.53835 .42212 L
+s
+.5 .27523 m
+.53835 .42212 L
+s
+.26321 .52582 m
+.40674 .56343 L
+s
+.41824 .66762 m
+.40674 .56343 L
+s
+.68009 .53652 m
+.64695 .41988 L
+s
+.5 .27523 m
+.64695 .41988 L
+s
+.76097 .47154 m
+.64695 .41988 L
+s
+.64718 .34153 m
+.64695 .41988 L
+s
+.41824 .66762 m
+.26321 .52582 L
+s
+.41824 .66762 m
+.34918 .66239 L
+s
+.41824 .66762 m
+.5 .75807 L
+s
+.41824 .66762 m
+.54135 .68857 L
+s
+.36084 .38051 m
+.26321 .52582 L
+s
+.36084 .38051 m
+.5 .27523 L
+s
+.33546 .34355 m
+.36084 .38051 L
+s
+.76097 .47154 m
+.68009 .53652 L
+s
+.65684 .64913 m
+.68009 .53652 L
+s
+.64718 .34153 m
+.5 .27523 L
+s
+.33546 .34355 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.59455 .30616 m
+.5 .27523 L
+s
+.45357 .28826 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.54135 .68857 m
+.5 .75807 L
+s
+.54135 .68857 m
+.65684 .64913 L
+s
+.0035 w
+[ ] 0 setdash
+.33546 .34355 m
+.26321 .52582 L
+s
+.29275 .45797 m
+.26321 .52582 L
+s
+.32295 .59653 m
+.26321 .52582 L
+s
+.34918 .66239 m
+.26321 .52582 L
+s
+.65684 .64913 m
+.76097 .47154 L
+s
+.65684 .64913 m
+.66028 .63762 L
+s
+.65684 .64913 m
+.5 .75807 L
+s
+.64718 .34153 m
+.76097 .47154 L
+s
+.59455 .30616 m
+.64718 .34153 L
+s
+.34918 .66239 m
+.32295 .59653 L
+s
+.5 .75807 m
+.34918 .66239 L
+s
+.29275 .45797 m
+.33546 .34355 L
+s
+.45357 .28826 m
+.33546 .34355 L
+s
+.41264 .38951 m
+.33546 .34355 L
+s
+.59455 .30616 m
+.76097 .47154 L
+s
+.62074 .41788 m
+.76097 .47154 L
+s
+.60215 .57046 m
+.76097 .47154 L
+s
+.66028 .63762 m
+.76097 .47154 L
+s
+.45357 .28826 m
+.59455 .30616 L
+s
+.41264 .38951 m
+.45357 .28826 L
+s
+.5 .75807 m
+.4491 .60337 L
+s
+.5 .75807 m
+.60215 .57046 L
+s
+.5 .75807 m
+.32295 .59653 L
+s
+.5 .75807 m
+.66028 .63762 L
+s
+.41264 .38951 m
+.29275 .45797 L
+s
+.32295 .59653 m
+.29275 .45797 L
+s
+.66028 .63762 m
+.60215 .57046 L
+s
+.62074 .41788 m
+.59455 .30616 L
+s
+.41264 .38951 m
+.59455 .30616 L
+s
+.32295 .59653 m
+.41264 .38951 L
+s
+.32295 .59653 m
+.4491 .60337 L
+s
+.41264 .38951 m
+.62074 .41788 L
+s
+.60215 .57046 m
+.62074 .41788 L
+s
+.4491 .60337 m
+.41264 .38951 L
+s
+.60215 .57046 m
+.4491 .60337 L
+s
+.60215 .57046 m
+.41264 .38951 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00RP3oool5000008/0oooo00250?ooo`D000000P3o
+ool3o`0000<00000R03oool00840oooo10000000103ooooo00000?ooo`3oool3o`0000030?ooool0
+003o00000080oooo00Co00000000000000000000Q@3oool007h0oooo1@0000040?ooo`;o0000103o
+ool00ol00000oooo0?ooo`040?ooo`04o`0000000000000000000880oooo001l0?ooo`80000000D0
+oooo0000003oool0ooooo`000007000000H0oooo00?o00000?ooo`3oool01@3oool3000007l0oooo
+001j0?ooo`8000000P3oool010000000ooooo`000?l000020?ooo`;o0000103oool700000003o`00
+003oool0oooo00<0oooo0_l000020?ooo`<00000O03oool007P0oooo0P0000020?ooo`;o000000<0
+00000?ooo`3oool00P3oool00ol00000oooo0?ooo`030?ooo`03o`00003oool0oooo0080oooo00?o
+00000?ooo`3oool01P0000020?ooo`03o`00003oool0oooo0080oooo0`00001i0?ooo`00MP3oool2
+00000080oooo0_l000020?ooo`050000003oool0oooo0?ooool000001P3oool00ol00000oooo0?oo
+o`020?ooo`03o`00003oool0oooo00H0oooo1`0000000ol00000oooo0?ooo`03000007H0oooo001d
+0?ooo`8000001`3oool00`000000oooo0?ooo`080?ooo`03o`00003oool0oooo00<0oooo00?o0000
+0?ooo`3oool03@3oool9000007<0oooo001b0?ooo`8000000P3oool2o`0000D0oooo00@000000?oo
+o`3ooooo00003@3oool00ol00000oooo0?ooo`040?ooo`03o`00003oool0oooo00d0oooo1000001a
+0?ooo`00L03oool2000000<0oooo00?o00000?ooo`3oool0103oool010000000oooo0?ooool0000F
+0?ooo`03o`00003oool0oooo00T0oooo0_l00002000000040?ooo`000000000000000700oooo001]
+0?ooo`<000000_l0000:0?ooo`030000003ooooo000000P0oooo00?o00000?ooo`3oool03@3oool0
+0ol00000oooo0?ooo`070?ooo`<0000000Go00000?ooo`3oool000000?ooo`03000006h0oooo001[
+0?ooo`8000000P3oool00ol00000oooo0?ooo`090?ooo`030000003oool0oooo00T0oooo00?o0000
+0?ooo`3oool01@3oool00ol00000oooo0?ooo`0=0?ooo`8000001P3oool01_l000000000o`000000
+0000oooo000006d0oooo001Y0?ooo`8000000_l0000>0?ooo`030000003oool0oooo00P0oooo00?o
+00000?ooo`3oool01P3oool00ol00000oooo0?ooo`070?ooo`04o`00003oool0oooo0?ooo`800000
+2@3oool01@000000ooooo`0000000000oooo00800000J`3oool006L0oooo0P000002o`0000l0oooo
+00?o00000000003oool02@3oool00ol00000oooo0?ooo`070?ooo`03o`00003oool0oooo00L0oooo
+00?o00000000000000002`3oool01@000000oooo0?ooo`3oool000000080oooo0P00001Y0?ooo`00
+I@3oool200000180oooo00?o00000000003oool0503oool00ol00000oooo0?ooo`050?ooo`<00000
+00?o00000?ooo`3oool02P3oool00`000000oooo0?ooo`020?ooo`0500000?l0003o00000?ooo`00
+0000J03oool006<0oooo0P000002o`0001<0oooo00<000000?ooo`3oool06@3oool200000100oooo
+00<000000?ooo`3oool00`3oool010000000ooooo`00003oool2000006H0oooo001Q0?ooo`800000
+0_l0000@0?ooo`;o00000P3oool00`000000oooo0?ooo`080?ooo`03o`00003oool0oooo00d0oooo
+0P0000080?ooo`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool00`3oool01P000000oooo
+0?ooo`3ooooo0000000006D0oooo001O0?ooo`8000004`3oool00ol00000oooo0?ooo`020?ooo`03
+0000003oool0oooo00P0oooo00?o00000?ooo`3oool02P3oool00ol0000000000000000;0?ooo`03
+o`00003oool0oooo00L0oooo00<000000?ooo`3oool0103oool00`000000oooo0?ooo`020?ooo`03
+0000003oool0oooo0680oooo001N0?ooo`8000006@3oool00`000000oooo0?ooo`070?ooo`03o`00
+003oool0oooo00T0oooo0`00000>0?ooo`03o`00003oool0oooo00H0oooo00<000000?ooo`3oool0
+1@3oool01@000000oooo0?ooo`3oool0000006@0oooo001N0?ooo`030000003oool000000100oooo
+00?o00000?ooo`3oool0103oool00`000000oooo0?ooo`0B0?ooo`8000000P3oool00ol00000oooo
+0?ooo`0E0?ooo`030000003oool0oooo00H0oooo00D000000?ooo`3ooooo00000000001S0?ooo`00
+G@3oool010000000ooooo`00003oool2000000d0oooo00?o00000?ooo`3oool01@3oool00`000000
+oooo0?ooo`0@0?ooo`800000103oool00ol00000oooo0?ooo`0F0?ooo`030000003oool0oooo00H0
+oooo00D000000?ooool00000oooo0000001R0?ooo`00G@3oool00`000000oooo0?ooo`030?ooo`80
+00002P3oool00ol00000oooo0?ooo`050?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3o
+ool00`3oool3000001L0oooo00?o00000?ooo`3oool01@3oool00`000000oooo0?ooo`070?ooo`05
+0000003oool0oooo0?ooo`000000H@3oool005d0oooo00<000000?ooo`3oool01@3oool00`000000
+oooo0?ooo`0?0?ooo`030000003oool0oooo00P0oooo00Co00000?ooo`3oool0oooo0P00000K0?oo
+o`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool0203oool01@000000oooo0?ooo`3oool0
+00000600oooo001L0?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool00P3oool20000
+00@0oooo00?o00000?ooo`3oool0203oool00`000000oooo0?ooo`070?ooo`03o`00003oool0oooo
+00800000303oool00ol00000oooo0?ooo`0?0?ooo`03o`00003oool0oooo00<0oooo00<000000?oo
+o`3oool02@3oool01@000000oooo0?ooo`3oool0000005l0oooo001L0?ooo`030000003oool0oooo
+00<0oooo00?o00000?ooo`3oool00`3oool2000000030?ooool00000oooo00T0oooo00<000000?oo
+o`3oool0203oool00ol0000000000000000>0?ooo`03o`00003oool0oooo01H0oooo00<000000?oo
+o`3oool01`3oool00ol00000oooo000000030?ooo`030000003oool0oooo05`0oooo001K0?ooo`80
+00001P3oool00ol00000oooo0?ooo`040?ooo`030000003oool0oooo00T0oooo00<000000?ooo`3o
+ool01P3oool300000140oooo00?o00000?ooo`3oool0403oool00ol00000oooo0?ooo`020?ooo`03
+0000003oool0oooo00L0oooo00Co00000?ooo`3oool000000P3oool00`000000oooo0?ooo`1L0?oo
+o`00F`3oool00`000000oooo0?ooo`0=0?ooo`800000203oool00`000000oooo0?ooo`050?ooo`80
+0000503oool00ol00000oooo0?ooo`0A0?ooo`05o`00003oool0oooo0?ooo`0000002@3oool01Ol0
+0000oooo0?ooo`3oool000000080oooo00<000000?ooo`3oool0F`3oool005X0oooo0P00000:0?oo
+o`;o00001@3oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo00<0oooo0P0000020?oo
+o`03o`00003oool0oooo02H0oooo00Co00000?ooo`3oool000003P3oool010000000oooo0?ooo`00
+001L0?ooo`00FP3oool00`000000oooo0?ooo`080?ooo`03o`00003oool0oooo00H0oooo0P000004
+0?ooo`030000003oool0oooo0080oooo0P0000040?ooo`03o`00003oool0oooo02T0oooo00<00000
+0?ooo`3oool03@3oool010000000oooo0?ooo`00001K0?ooo`00FP3oool00`000000oooo0?ooo`08
+0?ooo`;o00002@3oool200000080oooo00<000000?ooo`0000000P0000050?ooo`03o`00003oool0
+oooo01<0oooo00?o00000?ooo`3oool0503oool00ol0000000000?ooo`0>0?ooo`040000003oool0
+oooo000005X0oooo001I0?ooo`8000002@3oool01?l00000oooo0?ooool0000:0?ooo`040000003o
+ool00000000000P0oooo00?o00000?ooo`3oool04`3oool00ol00000oooo0?ooo`0E0?ooo`030000
+003oool0oooo00H0oooo00?o00000?ooo`3oool01@3oool010000000oooo0?ooo`00001I0?ooo`00
+F@3oool00`000000oooo0?ooo`070?ooo`03o`00003oool0oooo00`0oooo1P00000M0?ooo`03o`00
+003oool0oooo01@0oooo00<00000o`00003oool01P3oool00ol00000oooo0?ooo`060?ooo`040000
+003oool0oooo000005P0oooo001H0?ooo`8000005P3oool2000000040?ooo`000000oooo00000080
+oooo1`00000F0?ooo`03o`00003oool0oooo01@0oooo00<000000?ooo`3oool01P3oool00ol00000
+oooo0?ooo`070?ooo`040000003oool0oooo000005L0oooo001H0?ooo`8000003`3oool00ol00000
+oooo0?ooo`030?ooo`030000003oool0oooo008000000P3oool00`000000oooo0?ooo`040?ooo`03
+o`00003oool0000000H000009`3oool00`000000oooo0?ooo`050?ooo`03o`00003oool0oooo00P0
+oooo00<000000?ooo`000000E`3oool005P0oooo00<000000?ooo`3oool01P3oool00ol00000oooo
+0?ooo`060?ooo`03o`00003oool0oooo008000000`3oool2000000<0oooo00<000000?ooo`3oool0
+0`3oool00ol00000oooo0?ooo`060?ooo`P000007`3oool00`000000ooooo`00000A0?ooo`030000
+003oool0000005H0oooo001G0?ooo`800000203oool00ol00000oooo0?ooo`070?ooo`800000103o
+ool010000000oooo0?ooo`0000030?ooo`050000003oool0oooo0?ooool000004@3oool700000003
+o`00003oool0oooo01D0oooo00@000000?ooo`3ooooo00004@3oool00`000000oooo0000001E0?oo
+o`00E`3oool00`000000oooo0?ooo`060?ooo`03o`00003oool0oooo00H0oooo0P0000060?ooo`04
+0000003oool0oooo000000@0oooo00<000000?ooo`3oool06@3oool800000100oooo00D000000?oo
+o`3oool0ooooo`0000030?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`000000E03oool0
+05H0oooo0P00000@0?ooo`030000003oool0oooo0080oooo00Go00000?ooo`3oool0oooo00000002
+0?ooo`030000003oool0oooo00<0oooo00<000000?ooo`3oool06@3oool00ol00000oooo0?ooo`04
+0?ooo`L000002@3oool00`000000oooo0?ooo`050?ooo`03o`00003oool0oooo00`0oooo00<00000
+0?ooo`000000D`3oool005H0oooo0P00000>0?ooo`8000001@3oool01?l00000oooo0?ooo`000003
+0?ooo`030000003oool0oooo00<0oooo00?o00000000003oool09`3oool7000000<0oooo00<00000
+0?ooo`3oool00`3oool2o`0000l0oooo00<000000?ooo`000000DP3oool005H0oooo00<000000?oo
+o`3oool01@3oool00ol00000oooo0?ooo`030?ooo`800000203oool00ol00000oooo000000030?oo
+o`030000003oool0oooo00<0oooo00?o00000?ooo`000000;P3oool5000000@0oooo0_l0000@0?oo
+o`030000003oool000000540oooo001E0?ooo`8000001P3oool00ol00000oooo0?ooo`020?ooo`80
+00002`3oool00`000000oooo0?ooo`030?ooo`050000003oool0oooo0?ooool000000`3oool00`00
+0000oooo0?ooo`0F0?ooo`;o00000P3oool4o`000080oooo1?l000020?ooo`Co00000P3oool2o`00
+000300000?l0000000000080000000Co00000?ooool00000oooo0_l0000>0?ooo`800000D@3oool0
+05D0oooo0P0000050?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool02`3oool00`00
+0000oooo0?ooo`030?ooo`050000003oool0oooo0?ooool00000103oool00`000000oooo0?ooo`0?
+0?ooo`;o00000P3oool2o`0000030?ooool00000oooo01D0oooo00<000000?ooo`3oool00P3oool3
+000000<0oooo00?o00000?ooo`3oool0303oool200000500oooo001D0?ooo`8000002@3oool20000
+00d0oooo00D000000?ooo`3oool0ooooo`0000020?ooo`030000003oool0oooo00L0oooo00<00000
+0?ooo`3oool0303oool2o`0000L0oooo00?o00000?ooo`3oool0503oool00`000000oooo0?ooo`03
+0?ooo`04o`00003oool0000000000140oooo0P00001?0?ooo`00E03oool2000000L0oooo0P00000?
+0?ooo`050000003oool0oooo0?ooool000000P3oool00`000000oooo0?ooo`080?ooo`030000003o
+ool0oooo00D0oooo1?l0000;0?ooo`03o`00003oool0oooo01@0oooo00<000000?ooo`3oool01@3o
+ool00ol00000oooo00000002000000040?ooool0003o0000o`0000/0oooo0P00001>0?ooo`00D`3o
+ool2000000H0oooo00?o00000000003oool0403oool00`000000oooo0?ooo`020?ooo`03o`00003o
+ool000000080oooo00?o00000?ooo`3oool01P3oool00`000000oooo0?ooo`02o`0002L0oooo00<0
+00000?ooo`3oool02`3oool200000080oooo00?o00000?ooo`3oool02@3oool2000004d0oooo001C
+0?ooo`8000001@3oool200000140oooo00<000000?ooo`3oool01@3oool010000000oooo0?ooool0
+00050?ooo`;o00000P3oool00`00003o00000?ooo`0X0?ooo`030000003oool0oooo0080oooo00?o
+00000?ooo`3oool0203oool300000080oooo0_l000080?ooo`800000C03oool005<0oooo0P000003
+0?ooo`8000004`3oool00`000000oooo0?ooo`060?ooo`0300000?l00000oooo00<0oooo0_l00005
+0?ooo`030000003oool0oooo0180oooo00?o00000?ooo`3oool04P3oool00`000000oooo0?ooo`02
+0?ooo`03o`00003oool0oooo0080oooo00?o00000?ooo`3oool01P3oool3000000030?ooool00000
+oooo00L0oooo0P00001;0?ooo`00DP3oool200000080oooo0P00000D0?ooo`030000003oool0oooo
+00L0oooo00@00000o`000?l0003o00002P3oool00`000000oooo0?ooo`0A0?ooo`03o`00003oool0
+oooo0180oooo00D000000?ooo`3oool0ooooo`0000050?ooo`03o`00003oool0oooo00T0oooo0P00
+00090?ooo`800000BP3oool00580oooo0P0000000`3oool000000?ooo`0E0?ooo`030000003oool0
+oooo00L0oooo00<00000o`00003oool0303oool200000140oooo00?o00000?ooo`3oool04P3oool0
+0`000000oooo0?ooo`080?ooo`03o`00003oool0oooo00X0oooo0`000002o`0000D0oooo00<00000
+0?ooo`3oool0B03oool00540oooo00@000000?ooo`00000000000P3oool00ol00000oooo0?ooo`0A
+0?ooo`030000003oool0oooo00@0oooo0_l000020?ooo`030000003ooooo000000h0oooo00<00000
+0?ooo`3oool03P3oool00ol00000oooo0?ooo`0B0?ooo`030000003oool0oooo00P0oooo00?o0000
+0?ooo`3oool03@3oool200000003o`00003oool0oooo00<0oooo00<000000?ooo`3oool0A`3oool0
+0540oooo0P0000040?ooo`03o`00003oool0oooo0140oooo00<000000?ooo`3oool00P3oool2o`00
+00@0oooo00<000000?ooo`3oool03`3oool00`000000oooo0?ooo`0R0?ooo`030000003ooooo0000
+01X0oooo0`000002o`000080oooo00<000000?ooo`3oool0AP3oool00540oooo0P0000030?ooo`03
+o`00003oool0oooo0180oooo00<000000?ooo`3oool02@3oool01@000000oooo0?ooo`3ooooo0000
+00d0oooo00<000000?ooo`3oool08@3oool00`000000ooooo`00000M0?ooo`<000000P3oool00`00
+0000oooo0?ooo`150?ooo`00D03oool3000001L0oooo00@000000?ooool0003o00002@3oool00`00
+0000oooo0?ooo`020?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`3oool0303oool00ol0
+0000oooo0?ooo`0A0?ooo`0300000?l00000oooo00T0oooo00?o00000?ooo`3oool0503oool20000
+00030?ooo`000000oooo04D0oooo001@0?ooo`80000000<0oooo0000003oool05@3oool00`00003o
+00000?ooo`090?ooo`03o`0000000000oooo00@0oooo00?o00000?ooo`3oool02`3oool00`000000
+oooo0?ooo`0;0?ooo`03o`00003oool0oooo0100oooo00<000000?ooool000002P3oool00ol00000
+oooo0?ooo`0F0?ooo`<00000A@3oool004l0oooo0P0000020?ooo`0300000?l00000oooo0140oooo
+0_l000000`000000oooo0?ooo`0:0?ooo`03o`0000000000oooo01<0oooo00<000000?ooo`3oool0
+2P3oool00ol00000oooo0?ooo`0@0?ooo`030000003oool0oooo00/0oooo00?o00000?ooo`3oool0
+5`3oool2000004@0oooo001?0?ooo`8000000P3oool00`000000oooo0?ooo`0@0?ooo`04o`00003o
+ool0oooo000000/0oooo00?o00000?ooo`0000005@3oool00`000000oooo0?ooo`090?ooo`03o`00
+003oool0oooo0100oooo00<000000?ooo`3oool0903oool00`00003o0000000000140?ooo`00C`3o
+ool01@000000oooo0?ooool0000000000140oooo00Co00000?ooo`3oool00000303oool00ol00000
+oooo000000070?ooo`03o`00003oool0oooo00`0oooo00<000000?ooo`3oool06`3oool00`00003o
+00000?ooo`0R0?ooo`80000000?o00000000003oool0A03oool004h0oooo0P0000030?ooo`030000
+003oool0oooo00/0oooo0_l000050?ooo`030000003oool0oooo00d0oooo00<000000?ooo`3oool0
+1@3oool00ol00000oooo0?ooo`0<0?ooo`030000003oool0oooo01X0oooo00<000000?ooo`3oool0
+803oool2000000<0oooo00<000000?ooo`3oool0@`3oool004h0oooo00<000000?ooo`3oool00`3o
+ool00`000000oooo0?ooo`090?ooo`03o`00003oool0oooo00D0oooo00<000000?ooo`3oool03@3o
+ool00`000000oooo0?ooo`060?ooo`03o`00003oool0oooo00`0oooo00<000000?ooo`3oool01`3o
+ool00ol00000oooo0?ooo`0>0?ooo`03o`0000000000oooo00`0oooo00?o00000?ooo`3oool04@3o
+ool00`000000ooooo`0000020?ooo`030000003oool0oooo04@0oooo001=0?ooo`80000000<0oooo
+o`00003oool00P3oool00`000000oooo0?ooo`0@0?ooo`030000003oool0oooo00/0oooo00Co0000
+0?ooo`3oool00000603oool00`000000oooo0?ooo`060?ooo`03o`00003oool0oooo00l0oooo00<0
+00000?ooo`3oool02`3oool00ol00000oooo0?ooo`0?0?ooo`80000000D0ooooo`00003oool0oooo
+000000170?ooo`00C@3oool010000000oooo0?ooool000030?ooo`030000003oool0oooo00D0oooo
+0_l000090?ooo`030000003oool0oooo00/0oooo00Co00000?ooo`3oool000002`3oool00ol00000
+oooo0?ooo`0;0?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool03`3oool00`000000
+oooo0?ooo`0<0?ooo`03o`00003oool0oooo00d0oooo00@000000?ooo`3ooooo00000`3oool00`00
+0000oooo0?ooo`150?ooo`00C03oool2000000030?ooool00000oooo00<0oooo00<000000?ooo`3o
+ool00`3oool2o`0000X0oooo00<000000?ooo`3oool02`3oool01Ol00000oooo0?ooo`3oool00000
+00`0oooo00?o00000?ooo`3oool02`3oool00`000000oooo0?ooo`040?ooo`03o`00003oool0oooo
+00d0oooo00?o00000000003oool0703oool2000000H0oooo00<000000?ooo`3oool0AP3oool004`0
+oooo0P0000000`3ooooo00000?ooo`030?ooo`030000003oool0oooo00l0oooo00<000000?ooo`3o
+ool02`3oool00ol00000oooo0?ooo`020?ooo`030000003oool0oooo00X0oooo00?o00000?ooo`3o
+ool02`3oool00`000000oooo0?ooo`0C0?ooo`03o`0000000000oooo01/0oooo00<000000?ooo`3o
+ool00_l000040?ooo`030000003oool0oooo04H0oooo001<0?ooo`030000003oool0oooo00H0oooo
+00<00000o`000?l000003@3oool00`000000oooo0?ooo`0A0?ooo`030000003oool0oooo01T0oooo
+00<000000?ooo`3oool04@3oool00ol00000oooo0000000J0?ooo`8000000P3oool00ol00000oooo
+0?ooo`030?ooo`030000003oool0oooo04L0oooo001;0?ooo`80000000?o00000?ooo`3oool01@3o
+ool00`000000oooo0?ooo`0=0?ooo`030000003oool0oooo0140oooo00<000000?ooo`3oool0303o
+ool00ol00000oooo0?ooo`0;0?ooo`030000003oool0oooo00l0oooo00Co00000?ooo`3oool00000
+403oool00ol00000oooo0?ooo`050?ooo`8000000`3oool00ol00000oooo0?ooo`030?ooo`030000
+003oool0oooo04P0oooo001;0?ooo`030000003ooooo000000<0oooo0_l000020?ooo`030000003o
+ool0oooo00d0oooo00<000000?ooo`3oool0303oool00ol00000oooo0?ooo`020?ooo`030000003o
+ool0oooo00d0oooo00?o00000?ooo`3oool02`3oool200000080oooo00?o00000?ooo`3oool03@3o
+ool00`000000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool02@3o
+ool00`000000oooo0?ooo`180?ooo`00BP3oool200000005o`00003oool0oooo0?ooool00000103o
+ool00`000000oooo0?ooo`0<0?ooo`030000003oool0oooo00d0oooo00?o00000?ooo`3oool00P3o
+ool00`000000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00`0oooo00<000000?ooool000003`3o
+ool00`000000oooo0?ooo`0?0?ooo`04o`00003oool0oooo0?ooo`8000000`3oool2o`0000H0oooo
+00<000000?ooo`3oool0B@3oool004X0oooo00<00000o`00003oool00P3oool00ol00000oooo0?oo
+o`030?ooo`030000003oool0oooo00`0oooo00<000000?ooo`3oool0303oool00ol00000oooo0?oo
+o`040?ooo`030000003oool0oooo01d0oooo00<00000o`00003oool02P3oool01Ol00000oooo0?oo
+o`3oool0000001@0oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?ooo`060?ooo`030000
+003oool0oooo04T0oooo001:0?ooo`0300000?l0003o000000T0oooo00<000000?ooo`3oool02P3o
+ool00`000000oooo0?ooo`0=0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool0403o
+ool00ol00000oooo0?ooo`0;0?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool00P3o
+ool00`000000oooo0?ooo`0@0?ooo`8000003@3oool00`000000oooo0?ooo`1:0?ooo`00B@3oool0
+0`00003o0000o`00000:0?ooo`030000003oool0oooo00X0oooo00<000000?ooo`3oool0503oool0
+0`000000oooo0?ooo`0A0?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`3oool01P3oool0
+0ol00000oooo0?ooo`030?ooo`030000003oool0oooo00l0oooo00<000000?ooo`3oool0303oool2
+000004`0oooo00190?ooo`0400000?l00000ooooo`0000T0oooo00<000000?ooo`3oool02@3oool0
+0`000000oooo0?ooo`0E0?ooo`030000003oool0oooo0180oooo00?o00000?ooo`3oool02`3oool0
+0`000000oooo0?ooo`0:0?ooo`030000003oool0oooo00h0oooo0P000000103ooooo00000?ooo`3o
+ool2o`0000T0oooo00<000000?ooo`3oool0B`3oool004X0oooo00<00000o`00003oool00P3oool3
+o`0000@0oooo00<000000?ooo`3oool02@3oool00`000000oooo0?ooo`0E0?ooo`030000003oool0
+oooo01h0oooo00Co00000?ooo`3oool000002`3oool00`000000oooo0?ooo`0<0?ooo`8000000`3o
+ool00ol00000ooooo`00000:0?ooo`030000003oool0oooo04`0oooo001;0?ooo`0300000?l00000
+oooo00@0oooo00Ko00000?ooo`3ooooo000000000?l0000:0?ooo`030000003oool0oooo00h0oooo
+00?o00000?ooo`3oool0103oool00`000000oooo0?ooo`0N0?ooo`05o`00003oool0oooo0?ooo`00
+0000103oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo00/0oooo00<000000?ooo`3o
+ool00`3oool2o`0000/0oooo00<000000?ooo`3oool0C03oool004/0oooo0P00000:0?ooo`030000
+0?l00000oooo00L0oooo00<000000?ooo`3oool03`3oool00ol00000oooo0?ooo`050?ooo`030000
+003oool0oooo01<0oooo00?o00000?ooo`3oool0203oool01Ol00000oooo0?ooo`3oool0000000<0
+oooo00?o00000?ooo`3oool00`3oool00`000000oooo0?ooo`090?ooo`800000103oool2o`000003
+0?ooool00000oooo00T0oooo00<000000?ooo`3oool0C@3oool004`0oooo0P0000000ol00000oooo
+0?ooo`060?ooo`040000003oool0oooo0?ooo`?o00000`3oool00`000000oooo0?ooo`0?0?ooo`03
+o`00003oool0oooo00D0oooo00<000000?ooo`3oool0503oool00ol00000oooo0?ooo`0<0?ooo`03
+0000003ooooo000000H0oooo00<000000?ooo`3oool0203oool00`000000oooo0?ooo`02o`0000@0
+oooo00?o00000?ooo`3oool0203oool2000004l0oooo001=0?ooo`80000000?o00000?ooo`3oool0
+1@3oool00`000000oooo0?ooo`040?ooo`03o`00003oool0000001X0oooo00<000000?ooo`3oool0
+5@3oool00ol00000oooo0?ooo`0<0?ooo`0300000?l00000oooo00D0oooo00<000000?ooo`3oool0
+1P3oool2000000030?ooool0003o00000140oooo00<000000?ooo`3oool0CP3oool004d0oooo00@0
+00000?ooo`00003o00001P3oool00`000000oooo0?ooo`060?ooo`0300000?l0003o000000;o0000
+5P3oool00`000000oooo0?ooo`0U0?ooo`030000003oool0oooo00@0oooo00<000000?ooo`3oool0
+1@3oool00`000000oooo0?ooo`0C0?ooo`800000D03oool004h0oooo0P0000070?ooo`030000003o
+ool0oooo00D0oooo00<000000?ooo`3oool01@3oool3o`000140oooo00<000000?ooo`3oool0603o
+ool00ol00000oooo0?ooo`030?ooo`03o`00003oool0oooo00D0oooo00<000000?ooo`3oool00`3o
+ool00`000000oooo0?ooo`030?ooo`8000000_l0000:0?ooo`03o`00003oool0oooo00L0oooo00<0
+00000?ooo`3oool0C`3oool004h0oooo00<000000?ooo`0000000P3oool00ol00000oooo0?ooo`02
+0?ooo`030000003oool0oooo00@0oooo00<000000?ooo`3oool0203oool00ol00000oooo0?ooo`05
+0?ooo`03o`00003oool0oooo00L0oooo00<000000?ooo`3oool0603oool00ol00000oooo0?ooo`02
+0?ooo`03o`00003oool0oooo0080oooo00Go00000?ooo`3oool0oooo000000040?ooo`040000003o
+ool0oooo0?ooo`8000003P3oool00ol00000oooo0?ooo`060?ooo`030000003oool0oooo0500oooo
+001?0?ooo`030000003oool000000080oooo00Go00000?ooo`3oool0oooo000000060?ooo`030000
+003oool0oooo00/0oooo1?l000000`3ooooo00000?ooo`080?ooo`030000003oool0oooo01T0oooo
+00?o00000?ooo`3oool00P3oool01Ol00000oooo0?ooo`3ooooo000000@0oooo00@000000?ooo`3o
+ool000000P3oool00ol0000000000?ooo`0>0?ooo`03o`00003oool0oooo00H0oooo0P00001B0?oo
+o`00D03oool00`000000oooo000000020?ooo`04o`00003oool0oooo000000D0oooo00<000000?oo
+o`3oool04@3oool4o`000080oooo0ol000000`3oool000000?ooo`0O0?ooo`04o`00003oool0oooo
+o`0000H0oooo00@000000?ooo`00003o00000P00000@0?ooo`03o`00003oool0oooo00H0oooo00<0
+00000?ooo`3oool0D@3oool00500oooo00@000000?ooo`3oool00000103oool00`000000oooo0?oo
+o`030?ooo`030000003oool0oooo01X0oooo00?o00000000003oool01?l0000H0?ooo`03o`00003o
+ool0oooo00T0oooo0_l00003000001X0oooo0P00001C0?ooo`00D@3oool010000000oooo0?ooo`00
+00030?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool04P3oool00ol00000oooo0?oo
+o`070?ooo`030000003oool0oooo00D0oooo1?l000020?ooo`?o00003P3oool00ol00000oooo0?oo
+o`070?ooo`03o`00003oool00000008000006`3oool00`000000oooo0?ooo`1B0?ooo`00DP3oool0
+0`000000oooo000000040?ooo`050000003oool0oooo0?ooo`000000503oool00ol00000oooo0?oo
+o`070?ooo`030000003oool0oooo00h0oooo00Co00000?ooo`3oool0oooo0ol000080?ooo`?o0000
+00<0ooooo`000?l000001@0000020?ooo`030000003oool0oooo0100oooo00?o00000?ooo`3oool0
+1@3oool00`000000oooo0?ooo`1C0?ooo`00DP3oool010000000oooo0?ooo`0000030?ooo`040000
+0?l00000oooo000001D0oooo00?o00000?ooo`3oool0203oool00`000000oooo0?ooo`0G0?ooo`?o
+00000`3oool5000000H0oooo00<000000?ooo`0000004@3oool00ol00000oooo0?ooo`040?ooo`80
+0000E@3oool005<0oooo00@000000?ooo`3oool000000P3oool010000000oooo0?ooo`00000E0?oo
+o`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool0603oool5000000;o00002@3oool01000
+0000oooo0?ooo`00000@0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool0E03oool0
+05@0oooo00H000000?ooo`3oool000000?ooo`0000020?ooo`030000003oool0oooo01h0oooo00<0
+00000?ooo`3oool04`3oool5000000<0oooo00Go00000?ooo`3oool0ooooo`0000070?ooo`030000
+003oool0oooo0080oooo00<000000?ooo`3oool03@3oool00ol00000oooo0?ooo`030?ooo`800000
+EP3oool005@0oooo00@000000?ooo`3oool0oooo0P000000103oool000000?ooool0000O0?ooo`03
+0000003oool0oooo00l0oooo100000070?ooo`03o`00003oool0oooo00X0oooo00<000000?ooo`3o
+ool00`3oool00`000000oooo0?ooo`0B0?ooo`030000003oool0oooo05D0oooo001E0?ooo`040000
+003oool0oooo0?ooo`<000000P3oool00ol00000oooo0?ooo`0B0?ooo`03o`00003oool0oooo00L0
+oooo00<000000?ooo`3oool02P3oool5000000P0oooo00?o00000?ooo`3oool00`3oool00ol00000
+oooo0?ooo`020?ooo`;o00000P3oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo0100
+oooo0P00001G0?ooo`00EP3oool010000000oooo0?ooo`3oool:000000l0oooo00?o00000?ooo`3o
+ool0203oool00`000000oooo0?ooo`040?ooo`D00000303oool00ol00000oooo0?ooo`040?ooo`03
+o`00003oool0oooo00@0oooo00?o00000000003oool01`3oool00`000000oooo0?ooo`0:0?ooo`03
+o`00003oool0oooo0080oooo0P00001H0?ooo`00EP3oool01`000000oooo0?ooo`3oool000000?oo
+o`0000001`3ooolB000000P0oooo00<000000?ooo`0000001000000@0?ooo`03o`00003oool0oooo
+00@0oooo00?o00000?ooo`3oool01P3oool00`000000oooo0?ooo`070?ooo`030000003oool0oooo
+00T0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`1G0?ooo`00E`3oool01`000000
+oooo0?ooo`3oool000000?ooo`0000000`3oool2o`000100oooo00?o00000?ooo`3oool02P00000A
+0?ooo`;o00002@3oool00ol00000oooo0?ooo`050?ooo`040000003oool0ooooo`0000P0oooo00<0
+00000?ooo`3oool0203oool01?l00000oooo0?ooo`3oool2000005T0oooo001G0?ooo`050000003o
+ool0oooo0?ooo`0000000P3oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo01P0oooo
+00<000000?ooo`3oool03`3oool00ol00000oooo0?ooo`0A0?ooo`050000003oool0oooo0?ooool0
+0000203oool00`000000oooo0?ooo`070?ooo`05o`00003oool0oooo0?ooo`000000FP3oool005P0
+oooo00@000000?ooo`3oool000000`3oool00`000000oooo0?ooo`0L0?ooo`030000003oool0oooo
+00h0oooo00?o00000?ooo`3oool04@3oool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo
+00H0oooo00<000000?ooo`3oool02@3oool2000005X0oooo001I0?ooo`040000003oool0oooo0000
+00<0oooo00<000000?ooo`3oool0403oool00ol00000oooo0?ooo`090?ooo`030000003oool0oooo
+01X0oooo00?o00000?ooo`3oool0103oool00`000000oooo0?ooo`0=0?ooo`030000003oool0oooo
+00L0oooo0P00001K0?ooo`00F@3oool010000000oooo0?ooo`0000040?ooo`050000003oool0oooo
+0?ooool000003@3oool00ol00000oooo0?ooo`090?ooo`030000003oool0oooo00T0oooo0_l0000?
+0?ooo`03o`00003oool0oooo00<0oooo00<000000?ooo`3oool01`3oool00ol00000oooo0?ooo`05
+0?ooo`030000003oool0oooo00<0oooo00?o00000?ooo`3oool00P00001K0?ooo`00FP3oool01000
+0000oooo0?ooo`0000040?ooo`050000003oool0oooo0?ooool000003@3oool00ol00000oooo0?oo
+o`080?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool03P3oool00ol00000oooo0?oo
+o`040?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool0103oool00`000000oooo0?oo
+o`030?ooo`04o`00003oool00000000005`0oooo001K0?ooo`030000003oool0000000D0oooo00D0
+00000?ooo`3oool0ooooo`00000<0?ooo`03o`00003oool0oooo00T0oooo00<000000?ooo`3oool0
+603oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo00X0oooo00?o00000?ooo`3oool0
+103oool01@000000oooo0?ooo`3ooooo00000080oooo00<000000?ooo`3oool0F`3oool005/0oooo
+00@000000?ooo`3oool000001@3oool00`000000oooo0?ooo`0I0?ooo`030000003oool0oooo00<0
+oooo0_l0000I0?ooo`030000003oool0oooo0180oooo00D000000?ooo`3ooooo00000?ooo`020000
+05d0oooo001L0?ooo`030000003oool0000000H0oooo00<000000?ooo`3oool00P3oool00ol00000
+oooo0?ooo`0C0?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool0603oool00`000000
+oooo0?ooo`0>0?ooo`;o0000103oool00`000000oooo0?ooo`02000005h0oooo001M0?ooo`800000
+1`3oool2000000<0oooo00?o00000?ooo`3oool01P3oool00ol00000oooo0?ooo`0:0?ooo`030000
+003oool0oooo01H0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`0A0?ooo`03o`00
+003oool0oooo0080oooo00@000000?ooo`0000000000GP3oool005d0oooo00<000000?ooo`000000
+203oool01@000000oooo0?ooo`3ooooo000000L0oooo00?o00000?ooo`3oool02P3oool00`00003o
+00000?ooo`0F0?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool05P3oool3000005l0
+oooo001N0?ooo`8000002@3oool00`000000oooo0?ooo`080?ooo`03o`00003oool0oooo00X0oooo
+00<000000?ooo`3oool05P3oool01Ol00000oooo0?ooo`3oool0000001L0oooo00Co00000000003o
+ool00000H03oool005h0oooo00<000000?ooo`0000002@3oool01@000000oooo0?ooo`3ooooo0000
+00D0oooo00?o00000?ooo`3oool02@3oool00ol00000oooo0000000G0?ooo`05o`00003oool0oooo
+0?ooo`0000005`3oool01000003o000000000000001P0?ooo`00G`3oool2000000X0oooo00D00000
+0?ooo`3oool0ooooo`00000<0?ooo`;o0000103oool00`000000oooo0?ooo`0H0?ooo`030000003o
+ool0oooo01@0oooo1@00001Q0?ooo`00H03oool2000000X0oooo00D000000?ooo`3oool0ooooo`00
+000:0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool0603oool00`000000oooo0?oo
+o`0C0?ooo`040000003oool00000000006<0oooo001P0?ooo`8000002`3oool00`000000oooo0?oo
+o`050?ooo`03o`00003oool0oooo0080oooo00?o00000?ooo`3oool01P3oool00`000000oooo0?oo
+o`0C0?ooo`04o`00003oool0oooo000001@0oooo0P0000000`3oool000000000001T0?ooo`00H@3o
+ool00`000000oooo0?ooo`0:0?ooo`030000003oool0oooo0080oooo00?o00000?ooool000003@3o
+ool00`000000oooo0?ooo`0C0?ooo`04o`00003oool0oooo00000180oooo0`0000000`3oool00000
+0?ooo`1U0?ooo`00HP3oool200000080oooo1?l000020?ooo`?o000000<000000?ooo`3oool00P3o
+ool4o`0000/0oooo00<000000?ooo`3oool04`3oool00ol00000oooo0000000?0?ooo`8000000P3o
+ool010000000oooo0?ooo`00001W0?ooo`00I03oool00`000000oooo0?ooo`080?ooo`03o`000000
+0000oooo00Ko0000303oool00`000000oooo0?ooo`0B0?ooo`03o`0000000000oooo00d0oooo0P00
+00030?ooo`040000003oool00000000006P0oooo001U0?ooo`8000002P3oool00`000000oooo0?oo
+o`020?ooo`03o`00003ooooo00000080oooo0ol000060?ooo`030000003oool0oooo01<0oooo00<0
+00000?ooo`3oool0203oool2000000D0oooo0P0000000`3oool000000?ooo`1Y0?ooo`00I`3oool0
+0`000000oooo0?ooo`080?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool0103oool0
+0ol00000oooo0?ooo`03o`0000030000003oool0oooo0180oooo00<000000?ooo`3oool01`3oool2
+000000H0oooo00@000000?ooo`0000000000J`3oool006P0oooo0P0000090?ooo`8000003`3oool0
+0ol0000000000?ooo`03o`0000h0oooo00?o00000000003oool0103oool2000000T0oooo00<00000
+0?ooo`000000K@3oool006X0oooo0P0000090?ooo`030000003oool0oooo00d0oooo00<000000?oo
+o`3oool00P3oool00ol00000oooo0?ooo`03o`0000P0oooo00<000000?ooo`3oool00P3oool20000
+00T0oooo0P0000000`3oool000000?ooo`1]0?ooo`00K03oool00`000000oooo0?ooo`070?ooo`04
+0000003oool0ooooo`0000/0oooo00<000000?ooo`3oool0203oool00ol00000oooo0?ooo`03o`00
+0080oooo0`00000<0?ooo`040000003oool00000000006l0oooo001]0?ooo`800000203oool01000
+0000oooo0?ooool0000:0?ooo`030000003oool0oooo00h0oooo00?o00000000000000003@3oool0
+0`000000oooo0000001a0?ooo`00K`3oool00`000000oooo0?ooo`060?ooo`040000003oool0oooo
+o`0000X0oooo00<000000?ooo`3oool03P3oool00`000000oooo0?ooo`0:0?ooo`@00000LP3oool0
+0700oooo0P0000070?ooo`030000003oool0oooo00X0oooo00<000000?ooo`3oool03@3oool00`00
+0000oooo0?ooo`0:0?ooo`030000003oool0000007@0oooo001b0?ooo`030000003oool0oooo00D0
+oooo00@000000?ooo`3ooooo0000203oool00`000000oooo0?ooo`0=0?ooo`030000003oool0oooo
+00T0oooo0`00001e0?ooo`00L`3oool2000000H0oooo00@000000?ooo`3ooooo0000203oool00`00
+0000oooo0?ooo`0;0?ooo`030000003oool0oooo00T0oooo0P00001g0?ooo`00M@3oool00`000000
+oooo0?ooo`040?ooo`040000003oool0ooooo`0000L0oooo00<000000?ooo`3oool02P3oool00`00
+0000oooo0?ooo`080?ooo`<00000N03oool007H0oooo0P0000050?ooo`030000003oool0oooo00L0
+oooo00<000000?ooo`3oool02P3oool00`000000oooo0?ooo`070?ooo`<00000N@3oool007P0oooo
+0P0000040?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3oool0203oool00`000000oooo
+0?ooo`070?ooo`800000N`3oool007X0oooo00<000000?ooo`3oool00P3oool200000003o`00003o
+ool0oooo00@0oooo00<000000?ooo`3oool0203oool00`000000oooo0?ooo`050?ooo`<00000O03o
+ool007/0oooo0P0000040?ooo`0300000?l00000oooo00@0oooo00<000000?ooo`3oool01`3oool0
+0`000000oooo0?ooo`050?ooo`800000OP3oool007d0oooo00<000000?ooo`3oool00P3oool00`00
+003o00000?ooo`040?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool0103oool20000
+07l0oooo001n0?ooo`8000000`3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo00D0
+oooo00<000000?ooo`3oool00`3oool200000840oooo00200?ooo`070000003oool0oooo0?ooo`00
+0000ooooo`0000020?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool00P3oool20000
+0880oooo00210?ooo`8000000P3oool00`00003o00000?ooo`020?ooo`030000003oool0oooo00<0
+oooo00<000000?ooo`3oool00P3oool2000008<0oooo00230?ooo`050000003oool0oooo00000?l0
+00000P3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo00800000Q@3oool008@0oooo
+0P0000001@3oool000000?ooo`3oool0000000@0oooo00<000000?ooo`3oool00P0000260?ooo`00
+QP3oool300000080oooo00@000000?ooo`3oool000000P3oool00`000000oooo0?ooo`260?ooo`00
+R03oool200000004o`0000000000oooo0?ooo`<00000R@3oool008T0oooo0`000000103oool00000
+00000000002:0?ooo`00R`3oool3000008`0oooo002<0?ooo`030000003oool0oooo08/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.43837 .56787 m
+.59954 .57459 L
+s
+.44915 .45153 m
+.59954 .57459 L
+s
+.5608 .41844 m
+.59954 .57459 L
+s
+.66153 .40832 m
+.59954 .57459 L
+s
+.69877 .5249 m
+.59954 .57459 L
+s
+.67262 .64122 m
+.59954 .57459 L
+s
+.56558 .68627 m
+.59954 .57459 L
+s
+.44591 .6707 m
+.59954 .57459 L
+s
+.44915 .45153 m
+.43837 .56787 L
+s
+.5608 .41844 m
+.44915 .45153 L
+s
+.28463 .53964 m
+.44915 .45153 L
+s
+.5 .27523 m
+.44915 .45153 L
+s
+.37205 .39097 m
+.44915 .45153 L
+s
+.28463 .53964 m
+.43837 .56787 L
+s
+.44591 .6707 m
+.43837 .56787 L
+s
+.66153 .40832 m
+.5608 .41844 L
+s
+.5 .27523 m
+.5608 .41844 L
+s
+.37205 .39097 m
+.28463 .53964 L
+s
+.37205 .39097 m
+.5 .27523 L
+s
+.32583 .35751 m
+.37205 .39097 L
+s
+.44591 .6707 m
+.28463 .53964 L
+s
+.44591 .6707 m
+.36151 .669 L
+s
+.44591 .6707 m
+.5 .75807 L
+s
+.44591 .6707 m
+.56558 .68627 L
+s
+.32583 .35751 m
+.28463 .53964 L
+s
+.36151 .669 m
+.28463 .53964 L
+s
+.0035 w
+[ ] 0 setdash
+.28173 .47266 m
+.28463 .53964 L
+s
+.31287 .60622 m
+.28463 .53964 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.69877 .5249 m
+.66153 .40832 L
+s
+.5 .27523 m
+.66153 .40832 L
+s
+.75109 .45378 m
+.66153 .40832 L
+s
+.63975 .32946 m
+.66153 .40832 L
+s
+.63975 .32946 m
+.5 .27523 L
+s
+.32583 .35751 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.56363 .2992 m
+.5 .27523 L
+s
+.42732 .29358 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.56558 .68627 m
+.5 .75807 L
+s
+.56558 .68627 m
+.67262 .64122 L
+s
+.75109 .45378 m
+.69877 .5249 L
+s
+.67262 .64122 m
+.69877 .5249 L
+s
+.0035 w
+[ ] 0 setdash
+.36151 .669 m
+.31287 .60622 L
+s
+.5 .75807 m
+.36151 .669 L
+s
+.67262 .64122 m
+.75109 .45378 L
+s
+.67262 .64122 m
+.65243 .6299 L
+s
+.67262 .64122 m
+.5 .75807 L
+s
+.28173 .47266 m
+.32583 .35751 L
+s
+.42732 .29358 m
+.32583 .35751 L
+s
+.36409 .39816 m
+.32583 .35751 L
+s
+.63975 .32946 m
+.75109 .45378 L
+s
+.56363 .2992 m
+.63975 .32946 L
+s
+.36409 .39816 m
+.28173 .47266 L
+s
+.31287 .60622 m
+.28173 .47266 L
+s
+.42732 .29358 m
+.56363 .2992 L
+s
+.36409 .39816 m
+.42732 .29358 L
+s
+.5 .75807 m
+.42038 .60681 L
+s
+.5 .75807 m
+.56879 .56558 L
+s
+.5 .75807 m
+.31287 .60622 L
+s
+.5 .75807 m
+.65243 .6299 L
+s
+.31287 .60622 m
+.36409 .39816 L
+s
+.31287 .60622 m
+.42038 .60681 L
+s
+.56363 .2992 m
+.75109 .45378 L
+s
+.58146 .41029 m
+.75109 .45378 L
+s
+.56879 .56558 m
+.75109 .45378 L
+s
+.65243 .6299 m
+.75109 .45378 L
+s
+.58146 .41029 m
+.56363 .2992 L
+s
+.36409 .39816 m
+.56363 .2992 L
+s
+.65243 .6299 m
+.56879 .56558 L
+s
+.42038 .60681 m
+.36409 .39816 L
+s
+.56879 .56558 m
+.42038 .60681 L
+s
+.36409 .39816 m
+.58146 .41029 L
+s
+.56879 .56558 m
+.58146 .41029 L
+s
+.56879 .56558 m
+.36409 .39816 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00RP3oool4000008`0oooo00260?ooo`D0000000<0
+ooooo`00000000000`0000290?ooo`00PP3oool400000080oooo00L00000o`00003ooooo00000?oo
+ool0000000000080oooo0P0000270?ooo`00OP3oool400000080oooo0P0000020?ooo`04o`00003o
+ool0ooooo`0000L0oooo0`0000240?ooo`00NP3oool4000000D0oooo00<000000?ooo`3oool02`3o
+ool00`000000oooo0?ooo`020?ooo`<00000P@3oool007L0oooo3000000?0?ooo`030000003oool0
+oooo00@0oooo0`00001n0?ooo`00MP3oool00`000000oooo000000050?ooo`8000000`3ooolC0000
+00D0oooo0`00001l0?ooo`00M03oool2000000030?ooo`000000oooo00@0oooo00<000000?ooo`3o
+ool01@3oool00ol00000oooo0?ooo`020?ooo`03o`00003oool0oooo0080oooo00?o00000?ooo`3o
+ool0103oool<000007P0oooo001b0?ooo`8000000P3oool00`000000oooo0?ooo`0;0?ooo`03o`00
+003oool0oooo00<0oooo00?o00000?ooo`3oool00`3oool00ol00000oooo0?ooo`030?ooo`030000
+003oool0oooo0080oooo0P0000000`3oool000000?ooo`03000007L0oooo001a0?ooo`030000003o
+ool0oooo0080oooo00@000000?ooo`0000000000403oool00ol00000oooo0?ooo`0:0?ooo`040000
+003oool00000000000<0oooo00D000000?ooo`3oool000000?ooo`03000007@0oooo001_0?ooo`80
+0000103oool00`000000oooo000000090?ooo`03o`00003oool0oooo01<0oooo0P0000050?ooo`05
+0000003oool0oooo0?ooo`0000000P3oool300000780oooo001^0?ooo`030000003oool0oooo0080
+oooo0`00000:0?ooo`03o`00003oool0oooo00h0oooo00Co00000?ooo`3oool0oooo0P0000080?oo
+o`040000003oool0oooo0?ooo`8000000`3oool3000006l0oooo001/0?ooo`8000000`3oool20000
+00030?ooo`000000oooo00T0oooo00?o00000?ooo`3oool01`3oool00ol00000oooo0?ooo`050?oo
+o`04o`00003oool00000000000D0oooo0P0000030?ooo`030000003oool0oooo00<0oooo00<00000
+0?ooo`3oool00`3oool2000006d0oooo001Z0?ooo`8000001`3oool00`000000oooo0?ooo`0C0?oo
+o`03o`00003oool0oooo00D0oooo0P0000090?ooo`040000003oool0oooo000000H0oooo00<00000
+0?ooo`3oool0103oool3000006X0oooo001Y0?ooo`040000003oool0oooo0?ooo`800000103oool0
+0`000000oooo0?ooo`060?ooo`03o`00003oool0oooo00T0oooo00?o00000?ooo`3oool00`3oool3
+000000030?ooool00000oooo00/0oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`06
+0?ooo`<00000I`3oool006L0oooo0P0000030?ooo`030000003oool0oooo00<0oooo00<000000?oo
+o`3oool01P3oool00ol00000oooo0?ooo`0>0?ooo`8000004@3oool00`000000oooo0?ooo`060?oo
+o`030000003oool0oooo00P0oooo00<000000?ooo`3oool0I03oool006D0oooo0P00000:0?ooo`03
+0000003oool0oooo00H0oooo00?o00000?ooo`3oool03@3oool2000001<0oooo0P0000080?ooo`80
+0000203oool00`000000oooo0?ooo`1T0?ooo`00I03oool010000000oooo0?ooo`3oool2000000L0
+oooo00<000000?ooo`3oool0503oool2000000T0oooo00?o00000?ooo`3oool02P3oool2000000T0
+oooo00<000000?ooo`3oool01P3oool00`000000oooo0?ooo`1S0?ooo`00HP3oool200000080oooo
+0P0000080?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool02`3oool2000000/0oooo
+00?o00000?ooo`3oool02P3oool00`000000oooo0?ooo`090?ooo`030000003oool0oooo00D0oooo
+0P00001T0?ooo`00H@3oool3000000`0oooo00<000000?ooo`3oool0103oool00ol00000oooo0?oo
+o`0:0?ooo`80000000<0ooooo`00003oool02`3oool00ol00000oooo0?ooo`090?ooo`030000003o
+ool0oooo00X0oooo00<000000?ooo`3oool01P3oool00`000000oooo0?ooo`1Q0?ooo`00G`3oool3
+000000d0oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`090?ooo`8000000P3oool0
+0ol00000oooo0?ooo`0;0?ooo`03o`00003oool0oooo00T0oooo00@000000?ooo`3oool0oooo0P00
+00080?ooo`8000001`3oool00`000000oooo0?ooo`1P0?ooo`00G@3oool2000000l0oooo00<00000
+0?ooo`3oool03`3oool2000001h0oooo00<000000?ooo`3oool00`3oool00`000000oooo0?ooo`07
+0?ooo`030000003oool0oooo0080oooo00@000000?ooo`3oool00000H@3oool005`0oooo0`00000?
+0?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool0203oool200000200oooo00<00000
+0?ooo`3oool03P3oool01@000000oooo0?ooo`3oool0000000<0oooo00<000000?ooo`3oool0GP3o
+ool005/0oooo0P00000@0?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool01`3oool2
+000001P0oooo00?o00000?ooo`3oool0203oool00`000000oooo0?ooo`050?ooo`030000003oool0
+oooo00H0oooo00D000000?ooo`3oool0oooo000000030?ooo`030000003oool0oooo05d0oooo001K
+0?ooo`800000403oool01@000000oooo0?ooo`3ooooo000000P0oooo0P0000090?ooo`03o`00003o
+ool0oooo00h0oooo00?o00000?ooo`3oool0203oool00`000000oooo0?ooo`060?ooo`030000003o
+ool0oooo00H0oooo0P0000000`3oool000000?ooo`030?ooo`030000003oool0oooo05`0oooo001J
+0?ooo`040000003oool0oooo000000h0oooo00<000000?ooo`3oool02@3oool2000000/0oooo00?o
+00000?ooo`3oool03`3oool00ol00000oooo0?ooo`070?ooo`030000003oool0oooo00L0oooo00<0
+00000?ooo`3oool01`3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo05/0oooo001J
+0?ooo`050000003oool0oooo0?ooo`000000303oool01@000000oooo0?ooo`3ooooo000000H0oooo
+0P00000<0?ooo`03o`00003oool0oooo01X0oooo00<000000?ooo`3oool04P3oool00`000000oooo
+0?ooo`040?ooo`030000003oool0oooo05X0oooo001J0?ooo`030000003oool0oooo0080oooo00<0
+0000o`000?l000002@3oool010000000oooo0?ooool000040?ooo`<00000:`3oool00`000000oooo
+0?ooo`090?ooo`800000203oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo05T0oooo
+001I0?ooo`030000003oool0oooo00@0oooo00<000000?ooool000001`3oool010000000oooo0?oo
+ool000030?ooo`8000009@3oool00ol00000oooo0?ooo`060?ooo`030000003oool0oooo00/0oooo
+00<000000?ooo`3oool01@3oool3000000@0oooo00<000000?ooo`3oool0F@3oool005T0oooo00<0
+0000o`00003oool01@3oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo00<0oooo0P00
+000W0?ooo`03o`00003oool0oooo00H0oooo00<000000?ooo`3oool0303oool00`000000oooo0?oo
+o`040?ooo`040000003oool0oooo000000@0oooo00<000000?ooo`3oool0F03oool005T0oooo00<0
+0000o`00003oool01P3oool010000000oooo0?ooool000030?ooo`0400000?l00000oooo0?ooo`80
+0000503oool00ol00000oooo0?ooo`0C0?ooo`03o`00003oool0oooo00H0oooo00<000000?ooo`3o
+ool04P3oool01@000000oooo0?ooo`3oool0000000@0oooo00<000000?ooo`3oool0E`3oool005P0
+oooo00<00000o`00003oool0203oool020000000oooo0?ooool00000oooo00000?l00000oooo0P00
+000F0?ooo`03o`00003oool0oooo01<0oooo00?o00000?ooo`3oool01P3oool00`000000oooo0?oo
+o`0=0?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3oool00P3oool00`000000oooo0?oo
+o`1F0?ooo`00F03oool00`00003o00000?ooo`090?ooo`040000003oool0ooooo`0000<00000603o
+ool00ol00000oooo0?ooo`0L0?ooo`030000003oool0oooo00h0oooo00<000000?ooo`3oool01`3o
+ool00`000000oooo0?ooo`020?ooo`030000003oool0oooo05D0oooo001G0?ooo`030000003oool0
+oooo00/0oooo00D000000?ooo`0000000000o`00000h0?ooo`030000003oool0oooo00l0oooo00D0
+00000?ooo`3oool0oooo000000050?ooo`8000000`3oool00`000000oooo0?ooo`1D0?ooo`00E`3o
+ool00`000000oooo0?ooo`0;0?ooo`X00000:`3oool00ol00000oooo0?ooo`050?ooo`030000003o
+ool0oooo01<0oooo00<000000?ooo`3oool01@3oool01@000000oooo0?ooo`3oool0000005D0oooo
+001G0?ooo`0300000?l00000oooo00X0oooo00D000000?ooo`00003o0000000000060?ooo`l00000
+703oool00ol00000oooo0?ooo`050?ooo`030000003oool0oooo0180oooo00<000000?ooo`000000
+1`3oool01@000000oooo0?ooo`3oool0000005@0oooo001F0?ooo`030000003ooooo000000X0oooo
+00@000000?ooo`3oool000000P3oool01@000000oooo0?ooo`3ooooo00000100oooo3`00000>0?oo
+o`03o`00003oool0oooo00D0oooo00<000000?ooo`3oool04P3oool2000000P0oooo00D000000?oo
+o`3oool0oooo0000001C0?ooo`00EP3oool00`000000ooooo`0000090?ooo`060000003oool0oooo
+0000003oool000000P3oool01@000000oooo0?ooo`3ooooo000001<0oooo00?o00000?ooo`3oool0
+203oool?00000003o`00003oool0oooo00@0oooo00<000000?ooo`3oool04P3oool00ol000000000
+0?ooo`080?ooo`8000000P3oool00`000000oooo0?ooo`1@0?ooo`00EP3oool00`000000ooooo`00
+00080?ooo`070000003oool0oooo0?ooo`000000oooo000000030?ooo`050000003oool0oooo0?oo
+ool000004@3oool00ol00000oooo0?ooo`0H0?ooo`X000001P3oool2o`000080oooo1?l000030?oo
+o`03o`00003ooooo0000008000002@3oool010000000oooo0?ooo`00001A0?ooo`00E@3oool00`00
+0000oooo0?ooo`080?ooo`080000003oool0oooo0?ooool0000000000?ooo`0000040?ooo`800000
+=@3oool00`00003o0000o`000004000000;o0000303oool01Ol00000oooo0000003oool0000000T0
+oooo00<000000?ooo`000000D@3oool005D0oooo00<000000?ooo`3oool01`3oool02@000000oooo
+0?ooo`3ooooo00000?ooo`000000oooo000000060?ooo`050000003oool0oooo0?ooool00000:@3o
+ool6o`0000030?ooo`000000oooo00D0oooo1000000:0?ooo`03o`00003oool0000000@0oooo0P00
+00060?ooo`030000003oool000000500oooo001D0?ooo`040000003oool0ooooo`0000H0oooo00<0
+00000?ooo`3oool00`3oool01@000000oooo0?ooo`3oool0000000H0oooo00D000000?ooo`3oool0
+ooooo`00000<0?ooo`03o`00003oool0oooo01L0oooo0_l000000`3ooooo00000?ooo`040?ooo`03
+0000003oool0oooo00P0oooo100000080?ooo`030000003oool0oooo00@0oooo00<000000?ooo`3o
+ool0103oool3000004l0oooo001D0?ooo`040000003oool0ooooo`0000D0oooo00<000000?ooo`3o
+ool0103oool01@000000oooo0?ooo`3oool0000000L0oooo00D000000?ooo`3oool0ooooo`00000;
+0?ooo`03o`00003oool0oooo01<0oooo0_l000060?ooo`03o`00003oool0oooo0080oooo00<00000
+0?ooo`3oool0303oool4000000`0oooo00<000000?ooo`3oool01@3oool2000004h0oooo001D0?oo
+o`030000003ooooo000000D0oooo00<000000?ooo`3oool00`3oool00ol00000oooo000000030?oo
+o`030000003oool0oooo00H0oooo0P00000<0?ooo`03o`00003oool0oooo0180oooo0_l000080?oo
+o`03o`00003oool0oooo0080oooo00<000000?ooo`3oool0403oool4000000/0oooo0P0000040?oo
+o`800000C@3oool005<0oooo00@000000?ooo`3ooooo00000`3oool2000000D0oooo00Co00000?oo
+o`3oool00000103oool00`000000oooo0?ooo`070?ooo`050000003oool0oooo0?ooool000001`3o
+ool00ol00000oooo0?ooo`0=0?ooo`?o0000403oool00`000000oooo0?ooo`0B0?ooo`03o`00003o
+ool0oooo00@000002@3oool00`000000oooo0?ooo`020?ooo`800000C03oool005<0oooo00<00000
+0?ooo`3oool00`3oool00`000000oooo0?ooo`040?ooo`04o`00003oool0oooo000000D0oooo00<0
+00000?ooo`3oool0203oool01@000000oooo0?ooo`3ooooo00000140oooo0_l0000F0?ooo`030000
+003oool0oooo0140oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`04000000/0oooo
+0P00001;0?ooo`00D`3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo00P0oooo00<0
+00000?ooo`3oool00`3oool00`000000oooo0?ooo`090?ooo`050000003oool0oooo0?ooool00000
+3`3oool00ol00000oooo0?ooo`0C0?ooo`04o`00003oool0oooo000001<0oooo00?o00000?ooo`3o
+ool00`3oool00`000000oooo0?ooo`030?ooo`@00000103oool3000000030?ooo`000000000004X0
+oooo001B0?ooo`060000003oool0oooo0?ooool0000000002`3oool00`000000oooo0?ooo`030?oo
+o`030000003oool0oooo00X0oooo00<000000?ooo`3oool01@3oool00ol00000oooo0?ooo`030?oo
+o`;o00006@3oool01?l00000oooo0?ooo`00000S0?ooo`@000000`3oool010000000oooo0?ooo`00
+00190?ooo`00DP3oool01@000000oooo0?ooo`3oool0000000P0oooo00Go00000?ooo`3oool0oooo
+000000060?ooo`030000003oool0oooo00X0oooo0P0000020?ooo`Co0000103oool00ol00000oooo
+0?ooo`0I0?ooo`04o`00003oool0oooo000002L0oooo100000030?ooo`030000003oool0oooo04H0
+oooo001A0?ooo`050000003oool0oooo0?ooo`0000002@3oool01?l00000oooo0?ooo`0000070?oo
+o`030000003oool0oooo00`0oooo00<000000?ooo`3oool00P3oool2o`0001l0oooo00Co00000?oo
+o`3oool000004P3oool00ol00000oooo0?ooo`0F0?ooo`D00000A`3oool00540oooo00D000000?oo
+o`3oool00000o`0000080?ooo`05o`00003oool0oooo0?ooo`0000001`3oool00`000000oooo0?oo
+o`0=0?ooo`030000003oool0oooo00?o00008P3oool00`000000oooo0?ooo`0@0?ooo`03o`00003o
+ool0oooo00D0oooo00<000000?ooo`3oool04P3oool2000004H0oooo001A0?ooo`030000003oool0
+000000T0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`050?ooo`030000003oool0
+oooo00h0oooo00<00000o`000?l000000P3oool00ol00000oooo0?ooo`0O0?ooo`030000003oool0
+oooo00l0oooo00?o00000?ooo`3oool01P3oool00`000000oooo0?ooo`0@0?ooo`@00000AP3oool0
+0500oooo00<000000?ooo`0000003`3oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo
+00X0oooo00Ko00000?ooo`3oool0oooo00000?l0000R0?ooo`03o`00003oool0000001/0oooo00<0
+00000?ooo`3oool03P3oool010000000oooo0000000000170?ooo`00D03oool200000080oooo00?o
+00000?ooo`3oool02P3oool00`000000oooo0?ooo`070?ooo`030000003oool0oooo00T0oooo00?o
+00000?ooo`3oool00`3oool2000000<0oooo0_l0000L0?ooo`03o`00003oool0000002X0oooo0P00
+00030?ooo`030000003oool0oooo04D0oooo001@0?ooo`050000003oool0oooo0?ooool000001P3o
+ool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3oool0203o
+ool00ol00000oooo0?ooo`060?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool06P3o
+ool00ol0000000000?ooo`0W0?ooo`800000103oool2000004L0oooo001?0?ooo`030000003oool0
+oooo0080oooo00?o00000?ooo`3oool0103oool00ol00000oooo0?ooo`030?ooo`030000003oool0
+oooo00P0oooo00<000000?ooo`3oool00`3oool2o`0000`0oooo00<000000?ooo`3oool00P3oool0
+0ol00000oooo0?ooo`0I0?ooo`030000003oool0oooo00l0oooo00?o00000?ooo`3oool0503oool0
+0`000000oooo0?ooo`020?ooo`<00000B03oool004l0oooo00<000000?ooo`3oool00P3oool00ol0
+0000oooo0?ooo`030?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool0203oool00`00
+0000oooo0?ooo`020?ooo`03o`00003oool0oooo00T0oooo00Go00000?ooo`3oool0oooo0000000O
+0?ooo`030000003oool0oooo00l0oooo00?o00000?ooo`3oool02@3oool00`000000oooo0?ooo`06
+0?ooo`800000103oool010000000oooo0000000000180?ooo`00C`3oool00`000000oooo0?ooo`0>
+0?ooo`030000003oool0oooo00T0oooo00D000000?ooo`3oool0ooooo`00000<0?ooo`03o`00003o
+ool0oooo0080oooo0P0000030?ooo`03o`00003oool0oooo01L0oooo00<000000?ooo`3oool03P3o
+ool00ol00000oooo0?ooo`0:0?ooo`030000003oool0oooo00@0oooo0P0000050?ooo`040000003o
+ool00000000004T0oooo001?0?ooo`8000003`3oool00`000000oooo0?ooo`090?ooo`0300000?l0
+0000oooo00h0oooo00?o00000?ooo`3oool0103oool01@000000oooo0?ooo`3ooooo000001P0oooo
+00<00000o`00003oool0703oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo00L0oooo
+0P0000190?ooo`00C`3oool200000080oooo00?o00000?ooo`3oool00P3oool00ol00000oooo0?oo
+o`050?ooo`030000003oool0oooo00T0oooo00?o00000000003oool05P3oool01@000000oooo0?oo
+o`3ooooo000001L0oooo00<00000o`00003oool07`3oool2000000T0oooo0P00001:0?ooo`00C`3o
+ool200000080oooo00?o00000?ooo`3oool00P3oool00ol00000oooo0?ooo`050?ooo`030000003o
+ool0oooo00P0oooo00?o00000?ooo`000000603oool00`000000oooo0?ooo`0H0?ooo`0300000?l0
+0000oooo00d0oooo00?o00000?ooo`3oool03@3oool2000000P0oooo00<000000?ooo`3oool00P00
+001:0?ooo`00C`3oool2000000030?ooool00000oooo00<0oooo00?o00000?ooo`3oool01@3oool0
+0`000000oooo0?ooo`050?ooo`;o0000103oool00`000000oooo0?ooo`0G0?ooo`030000003oool0
+oooo0080oooo00?o00000?ooo`3oool04P3oool00`00003o00000?ooo`0=0?ooo`03o`00003oool0
+oooo00`0oooo0P0000090?ooo`050000003oool000000?ooo`000000BP3oool004l0oooo0P000000
+0`3ooooo00000?ooo`0;0?ooo`030000003oool0oooo00@0oooo00?o00000?ooo`3oool0103oool0
+0`000000oooo0?ooo`0=0?ooo`03o`00003oool0oooo00P0oooo0P0000030?ooo`03o`00003oool0
+oooo0140oooo00<000000?ooo`3oool0303oool00ol00000oooo0?ooo`0;0?ooo`80000000<0oooo
+0000003oool01`3oool01@000000oooo0000003oool0000004/0oooo001?0?ooo`030000003oool0
+000000d0oooo00<000000?ooo`3oool00`3oool00ol00000oooo0?ooo`060?ooo`030000003oool0
+oooo00`0oooo00?o00000?ooo`3oool02P3oool01@000000oooo0?ooo`3ooooo00000180oooo00<0
+00000?ooo`3oool0303oool00ol00000oooo0?ooo`090?ooo`800000103oool00`000000oooo0?oo
+o`070?ooo`030000003oool0000004/0oooo001?0?ooo`030000003oool0000000<0oooo00?o0000
+0?ooo`3oool01P3oool00`000000oooo0?ooo`02o`0000/0oooo00<000000?ooo`3oool02`3oool0
+0ol00000oooo0?ooo`0<0?ooo`030000003oool0oooo01<0oooo00<000000?ooool000005`3oool0
+0`000000oooo0?ooo`040?ooo`030000003oool0oooo00H0oooo00<000000?ooo`000000C03oool0
+04l0oooo00<000000?ooo`0000000`3oool00ol00000oooo0?ooo`060?ooo`030000003ooooo0000
+00d0oooo00<000000?ooo`3oool02`3oool00ol00000oooo0?ooo`0=0?ooo`030000003oool0oooo
+0080oooo00?o00000?ooo`3oool03@3oool00`000000ooooo`00000E0?ooo`8000003@3oool01P00
+0000oooo0?ooo`000000oooo000004`0oooo001?0?ooo`030000003oool000000080oooo00?o0000
+0?ooo`3oool01`3oool00`000000oooo0?ooo`0>0?ooo`030000003oool0oooo01/0oooo00<00000
+0?ooo`3oool00P3oool00ol00000oooo0?ooo`0;0?ooo`050000003oool0oooo0?ooool000002P3o
+ool00ol00000oooo0?ooo`050?ooo`8000003P3oool010000000oooo0?ooo`0000020?ooo`030000
+003oool0oooo04X0oooo001?0?ooo`030000003oool000000080oooo00?o00000?ooo`3oool01@3o
+ool2o`0000030000003oool0oooo00h0oooo00<000000?ooo`3oool0703oool2000000<0oooo00?o
+00000?ooo`3oool02P3oool01@000000oooo0?ooo`3ooooo000000X0oooo00?o00000?ooo`3oool0
+103oool00`000000oooo0?ooo`0:0?ooo`040000003oool0oooo000000<0oooo00<000000?ooo`00
+0000C@3oool004l0oooo00@000000?ooool0000000001`3oool2o`0000030?ooo`000000oooo0100
+oooo00<000000?ooo`3oool02P3oool00ol00000oooo0?ooo`0A0?ooo`030000003oool0oooo00d0
+oooo00<000000?ooo`3oool02`3oool00ol00000oooo0?ooo`030?ooo`8000003@3oool00`000000
+oooo0?ooo`030?ooo`040000003oool0oooo000004d0oooo001?0?ooo`040000003oool0oooo0000
+00X0oooo00<000000?ooo`3oool03`3oool00`000000oooo0?ooo`0:0?ooo`03o`00003oool0oooo
+0180oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?ooo`070?ooo`030000003oool0oooo
+00/0oooo00Co00000?ooo`3oool0oooo0P00000@0?ooo`050000003oool0oooo0?ooo`0000000P3o
+ool00`000000oooo0?ooo`1<0?ooo`00C`3oool010000000oooo0?ooo`0000030?ooo`;o00001@3o
+ool00`000000oooo0?ooo`0@0?ooo`030000003oool0oooo00T0oooo00?o00000?ooo`3oool04`3o
+ool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo00H0oooo00<000000?ooo`3oool00P3o
+ool00ol00000oooo0?ooo`090?ooo`030000003oool0oooo00l0oooo00?o00000000003oool00P3o
+ool010000000oooo0?ooo`00001>0?ooo`00C`3oool01000003o00000?ooo`0000020?ooo`03o`00
+003oool0oooo00D0oooo00<000000?ooo`3oool0403oool00`000000oooo0?ooo`090?ooo`03o`00
+003oool0oooo01@0oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?ooo`050?ooo`030000
+003oool0oooo0080oooo00?o00000?ooo`3oool01`3oool200000100oooo0_l000001@3oool00000
+0?ooo`3oool000000080oooo00<000000?ooo`3oool0C@3oool004l0oooo00@00000o`000?l00000
+00002@3oool00`000000oooo0?ooo`0A0?ooo`030000003oool0oooo0240oooo0P00000:0?ooo`03
+0000003oool0oooo0080oooo00?o00000?ooo`3oool0103oool00ol0000000000000000D0?ooo`05
+0000003oool0oooo0?ooo`0000000P3oool00`000000oooo0?ooo`1=0?ooo`00C`3oool01@000000
+ooooo`000?l00000000000P0oooo00<000000?ooo`3oool04@3oool00`000000oooo0?ooo`0S0?oo
+o`040000003oool0oooo0?ooo`;o0000103oool00`000000oooo0?ooo`020?ooo`03o`00003oool0
+oooo00@0oooo00<000000?ooo`3oool03P3oool2o`0000@0oooo00@000000?ooo`3oool000000`3o
+ool00`000000oooo0?ooo`1=0?ooo`00C`3oool01@00003o0000o`00003oool0000000P0oooo00<0
+00000?ooo`3oool04P3oool00`000000oooo0?ooo`070?ooo`03o`00003oool0oooo01T0oooo00<0
+00000?ooo`3oool00P3oool01Ol00000oooo0?ooo`3oool0000000T0oooo0P00000@0?ooo`03o`00
+003oool0oooo00L0oooo00@000000?ooo`3oool00000D03oool004l0oooo00D000000?ooool0003o
+0000000000020?ooo`;o0000103oool00`000000oooo0?ooo`0B0?ooo`030000003oool0oooo00L0
+oooo00?o00000?ooo`3oool06P3oool00`000000oooo0?ooo`020?ooo`04o`00003oool0oooo0000
+00L0oooo0P0000000`3ooooo00000?ooo`0H0?ooo`050000003oool0oooo0?ooo`000000D03oool0
+0500oooo00@00000o`000?l000000000103oool01?l00000oooo0?ooo`000002o`0001<0oooo00<0
+00000?ooo`3oool01`3oool00ol00000oooo0?ooo`0K0?ooo`8000001@3oool00`000000oooo0?oo
+o`030?ooo`03o`0000000000oooo00l0oooo0_l000090?ooo`8000000`3oool00`000000oooo0?oo
+o`1?0?ooo`00D03oool01@00003o00000?ooo`3oool0000000H0oooo00@000000?ooo`3ooooo0000
+4`3oool00`000000oooo0?ooo`060?ooo`03o`00003oool0oooo01d0oooo00D000000?ooo`3oool0
+oooo000000050?ooo`8000003`3oool2o`0000/0oooo0P0000030?ooo`030000003oool0oooo04l0
+oooo001@0?ooo`050000003ooooo00000?ooo`0000001P3oool00`000000oooo0?ooo`040?ooo`?o
+00003@3oool00`000000oooo0?ooo`0W0?ooo`050000003oool0oooo00000?l000000P3oool20000
+0080oooo00Co00000?ooo`3ooooo0000203oool00ol00000oooo0?ooo`0<0?ooo`800000103oool0
+0`000000oooo0?ooo`1?0?ooo`00D@3oool01@00003o00000?ooo`00003o000000D0oooo00<00000
+0?ooo`3oool02P3oool4o`0000H0oooo00<000000?ooo`3oool0:03oool01P000000oooo0000003o
+oooo0000000000@0oooo00Co00000?ooo`3ooooo00001`3oool00ol00000oooo0?ooo`0=0?ooo`80
+00000`3oool00`000000oooo0?ooo`1@0?ooo`00D@3oool01P000000oooo0?ooo`000000ooooo`00
+00<0oooo00<000000?ooo`3oool04@3oool4o`0000030000003oool0oooo00H0oooo00?o00000?oo
+o`3oool0803oool4000000L0oooo00?o00000?ooo`3oool01@3oool00ol00000oooo0?ooo`0>0?oo
+o`030000003oool0oooo0080oooo00<000000?ooo`3oool0D03oool00580oooo00<000000?ooo`00
+00001@3oool00`000000oooo0?ooo`0F0?ooo`0300000?l0003o000000;o00000`3oool00ol00000
+oooo0?ooo`0O0?ooo`@000000`3oool00ol00000oooo0?ooo`060?ooo`;o00004`3oool01@000000
+oooo0?ooo`3oool0000005<0oooo001B0?ooo`040000003ooooo0000000000<0oooo00?o00000000
+003oool05`3oool00`000000oooo0?ooo`040?ooo`Co00000`3oool4o`0001D0oooo0`0000020?oo
+o`030000003oool0000000<0oooo00?o00000?ooool000000`3oool2o`0001@0oooo00<000000?oo
+o`3oool00P3oool00`000000oooo0?ooo`1A0?ooo`00D`3oool00`00003o0000000000040?ooo`03
+0000003oool0oooo01H0oooo00<000000?ooo`3oool04@3oool4o`000080oooo1?l000020?ooo`?o
+000010000002o`000080oooo00D000000?ooo`3oool0oooo000000030?ooo`;o0000603oool20000
+00@0oooo00<000000?ooo`3oool0D@3oool005<0oooo00<000000?ooo`0000000`3oool00`000000
+ooooo`00000G0?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool05@3oool3000000H0
+oooo00Co00000?ooo`000000oooo0ol00002000000040?ooool0003o0000o`0001L0oooo0P000003
+0?ooo`030000003oool0oooo0580oooo001C0?ooo`030000003oool0000000<0oooo00<000000?oo
+o`3oool0603oool00`000000oooo0?ooo`040?ooo`03o`00003oool0oooo0180oooo0`00000;0?oo
+o`030000003oool0oooo00@0oooo00<000000?ooool000000_l0000E0?ooo`030000003oool00000
+00<0oooo00<000000?ooo`3oool0DP3oool005@0oooo0P0000030?ooo`030000003oool0oooo0080
+oooo00?o00000?ooo`3oool04`3oool00`000000oooo0?ooo`040?ooo`03o`00003oool0oooo00h0
+oooo1000000=0?ooo`030000003oool0oooo00H0oooo00D00000o`00003oool0ooooo`00000D0?oo
+o`030000003oool0oooo0080oooo00<000000?ooo`3oool0D`3oool005@0oooo00H000000?ooo`00
+003o00000?ooo`0000050?ooo`03o`00003oool0oooo0180oooo00<000000?ooo`3oool04P3oool3
+00000140oooo00<000000?ooo`3oool00`3oool2o`000080oooo0P00000E0?ooo`030000003oool0
+oooo00<0oooo00<000000?ooo`3oool0D`3oool005D0oooo0P0000000ol0000000000?ooo`060?oo
+o`03o`00003oool0oooo0180oooo00<000000?ooo`3oool03@3oool4000001@0oooo00@000000?oo
+o`3oool0oooo0_l000060?ooo`050000003oool0oooo0?ooool00000403oool00`000000oooo0000
+00020?ooo`030000003oool0oooo05@0oooo001E0?ooo`80000000<0oooo0000003oool06`3oool0
+0`000000oooo0?ooo`0:0?ooo`<000005`3oool00`000000oooo0?ooo`070?ooo`05o`00003oool0
+oooo0?ooo`0000000`3oool00ol00000oooo0?ooo`0<0?ooo`040000003oool0oooo00000080oooo
+00<000000?ooo`3oool0E03oool005H0oooo00<000000?ooo`0000002P3oool00ol00000oooo0?oo
+o`0?0?ooo`030000003oool0oooo00<0oooo00Co00000?ooo`3oool0oooo0`00000J0?ooo`040000
+003ooooo0000o`0000H0oooo00?o00000?ooo`3oool00P3oool200000080oooo00?o00000?ooo`3o
+ool02P3oool010000000oooo0?ooo`0000030?ooo`030000003oool0oooo05@0oooo001F0?ooo`03
+0000003oool0000000/0oooo00?o00000?ooo`3oool03P3oool00`000000oooo0?ooo`030?ooo`@0
+00007@3oool00`00003o00000?ooo`070?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3o
+ool0303oool010000000oooo0?ooo`0000020?ooo`030000003oool0oooo05D0oooo001F0?ooo`80
+00000P3oool00ol00000oooo0?ooo`080?ooo`03o`00003oool0oooo00h0oooo00<000000?ooo`00
+00000P0000000ol00000oooo0?ooo`0M0?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3o
+ool01@3oool010000000oooo0?ooool000090?ooo`030000003oool0oooo00@0oooo00<000000?oo
+o`3oool0E@3oool005L0oooo8@0000030?ooo`03o`00003oool0oooo01/0oooo00?o00000?ooo`00
+00004`3oool2000000030?ooool00000oooo00L0oooo00<000000?ooo`3oool00`3oool00`000000
+oooo0?ooo`1F0?ooo`00E`3oool01@000000oooo0000003ooooo000000/0oooo0ol0000<0?ooo`03
+0000003oool0oooo01l0oooo00Co00000?ooo`3oool000005@3oool00`000000ooooo`0000060?oo
+o`050000003oool0oooo0?ooo`0000000P3oool00`000000oooo0?ooo`1F0?ooo`00F03oool01@00
+0000oooo0000003ooooo000000d0oooo00?o00000?ooo`3oool02P3oool00`000000oooo0?ooo`0M
+0?ooo`04o`00003oool0oooo000000X0oooo00?o00000?ooo`3oool02P3oool00`000000oooo0?oo
+o`050?ooo`050000003oool0oooo0?ooo`0000000P3oool00`000000oooo0?ooo`1F0?ooo`00F@3o
+ool00`000000oooo0000000K0?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool05@3o
+ool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool02`3o
+ool2000000@0oooo00<000000?ooo`3oool00P3oool00`000000oooo0000001I0?ooo`00FP3oool0
+10000000oooo00000000000J0?ooo`050000003oool0oooo0?ooool000005P3oool00ol00000oooo
+0?ooo`040?ooo`030000003oool0oooo00L0oooo00?o00000?ooo`3oool03P3oool01000003o0000
+0?ooo`0000050?ooo`030000003oool0000005T0oooo001K0?ooo`040000003ooooo0000000000d0
+oooo0_l0000:0?ooo`050000003oool0oooo0?ooool000005@3oool00ol00000oooo0?ooo`040?oo
+o`030000003oool0oooo00P0oooo00?o00000?ooo`3oool03`3oool00`00003o0000000000060?oo
+o`030000003oool0oooo05P0oooo001L0?ooo`040000003ooooo0000000000h0oooo00?o00000?oo
+o`3oool0203oool010000000oooo0?ooool0000L0?ooo`030000003oool0oooo01X0oooo0`000006
+0?ooo`030000003oool0oooo05P0oooo001L0?ooo`050000003oool0ooooo`0000000000603oool0
+0`000000oooo0?ooo`0B0?ooo`;o00002@3oool00`000000oooo0?ooo`0I0?ooo`050000003oool0
+oooo0?ooo`0000000`3oool2000005/0oooo001M0?ooo`050000003oool0oooo0?ooo`0000003`3o
+ool00ol00000oooo0?ooo`060?ooo`030000003oool0oooo00l0oooo0_l0000:0?ooo`030000003o
+ool0oooo00P0oooo00?o00000?ooo`3oool03P3oool00`000000oooo0?ooo`030?ooo`80000000<0
+oooo000000000000F`3oool005h0oooo00@000000?ooo`3oool0oooo0P00000>0?ooo`03o`00003o
+ool0oooo00D0oooo00<000000?ooool000006`3oool00`000000oooo0?ooo`080?ooo`03o`00003o
+ool0oooo00d0oooo00<000000?ooo`3oool01P3oool3000005/0oooo001O0?ooo`0300000?l00000
+oooo0080oooo00<000000?ooo`3oool0303oool00ol00000oooo0?ooo`050?ooo`0300000?l00000
+oooo00/0oooo0_l0000=0?ooo`030000003oool0oooo00L0oooo00?o00000?ooo`3oool03@3oool0
+0`000000oooo0?ooo`060?ooo`<00000G03oool00600oooo00<00000o`00003oool00P3oool00`00
+0000oooo0?ooo`0C0?ooo`0300000?l00000oooo00T0oooo0_l0000>0?ooo`030000003oool0oooo
+00P0oooo00?o00000?ooo`3oool0303oool00`000000oooo0?ooo`070?ooo`030000003oool0oooo
+05`0oooo001P0?ooo`030000003ooooo000000<0oooo00<000000?ooo`3oool03@3oool00ol00000
+oooo0?ooo`030?ooo`030000003oool0oooo01P0oooo00<000000?ooo`3oool05@3oool2000000H0
+oooo1000001O0?ooo`00H@3oool00`000000oooo0?ooo`030?ooo`8000003P3oool00ol00000oooo
+0?ooo`020?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool0403oool00`000000oooo
+0?ooo`0D0?ooo`030000003oool0oooo00@0oooo0P0000000`3oool000000?ooo`1P0?ooo`00HP3o
+ool00`000000oooo0?ooo`040?ooo`030000003oool0oooo00`0oooo00?o00000?ooo`3oool00P3o
+ool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo0100oooo00<000000?ooo`3oool0203o
+ool00ol00000oooo0?ooo`090?ooo`040000003oool0oooo0?ooo`8000000`3oool200000680oooo
+001S0?ooo`0300000?l00000oooo00@0oooo00<000000?ooo`3oool0403oool00`000000oooo0?oo
+o`020?ooo`03o`00003oool0oooo0140oooo00<000000?ooo`3oool0203oool00ol00000oooo0?oo
+o`080?ooo`030000003oool0oooo00800000103oool00`000000oooo0?ooo`1R0?ooo`00I03oool0
+0`000000oooo0?ooo`040?ooo`030000003oool0oooo00d0oooo00Co00000?ooool0000000005P3o
+ool00`000000oooo0?ooo`080?ooo`03o`00003oool0oooo00P0oooo0P0000060?ooo`800000I@3o
+ool006D0oooo0P0000050?ooo`8000003P3oool2o`00000300000?l00000oooo01@0oooo00<00000
+0?ooo`3oool04P3oool2000000H0oooo00<000000?ooo`3oool0I@3oool006L0oooo00@00000o`00
+0?l0003o00000`3oool00`00003o0000o`0000030?ooo`Co00000P3oool5o`00000300000?l00000
+oooo01<0oooo00<000000?ooo`3oool0403oool3000000D0oooo0P00001X0?ooo`00J03oool20000
+00D0oooo00<000000?ooo`3oool02`3oool00ol00000oooo000000030?ooo`Co00003@3oool00`00
+0000oooo0?ooo`0?0?ooo`8000001`3oool00`000000oooo0?ooo`1X0?ooo`00JP3oool00`000000
+oooo0?ooo`030?ooo`030000003oool0oooo00/0oooo00?o00000?ooo`000000203oool4o`000080
+oooo0ol000020?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool00P3oool3000000H0
+oooo0P00001[0?ooo`00J`3oool2000000@0oooo0P00000=0?ooo`030000003oool0oooo00l0oooo
+00?o00000?ooo`0000000ol000070?ooo`03o`0000000000000000<0oooo00<000000?ooo`3oool0
+103oool00`000000oooo0?ooo`1[0?ooo`00K@3oool00`000000oooo0?ooo`030?ooo`030000003o
+ool0oooo00/0oooo00<000000?ooo`3oool03`3oool00`000000oooo0?ooo`020?ooo`03o`00003o
+ool0oooo00?o00000P0000040?ooo`030000003oool0oooo00<0oooo0P00001^0?ooo`00KP3oool2
+000000@0oooo00<000000?ooo`3oool02@3oool00ol00000oooo0000000@0?ooo`030000003oool0
+oooo00L0oooo00<000000?ooo`3oool00`3oool00`000000oooo0?ooo`030?ooo`030000003oool0
+oooo06h0oooo001`0?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0203oool00ol0
+0000oooo0000000@0?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool00P3oool20000
+00@0oooo0P00001a0?ooo`00L@3oool2000000<0oooo00<000000?ooo`3oool0203oool00ol00000
+oooo0000000>0?ooo`030000003oool0oooo00/0oooo00<000000?ooo`3oool00`3oool00`000000
+oooo0?ooo`1a0?ooo`00L`3oool010000000oooo0?ooo`3oool2000000P0oooo00?o00000?ooo`00
+00003P3oool00`000000oooo0?ooo`0:0?ooo`030000003oool0oooo0080oooo0P00001d0?ooo`00
+M03oool2000000<0oooo00<000000?ooo`3oool0203oool00`000000oooo0?ooo`0;0?ooo`030000
+003oool0oooo00D0oooo00D000000?ooo`3oool0oooo000000040?ooo`030000003oool0oooo07@0
+oooo001f0?ooo`050000003oool0oooo0?ooo`0000002@3oool00`000000oooo0?ooo`0:0?ooo`03
+0000003oool0oooo00D0oooo00D000000?ooo`3oool0oooo000000040?ooo`030000003oool0oooo
+07D0oooo001g0?ooo`8000000P3oool00`000000oooo0?ooo`050?ooo`03o`00003oool0000000/0
+oooo00<000000?ooo`3oool0103oool01@000000oooo0?ooo`3oool0000000<0oooo0P00001h0?oo
+o`00N@3oool00`000000oooo0?ooo`02000000H0oooo00?o00000000003oool02P3oool00`000000
+oooo0?ooo`070?ooo`050000003oool0oooo0?ooo`000000NP3oool007X0oooo0P0000020?ooo`03
+0000003oool0oooo00@0oooo00?o00000000003oool0203oool00`000000oooo0?ooo`060?ooo`80
+00000P3oool2000007/0oooo001l0?ooo`040000003oool0oooo000000H0oooo00<000000?ooo`3o
+ool01`3oool00`000000oooo0?ooo`030?ooo`030000003oool0000000<0oooo00<000000?ooo`3o
+ool0N`3oool007d0oooo0P0000000`3oool000000?ooo`050?ooo`030000003oool0oooo00H0oooo
+00<000000?ooo`3oool00P3oool00`000000oooo000000020?ooo`800000OP3oool007l0oooo00@0
+00000?ooo`0000000000103oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo0080oooo
+00<000000?ooo`0000000P3oool00`000000oooo0?ooo`1n0?ooo`00P03oool2000000030?ooo`00
+0000oooo0080oooo00?o00000000003oool01@3oool00`000000oooo0?ooo`030?ooo`040000003o
+ool0000000000840oooo00220?ooo`030000003oool0000000<0oooo00<000000?ooo`3oool0103o
+ool020000000oooo0?ooo`000000oooo0000003oool00000P`3oool008<0oooo0`0000030?ooo`03
+0000003oool0oooo0080oooo00<000000?ooo`3oool01@0000240?ooo`00Q@3oool200000080oooo
+00<000000?ooo`3oool00P3oool01P000000oooo000000000000oooo000008H0oooo00260?ooo`<0
+000000<0oooo0000003oool00P3oool00`000000oooo00000002000008L0oooo00280?ooo`<00000
+0P3oool010000000oooo0000000000290?ooo`00R@3oool3000000040?ooo`0000000000000008X0
+oooo002;0?ooo`030000003oool0000008`0oooo002<0?ooo`030000003oool0oooo08/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o
+0?oooa/0oooo003o0?oooa/0oooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.47621 .45416 m
+.63473 .56796 L
+s
+.47621 .45416 m
+.47119 .57044 L
+s
+.58185 .41311 m
+.47621 .45416 L
+s
+.31094 .5517 m
+.47621 .45416 L
+s
+.5 .27523 m
+.47621 .45416 L
+s
+.38662 .40027 m
+.47621 .45416 L
+s
+.47119 .57044 m
+.63473 .56796 L
+s
+.31094 .5517 m
+.47119 .57044 L
+s
+.4747 .67248 m
+.47119 .57044 L
+s
+.58185 .41311 m
+.63473 .56796 L
+s
+.67184 .39558 m
+.63473 .56796 L
+s
+.71242 .51198 m
+.63473 .56796 L
+s
+.68388 .63248 m
+.63473 .56796 L
+s
+.58835 .68293 m
+.63473 .56796 L
+s
+.4747 .67248 m
+.63473 .56796 L
+s
+.67184 .39558 m
+.58185 .41311 L
+s
+.5 .27523 m
+.58185 .41311 L
+s
+.38662 .40027 m
+.31094 .5517 L
+s
+.38662 .40027 m
+.5 .27523 L
+s
+.32197 .37174 m
+.38662 .40027 L
+s
+.32197 .37174 m
+.31094 .5517 L
+s
+.27803 .48748 m
+.31094 .5517 L
+s
+.30901 .61606 m
+.31094 .5517 L
+s
+.37742 .67486 m
+.31094 .5517 L
+s
+.4747 .67248 m
+.31094 .5517 L
+s
+.4747 .67248 m
+.37742 .67486 L
+s
+.4747 .67248 m
+.5 .75807 L
+s
+.4747 .67248 m
+.58835 .68293 L
+s
+.5 .27523 m
+.67184 .39558 L
+s
+.32197 .37174 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.62758 .31802 m
+.5 .27523 L
+s
+.53006 .29504 m
+.5 .27523 L
+s
+.40391 .30106 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.71242 .51198 m
+.67184 .39558 L
+s
+.73211 .43653 m
+.67184 .39558 L
+s
+.62758 .31802 m
+.67184 .39558 L
+s
+.58835 .68293 m
+.5 .75807 L
+s
+.58835 .68293 m
+.68388 .63248 L
+s
+.73211 .43653 m
+.71242 .51198 L
+s
+.68388 .63248 m
+.71242 .51198 L
+s
+.0035 w
+[ ] 0 setdash
+.37742 .67486 m
+.30901 .61606 L
+s
+.5 .75807 m
+.37742 .67486 L
+s
+.27803 .48748 m
+.32197 .37174 L
+s
+.40391 .30106 m
+.32197 .37174 L
+s
+.32183 .41013 m
+.32197 .37174 L
+s
+.68388 .63248 m
+.73211 .43653 L
+s
+.68388 .63248 m
+.63934 .62256 L
+s
+.68388 .63248 m
+.5 .75807 L
+s
+.62758 .31802 m
+.73211 .43653 L
+s
+.53006 .29504 m
+.62758 .31802 L
+s
+.32183 .41013 m
+.27803 .48748 L
+s
+.30901 .61606 m
+.27803 .48748 L
+s
+.40391 .30106 m
+.53006 .29504 L
+s
+.32183 .41013 m
+.40391 .30106 L
+s
+.30901 .61606 m
+.32183 .41013 L
+s
+.30901 .61606 m
+.39483 .61165 L
+s
+.5 .75807 m
+.30901 .61606 L
+s
+.5 .75807 m
+.39483 .61165 L
+s
+.5 .75807 m
+.53252 .56266 L
+s
+.5 .75807 m
+.63934 .62256 L
+s
+.53006 .29504 m
+.73211 .43653 L
+s
+.53855 .40574 m
+.53006 .29504 L
+s
+.32183 .41013 m
+.53006 .29504 L
+s
+.53855 .40574 m
+.73211 .43653 L
+s
+.53252 .56266 m
+.73211 .43653 L
+s
+.63934 .62256 m
+.73211 .43653 L
+s
+.63934 .62256 m
+.53252 .56266 L
+s
+.39483 .61165 m
+.32183 .41013 L
+s
+.53252 .56266 m
+.39483 .61165 L
+s
+.32183 .41013 m
+.53855 .40574 L
+s
+.53252 .56266 m
+.32183 .41013 L
+s
+.53252 .56266 m
+.53855 .40574 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00R_ooool5o`0008_ooooo0026ooooo`Co000000Co
+ooooo`000?l0003ooooo1?l00028ooooo`00P_ooool4o`000006ooooool0003o0000ooooool0003o
+oooo0_l000001?oooooo0000o`000?ooool3o`0008Gooooo001nooooo`Co00000oooool2o`0000;o
+oooo00Co0000oooooooooooo00001?ooool2o`0000;ooooo0ol00022ooooo`00Noooool3o`0001Co
+oooo0_l00004ooooo`?o0000Ooooool007Oooooo1?l00006ooooo`;o00001?ooool01?l0003ooooo
+ooooooooool<o`0000Cooooo0ol0001looooo`00Loooool4o`0000?ooooo4_l00003ooooo`07o`00
+0?oooooo0000o`000?oooooo0000ooooo`05o`0000?ooooo0ol0001iooooo`00L?ooool:o`0000co
+oooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`02ooooo`06o`000?oooooooooooooo
+ool0003ooooo0ol00002ooooo`Co00000_ooool3o`0007Kooooo001_ooooo`03o`000?oooooo0000
+00[ooooo0_l00007ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool00_l000001Ooo
+oooo0000oooooooooooo000000;ooooo00?o0000ooooool000001Oooool4o`000004ooooool0003o
+0000o`0007?ooooo001^ooooo`03o`000?oooooo000000[ooooo00?o0000ooooooooool03Oooool3
+o`0000Kooooo00Oo0000ooooooooooooooooo`000?oooooo000000Sooooo1ol0001`ooooo`00KOoo
+ool00ol0003oooooo`00000Cooooo`03o`000?oooooooooo00Cooooo0_l00008ooooo`03o`000?oo
+oooooooo00Cooooo0_l0000:ooooo`Ko0000KOooool006cooooo00?o0000ooooool000002?ooool2
+o`0000Wooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`06ooooo`04o`000?oooooo
+ooooo`0000Gooooo0ol0000=ooooo`Go0000J_ooool006_ooooo00Co0000oooooooooooo00001_oo
+ool2o`0000[ooooo00?o0000ooooooooool00oooool2o`000003ooooool0003ooooo00Oooooo00?o
+0000ooooool000001oooool3o`0000oooooo0_l0001Yooooo`00J_ooool01?l0003oooooooooool0
+000Gooooo`;o00000oooool00ol0003oooooooooo`07ooooo`;o00002_ooool00ol0003ooooooooo
+o`0=ooooo`03o`000?oooooooooo06Oooooo001Xooooo`;o00000_ooool00ol0003oooooooooo`02
+ooooo`;o00004?ooool2o`0000Gooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`08
+ooooo`?o00003_ooool00ol0003oooooooooo`1Vooooo`00Ioooool01Ol0003ooooooooooooooooo
+000000Cooooo00?o0000ooooooooool03?ooool01?l0003oooooooooool00007ooooo`03o`000?oo
+oooooooo00Sooooo00?o0000ooooooooool02_ooool2o`0000kooooo00?o0000ooooooooool0IOoo
+ool006Kooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`0@ooooo`04o`000?oooooo
+0000o`0001?ooooo00?o0000ooooooooool02oooool2o`0000kooooo00?o0000ooooooooool0I?oo
+ool006Gooooo00?o0000ooooooooool00_ooool01?l0003oooooo`000?l0000?ooooo`?o00005Ooo
+ool2o`0000kooooo0_l0000<ooooo`0300000?l0003ooooo06Cooooo001Tooooo`03o`000?oooooo
+oooo00;ooooo0ol0000@ooooo`;o00003?ooool00ol0003oooooooooo`08ooooo`03o`000?oooooo
+000000gooooo0ol0000;ooooo`0300000?oooooo000006Cooooo001Sooooo`03o`000?oooooooooo
+00;ooooo00?o0000ooooooooool03oooool2o`0000kooooo00?o0000ooooooooool02?ooool00ol0
+003oooooooooo`0@ooooo`;o00002_ooool00`00003oooooo`00001Sooooo`00HOooool2o`0000?o
+oooo0ol0000@ooooo`;o00003_ooool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo01;o
+oooo00?o0000ooooooooool01oooool01000003oooooooooool0001Rooooo`00H?ooool00ol0003o
+ooooooooo`02ooooo`03o`000?oooooo000000oooooo0ol0000?ooooo`03o`000?oooooooooo00Wo
+oooo00Go0000ooooooooooooooooo`00000@ooooo`?o00002_ooool00ol0003oooooooooo`1Poooo
+o`00Goooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo00cooooo0_l0000Oooooo`04
+o`000?ooooooooooo`0001;ooooo0_l0000:ooooo`03o`000?oooooooooo05oooooo001Nooooo`03
+o`000?oooooooooo00;o00000_ooool00ol0003oooooooooo`0;ooooo`;o00008Oooool01Ol0003o
+oooooooooooooooo000001;ooooo0_l00007ooooo`0400000?ooooooooooo`00063ooooo001Moooo
+o`04o`000?oooooo0000o`0000Cooooo00?o0000ooooooooool02_ooool01Ol0003ooooooooooooo
+oooo000001;ooooo00?o0000ooooooooool02_ooool01Ol0003ooooooooooooooooo000001Cooooo
+0_l00005ooooo`0500000?ooooooooooooooool00000Goooool005cooooo00?o0000ooooooooool0
+1Oooool00ol0003oooooooooo`09ooooo`;o00000oooool00ol0003oooooooooo`0Aooooo`03o`00
+0?oooooooooo00[ooooo00?o0000ooooooooool05_ooool3o`0000Gooooo00D00000oooooooooooo
+ooooo`00001Nooooo`00Foooool2o`0000Kooooo00?o0000ooooooooool02?ooool2o`0000Cooooo
+00?o0000ooooooooool04Oooool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo00?ooooo
+00?o0000ooooooooool04oooool2o`0000Sooooo00?o0000ooooooooool0Foooool005[ooooo0ol0
+0006ooooo`03o`000?oooooooooo00Kooooo0_l0000Jooooo`03o`000?oooooooooo00_ooooo00?o
+0000ooooooooool00oooool00ol0003oooooooooo`0Eooooo`03o`000?oooooooooo00Kooooo00?o
+0000ooooooooool0F_ooool005[ooooo00Co0000oooooooooooo00001?ooool00ol0003ooooooooo
+o`06ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool08Oooool00ol0003ooooooooo
+o`04ooooo`03o`000?oooooooooo01Gooooo00Go0000oooooooooooooooo00000004ooooo`03o`00
+0?oooooooooo05Wooooo001Iooooo`;o00001Oooool2o`0000Oooooo0_l00006ooooo`03o`000?oo
+oooooooo02;ooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`0Fooooo`;o000000?o
+oooo00000?ooool01?ooool00ol0003oooooooooo`1Hooooo`00FOooool2o`0000Gooooo0_l00005
+ooooo`;o00001oooool00ol0003oooooooooo`0Sooooo`03o`000?oooooooooo01kooooo0_l00000
+0oooool00000ooooo`03ooooo`03o`000?oooooooooo05Sooooo001Iooooo`;o00001Oooool00ol0
+003oooooo`000002ooooo`;o00008Oooool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo
+023ooooo0_l00005ooooo`03o`000?oooooooooo05Oooooo001Hooooo`03o`000?oooooo000000Co
+oooo00?o0000ooooooooool00_ooool4o`00023ooooo00?o0000ooooooooool02oooool00ol0003o
+ooooooooo`06ooooo`03o`000?oooooooooo01Sooooo0_l00005ooooo`03o`000?oooooooooo05Ko
+oooo001Hooooo`03o`000?oooooo000000?ooooo00Co0000oooooooooooooooo0_l00004ooooo`03
+o`000?oooooooooo00?ooooo00?o0000ooooooooool05oooool00ol0003oooooooooo`0<ooooo`03
+o`000?oooooooooo00Gooooo00?o0000ooooooooool06_ooool2o`0000Cooooo00?o0000oooooooo
+ool0EOooool005Sooooo00?o0000ooooool000000_ooool00ol0003oooooooooo`02o`0000Wooooo
+00?o0000ooooool00000:Oooool00ol0003oooooooooo`06ooooo`03o`000?oooooooooo01Kooooo
+1?l000000`00003o0000ooooo`03ooooo`03o`000?oooooooooo05Cooooo001Gooooo`04o`000?oo
+oooo0000o`0000;ooooo0ol0000<ooooo`?o0000:?ooool00ol0003oooooooooo`0Iooooo`Co0000
+1Oooool01?l00000000000000?l00004ooooo`03o`000?oooooooooo05?ooooo001Gooooo`05o`00
+0?oooooo0000o`000?ooool00_l0000>ooooo`04o`000?ooooooooooo`0002Oooooo00?o0000oooo
+ooooool05Oooool2o`0000_ooooo00Co000000000?oooooooooo0_l00003ooooo`03o`000?oooooo
+oooo05;ooooo001Fooooo`04o`000?ooooooooooooooo`?o00003_ooool00ol0003oooooooooo`0;
+ooooob;o00001oooool00ol0003oooooooooo`04ooooo`;o00000_ooool2o`0000kooooo00H00000
+oooooooooooooooo00000?l00003ooooo`03o`000?oooooooooo057ooooo001Fooooo`04o`000?oo
+oooooooooooooaoo00003_ooool00ol0003oooooooooo`0=ooooo`04o`000?ooooooooooooooo`So
+000000Coooooo`000?oooooooooo0_l0000Jooooo`;o000000?oooooo`000?ooool0D_ooool005Ko
+oooo00?o0000ooooooooool00_l000000ooooooo0000ooooo`0Eooooo`03o`000?oooooooooo017o
+oooo00?o0000ooooooooool03Oooool00ol0003oooooooooo`08ooooo`Oo00007?ooool00ol0003o
+ooooo`00001Booooo`00EOooool01?l0003oooooooooooooool3o`000003ooooool0003ooooo01Go
+oooo00?o0000ooooooooool08?ooool00ol0003oooooooooo`06ooooo`;o000000?oooooo`000?oo
+ool01?ooool7o`0000_ooooo00Go0000oooooooooooooooo00000006ooooo`?o0000DOooool005Go
+oooo00Co0000oooooooooooooooo0ol00002ooooo`;o00002Oooool00ol0003oooooooooo`0;oooo
+o`03o`000?oooooooooo01gooooo00?o0000ooooooooool00_ooool2o`0000Kooooo00?o0000oooo
+ooooool02Oooool6o`0000Gooooo00Go0000oooooooooooooooo00000007ooooo`0300000?l0003o
+0000053ooooo001Eooooo`03o`000?oooooooooo00Co00001?ooool00ol0003oooooooooo`06oooo
+o`03o`000?oooooooooo00cooooo00?o0000ooooooooool07?ooool01Ol0003ooooooooooooooooo
+000001[ooooo1ol00003ooooo`0300000?oooooooooo00Gooooo00<00000o`000?l00000Coooool0
+05Cooooo00Co0000oooooooooooo00000_ooool00ol0003oooooo`000004ooooo`;o00001Oooool0
+0ol0003oooooooooo`0>ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool03Oooool2
+o`0002Gooooo1ol00006ooooo`;o0000C_ooool005Cooooo00Co0000oooooooooooo00000_ooool0
+0ol0003oooooo`000006ooooo`03o`000?oooooooooo023ooooo00?o0000ooooooooool03?ooool0
+0ol0003oooooo`00000=ooooo`03o`000?oooooooooo01cooooo1ol000000`00003o0000ooooo`1<
+ooooo`00Doooool01?l0003oooooooooool00003ooooo`03o`000?oooooo000000Oooooo00?o0000
+ooooooooool05Oooool2o`0000Sooooo00?o0000ooooooooool02?ooool2o`0000Cooooo00?o0000
+ooooooooool02oooool00ol0003oooooooooo`0Sooooo`?o0000C?ooool005?ooooo00Co0000oooo
+oooooooo00000_ooool01Ol0003ooooooooooooooooo000000Oooooo0ol0000Fooooo`03o`000?oo
+oooooooo00Gooooo00?o0000ooooooooool01_ooool2o`0000Kooooo00?o0000ooooooooool03?oo
+ool00ol0003oooooooooo`0Aooooo`03o`000?oooooooooo00Cooooo00<00000ooooooooool01ooo
+ool00ol0003oooooo`00001<ooooo`00Doooool00ol0003oooooo`000003ooooo`05o`000?oooooo
+ooooooooool000002Oooool00ol0003oooooooooo`0]ooooo`03o`000?oooooooooo00cooooo00?o
+0000ooooooooool04Oooool00ol0003oooooooooo`04ooooo`0300000?oooooooooo00Gooooo0_l0
+00000ooooooo0000o`00001<ooooo`00D_ooool01?l0003oooooooooool00003ooooo`05o`000?oo
+ooooooooooooool000002?ooool00ol0003oooooo`00000Hooooo`?o00001oooool2o`0000[ooooo
+00?o0000ooooooooool07oooool00ol0003oooooooooo`06ooooo`0300000?oooooooooo00?ooooo
+00Go0000ooooooooooooooooo`00001=ooooo`00D_ooool00ol0003oooooo`000004ooooo`03o`00
+0?oooooooooo00;ooooo00?o0000ooooooooool01?ooool01?l0003oooooooooooooool2o`0001Wo
+oooo0_l00003ooooo`;o00002oooool00ol0003oooooooooo`0Pooooo`03o`000?oooooooooo00Ko
+oooo00@00000oooooooooooooooo0_l00003ooooo`;o0000COooool005;ooooo0_l00005ooooo`03
+o`000?oooooooooo00;ooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`0Gooooo`;o
+00003oooool00ol0003oooooooooo`0>ooooo`03o`000?oooooooooo01[ooooo0_l00005ooooo`;o
+0000COooool0057ooooo00?o0000ooooool000001Oooool00ol0003oooooooooo`02ooooo`03o`00
+0?oooooooooo00_ooooo0_l0000Eooooo`?o000000?oooooo`000?ooool03Oooool00ol0003ooooo
+ooooo`0>ooooo`03o`000?oooooooooo01Wooooo00?o0000ooooooooool01?ooool00ol0003ooooo
+o`00001=ooooo`00DOooool2o`0000Gooooo0_l00005ooooo`03o`000?oooooooooo00;ooooo00?o
+0000ooooooooool01oooool00ol0003oooooooooo`0@ooooo`;o00000_ooool01?l0003ooooooooo
+ool0000=ooooo`03o`000?oooooooooo00oooooo00?o0000ooooooooool03Oooool00ol0003ooooo
+ooooo`06ooooo`;o000000<00000ooooooooool01?ooool2o`00000300000?oooooooooo04_ooooo
+001@ooooo`03o`000?oooooo000000Gooooo0_l00005ooooo`03o`000?oooooooooo00;ooooo00?o
+0000ooooooooool02?ooool00ol0003oooooooooo`0Cooooo`03o`000?oooooooooo00kooooo00?o
+0000ooooooooool03oooool00ol0003oooooooooo`0=ooooo`03o`000?oooooooooo00Gooooo00Co
+0000ooooooooool000001Oooool00ol0003oooooo`00001>ooooo`00D?ooool2o`0000Kooooo0_l0
+0006ooooo`04o`000?ooooooooooo`0000cooooo0_l0000<ooooo`;o00002_ooool3o`0000Wooooo
+00?o0000ooooooooool07oooool00ol0003oooooooooo`03ooooo`;o00001?ooool00`00003ooooo
+ooooo`02ooooo`03o`000?oooooo000004kooooo001@ooooo`;o00001oooool00ol0003ooooooooo
+o`04ooooo`03o`000?oooooooooo00oooooo00?o0000ooooooooool02?ooool00ol0003ooooooooo
+o`0=ooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool07oooool00ol0003ooooooooo
+o`02ooooo`03o`000?oooooooooo00Cooooo00D00000ooooooooooooooooo`000002ooooo`03o`00
+0?oooooooooo04cooooo001?ooooo`;o00002?ooool00ol0003oooooooooo`04ooooo`03o`000?oo
+oooooooo013ooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`06ooooo`03o`000?oo
+oooooooo00kooooo00?o0000ooooooooool04?ooool00ol0003oooooooooo`0?ooooo`;o00002ooo
+ool01?l0003oooooooooool0001>ooooo`00Coooool00ol0003oooooooooo`07ooooo`03o`000?oo
+oooooooo00Gooooo00?o0000ooooooooool04?ooool2o`0000?ooooo00?o0000ooooooooool02Ooo
+ool00ol0003oooooooooo`07ooooo`;o00001Oooool00ol0003oooooooooo`0@ooooo`03o`000?oo
+oooooooo00kooooo00?o0000ooooooooool02_ooool01?l0003oooooooooool0001?ooooo`00Cooo
+ool00ol0003oooooooooo`06ooooo`;o00001oooool00ol0003oooooooooo`0Booooo`03o`000?oo
+oooo000000cooooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`02ooooo`03o`000?oo
+oooooooo017ooooo00?o0000ooooooooool02_ooool3o`0000_ooooo00<00000ooooool000000_oo
+ool00ol0003oooooooooo`1=ooooo`00C_ooool00ol0003oooooooooo`07ooooo`;o00001_ooool2
+o`0001Gooooo0_l0000<ooooo`03o`000?oooooooooo00[ooooo00Go0000ooooooooooooooooo`00
+000Cooooo`03o`000?oooooooooo00Wooooo0_l0000=ooooo`0600000?l0003oooooooooo`00003o
+0000Coooool004kooooo00?o0000ooooooooool01oooool2o`0000Kooooo00?o0000ooooool00000
+4?ooool2o`0000Cooooo00?o0000ooooooooool06_ooool00ol0003oooooooooo`0Looooo`;o0000
+3oooool01Ol0003oooooooooo`00003o000004oooooo001>ooooo`;o00002?ooool00ol0003ooooo
+ooooo`07ooooo`03o`000?oooooooooo00gooooo00?o0000ooooooooool01Oooool00ol0003ooooo
+ooooo`0Gooooo`?o00007?ooool2o`000003ooooool0003ooooo00gooooo00Go000000000?oooooo
+ooooo`00001@ooooo`00Coooool00ol0003oooooooooo`06ooooo`03o`000?oooooooooo00Oooooo
+00?o0000ooooooooool03?ooool00ol0003oooooooooo`07ooooo`;o00002?ooool00ol0003ooooo
+ooooo`0>ooooo`03o`000?oooooooooo01;ooooo00?o0000ooooooooool01?ooool00ol0003ooooo
+ooooo`0@ooooo`05o`000?ooooooooooooooool00000D?ooool004oooooo00?o0000ooooooooool0
+1_ooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0
+5oooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00kooooo0_l0000Cooooo`03o`00
+0?oooooooooo00;ooooo0_l0000Booooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0
+C_ooool004oooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`03ooooo`03o`000?oo
+oooooooo00;ooooo00?o0000ooooooooool02?ooool2o`0000kooooo00?o0000ooooooooool01?oo
+ool00ol0003oooooooooo`0>ooooo`03o`000?oooooooooo01?ooooo00Co0000oooooooooooo0000
+1_ooool00ol0003oooooooooo`0;ooooo`06o`000?oooooooooo00000?oooooo0000D?ooool004oo
+oooo0_l00007ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool00oooool00ol0003o
+ooooooooo`06ooooo`;o00004Oooool2o`0000Cooooo00?o0000ooooooooool03_ooool00ol0003o
+ooooooooo`03o`00013ooooo0ol00007ooooo`03o`000?oooooooooo00[ooooo00Ko0000oooooooo
+oooooooo00000?l0001Aooooo`00Coooool2o`0000Oooooo00?o0000ooooooooool02Oooool00ol0
+003oooooooooo`0Jooooo`03o`000?oooooooooo01;ooooo00?o0000ooooooooool00oooool00ol0
+003oooooooooo`0=ooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool02oooool01?l0
+003oooooooooooooool2o`00057ooooo001@ooooo`;o00001_ooool00ol0003oooooooooo`09oooo
+o`04o`000?ooooooooooooooo`;o00006?ooool00ol0003oooooooooo`0Aooooo`03o`000?oooooo
+oooo017ooooo0_l00009ooooo`03o`000?oooooooooo00[ooooo00Oo0000ooooooooooooooooo`00
+0000003o0000057ooooo001@ooooo`03o`000?oooooo000000Gooooo00Go0000oooooooooooooooo
+o`000008ooooo`03o`000?oooooo000001_ooooo0_l0000Aooooo`03o`000?oooooooooo00Gooooo
+0_l00008ooooo`;o00000oooool00ol0003oooooooooo`0Booooo`07o`000?ooooooooooo`000?oo
+ool00000o`00001Aooooo`00D?ooool00ol0003oooooooooo`05ooooo`05o`000?oooooooooooooo
+ool000002?ooool00ol0003oooooooooo`0Looooo`;o00004?ooool00ol0003oooooooooo`07oooo
+o`03o`000?oooooooooo00Cooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`0Aoooo
+o`03o`000?oooooooooo00?ooooo00?o0000ooooooooool0D?ooool0053ooooo00?o0000oooooooo
+ool01?ooool2o`0000;ooooo00?o0000ooooooooool01Oooool3o`0001kooooo00Co0000ooooool0
+003o00003_ooool00ol0003oooooooooo`08ooooo`04o`000?ooooooooooooooo`;o00001oooool0
+0ol0003oooooooooo`03ooooo`03o`000?oooooooooo00[ooooo0ol00003ooooo`03o`000?oooooo
+oooo053ooooo001@ooooo`04o`000?ooooooooooo`0000?ooooo0_l000000ooooooo0000ooooo`06
+ooooo`05o`000?ooooooooooooooool000007Oooool01Ol0003ooooooooooooooooo000000cooooo
+00?o0000ooooooooool03?ooool00ol0003oooooooooo`07ooooo`03o`000?oooooooooo00?ooooo
+00?o0000ooooooooool02Oooool2o`0000Gooooo00?o0000ooooooooool0D?ooool0057ooooo00Co
+0000oooooooooooo00000_ooool2o`0000gooooo00?o0000ooooooooool08?ooool00ol0003ooooo
+ooooo`09ooooo`03o`000?oooooooooo00[ooooo1?l0000>ooooo`03o`000?oooooooooo00Wooooo
+00?o0000ooooooooool01?ooool00ol0003oooooooooo`1@ooooo`00DOooool01_l0003ooooooooo
+oooooooo0000ooooo`;o00001Oooool2o`0000Kooooo00?o0000ooooooooool08Oooool2o`0000Wo
+oooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo00_o
+oooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo057o
+oooo001Aooooo`03o`000?oooooooooo00Cooooo0_l00002ooooo`;o00002Oooool00ol0003ooooo
+ooooo`0Rooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool01oooool2o`0000kooooo
+00?o0000ooooooooool02oooool3o`0000Kooooo00?o0000ooooooooool0DOooool0057ooooo00?o
+0000ooooooooool00oooool00ol0003oooooo`00000=ooooo`03o`000?oooooooooo01[ooooo00?o
+0000ooooooooool01_ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00Kooooo00?o
+0000ooooooooool01oooool2o`0000Gooooo00?o0000ooooooooool02Oooool2o`000003ooooool0
+003ooooo00Gooooo00<00000o`000?ooool0D_ooool005;ooooo00Co0000oooooooooooooooo1?l0
+000=ooooo`03o`000?oooooooooo01[ooooo00?o0000ooooooooool01oooool2o`0000Gooooo00?o
+0000ooooooooool01?ooool2o`0000cooooo00?o0000ooooooooool00oooool01?l0003ooooooooo
+ool0000:ooooo`03o`000?oooooooooo00Cooooo00<00000o`000?ooool0D_ooool005;ooooo00Co
+0000oooooooooooooooo0ol0000?ooooo`03o`000?oooooooooo01Wooooo00?o0000ooooooooool0
+2Oooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo00;ooooo0_l0000?ooooo`03o`00
+0?oooooooooo00Gooooo00?o0000ooooooooool00_ooool2o`0000?ooooo00?o0000ooooooooool0
+1_ooool00ol0003oooooooooo`1Aooooo`00D_ooool00ol0003oooooooooo`02ooooo`Co00000_oo
+ool3o`0000Sooooo00?o0000ooooooooool06Oooool00ol0003oooooooooo`0:ooooo`;o00000_oo
+ool01Ol0003ooooooooooooooooo000001Wooooo00Go0000ooooooooooooooooo`000005ooooo`03
+o`000?oooooooooo00Gooooo00?o0000ooooooooool0D_ooool005;ooooo00?o0000ooooooooool0
+0_ooool00ol0003oooooooooo`06ooooo`03o`000?oooooooooo00Co000000?oooooo`000?ooool0
+:Oooool01?l0003oooooo`000?ooool2o`0001Cooooo0_l00004ooooo`04o`000?ooooooooooo`00
+00Gooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`1Booooo`00D_ooool00ol0003o
+ooooooooo`02ooooo`;o00000_ooool00ol0003oooooooooo`0;ooooo`Co00000_ooool3o`0002;o
+oooo0ol0000Hooooo`03o`000?oooooo000000[ooooo00?o0000ooooooooool01_ooool00ol0003o
+ooooooooo`1Booooo`00Doooool01Ol0003ooooooooooooooooo000000Cooooo00?o0000oooooooo
+ool02_ooool00ol0003oooooooooo`06ooooo`04o`000?ooooooooooooooo`?o00002oooool00ol0
+003oooooooooo`0=ooooo`?o00006Oooool2o`000003ooooool0003o000000Kooooo00?o0000oooo
+ooooool01_ooool00`00003o0000ooooo`1Cooooo`00Doooool01Ol0003ooooooooooooooooo0000
+00;ooooo00Co0000oooooooooooo00003?ooool00ol0003oooooooooo`0?ooooo`Co00001?ooool0
+0ol0003oooooooooo`0:ooooo`?o000000?oooooo`000?ooool00ol00003ooooo`?o00000oooool4
+o`0000;ooooo1?l00002ooooo`Co00002?ooool00ol0003oooooooooo`06ooooo`03o`000?oooooo
+oooo05?ooooo001Cooooo`05o`000?ooooooooooooooool000000_ooool00ol0003oooooooooo`0=
+ooooo`03o`000?oooooooooo01Gooooo1_l00002ooooo`[o000000Goooooo`000?l0003o0000oooo
+o`02o`0001Gooooo0_l000000ooooooo0000ooooo`05ooooo`03o`000?oooooooooo00Oooooo00?o
+0000ooooooooool0Doooool005?ooooo00Go0000ooooooooooooooooo`000003ooooo`03o`000?oo
+oooooooo00;ooooo00?o0000ooooooooool01oooool00ol0003oooooooooo`0Gooooo`03o`000?oo
+oooooooo00Cooooo0ol00007ooooo`03o`000?oooooooooo00?ooooo0_l0000Aooooo`;o000000Co
+ooooo`000?oooooo00001_ooool00ol0003oooooooooo`07ooooo`03o`000?oooooooooo05?ooooo
+001Dooooo`04o`000?ooooooooooo`0000?ooooo00?o0000ooooooooool00oooool00ol0003ooooo
+ooooo`07ooooo`03o`000?oooooooooo01Kooooo00Co0000oooooooooooooooo0ol00009ooooo`03
+o`000?oooooooooo00Kooooo00?o0000ooooooooool04?ooool01Ol0003ooooooooooooooooo0000
+00Cooooo00?o0000ooooooooool01oooool00`00003o0000ooooo`1Dooooo`00E?ooool01?l0003o
+ooooooooool0000:ooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool05_ooool4o`00
+00cooooo00?o0000ooooooooool01oooool2o`0000_ooooo00?o0000ooooooooool00_ooool00ol0
+003oooooooooo`06ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool0E?ooool005Co
+oooo00Co0000oooooooooooo00004oooool00ol0003oooooooooo`0Dooooo`?o00003oooool00ol0
+003oooooooooo`09ooooo`;o00002?ooool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo
+00Oooooo00<00000o`000?ooool0EOooool005Cooooo00Co0000oooooooooooo00001?ooool00ol0
+003oooooooooo`06ooooo`;o00001Oooool00ol0003oooooooooo`0@ooooo`?o00004_ooool00ol0
+003oooooooooo`0;ooooo`;o00001Oooool00ol0003oooooooooo`0:ooooo`03o`000?oooooo0000
+00Wooooo00<00000o`000?ooool0EOooool005Cooooo00Co0000oooooooooooo00001Oooool00ol0
+003oooooooooo`07ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool03Oooool3o`00
+01Gooooo00?o0000ooooooooool03Oooool2o`0000Wooooo00?o0000ooooooooool01Oooool00ol0
+003oooooooooo`09ooooo`03o`000?oooooooooo05Cooooo001Eooooo`;o00001oooool00ol0003o
+ooooooooo`0;ooooo`03o`000?oooooooooo00[ooooo0ol00008ooooo`03o`000?oooooooooo00go
+oooo00?o0000ooooooooool03_ooool3o`0000Oooooo00?o0000ooooooooool01Oooool2o`0000Wo
+oooo00?o0000ooooooooool0EOooool005Gooooo0_l0000Cooooo`04o`000?ooooooooooo`0000So
+oooo0ol0000;ooooo`03o`000?oooooooooo00cooooo00?o0000ooooooooool03_ooool01?l0003o
+ooooooooooooool2o`0000Cooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`09oooo
+o`03o`000?oooooooooo05Gooooo001Eooooo`;o00005?ooool00ol0003oooooo`000005ooooo`?o
+00003_ooool00ol0003oooooooooo`0<ooooo`03o`000?oooooooooo01Cooooo0_l0000:ooooo`03
+o`000?oooooooooo00Wooooo00?o0000ooooooooool0EOooool005Gooooo0_l00008ooooo`03o`00
+0?oooooooooo00[ooooo0_l00002ooooo`?o00004Oooool00ol0003oooooooooo`0<ooooo`03o`00
+0?oooooooooo00_ooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`06ooooo`03o`00
+0?oooooooooo00;ooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`1Eooooo`00EOoo
+ool2o`0000Sooooo00?o0000ooooooooool01_ooool8o`0002?ooooo00?o0000ooooooooool02_oo
+ool00ol0003oooooooooo`0:ooooo`;o00001_ooool00ol0003oooooooooo`03ooooo`03o`000?oo
+oooooooo00?ooooo00<00000o`000?ooool0E_ooool005Kooooo00?o0000ooooooooool00oooool<
+o`0000Kooooo0_l0000Sooooo`03o`000?oooooooooo00Wooooo00?o0000ooooooooool02oooool0
+1?l0003oooooo`000?l00003ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool00_oo
+ool00ol0003oooooooooo`1Fooooo`00E_ooool6o`0000Gooooo00?o0000ooooooooool02oooool2
+o`0001?ooooo00?o0000ooooooooool03?ooool00ol0003oooooooooo`06ooooo`03o`000?oooooo
+oooo00kooooo00Co0000oooooooooooooooo0_l000000ooooooo0000ooooo`0;ooooo`03o`000?oo
+oooooooo05Kooooo001Hooooo`03o`000?oooooooooo01Gooooo0_l0000Booooo`03o`000?oooooo
+oooo00_ooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`0>ooooo`03o`000?oooooo
+oooo00Cooooo0ol0000;ooooo`03o`000?oooooooooo05Kooooo001Iooooo`03o`000?oooooooooo
+01Gooooo00?o0000ooooooooool04?ooool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo
+00Gooooo00?o0000ooooooooool05Oooool01?l0003oooooooooooooool5o`0000?ooooo00Co0000
+ooooo`00003o0000F?ooool005[ooooo0_l00006ooooo`03o`000?oooooooooo00cooooo00?o0000
+ooooooooool00_l0000>ooooo`03o`000?oooooooooo00_ooooo00?o0000ooooooooool07?ooool0
+0ol0003oooooooooo`07ooooo`Ko0000FOooool005_ooooo0_l00006ooooo`03o`000?oooooooooo
+00cooooo00Go0000ooooooooooooooooo`00000Kooooo`04o`000?ooooooooooooooo`;o00004_oo
+ool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo00cooooo0_l0001Iooooo`00GOooool0
+0ol0003oooooooooo`04ooooo`03o`000?oooooooooo00cooooo00?o0000ooooooooool07?ooool0
+1?l0003oooooo`000?l0000Dooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool03?oo
+ool00ol0003oooooooooo`1Iooooo`00G_ooool2o`0001?ooooo00?o0000ooooooooool00oooool0
+0ol0003oooooooooo`0Fooooo`03o`000?oooooooooo01Cooooo00?o0000ooooooooool00_ooool0
+0ol0003oooooooooo`0;ooooo`;o0000G?ooool005oooooo0_l0000Cooooo`03o`000?oooooooooo
+00?ooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`09ooooo`;o00005_ooool01Ol0
+003ooooooooooooooooo000000gooooo00?o0000ooooooooool0G?ooool0063ooooo0_l00003oooo
+o`03o`000?oooooooooo00gooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`07oooo
+o`03o`000?oooooooooo00Sooooo0_l0000Jooooo`03o`000?oooooooooo00Sooooo0P000002o`00
+05oooooo001Rooooo`;o000000?oooooo`000?ooool03oooool00ol0003oooooooooo`0<ooooo`03
+o`000?oooooooooo00Oooooo00?o0000ooooool000006Oooool00ol0003oooooooooo`08ooooo`03
+00000?oooooo0000067ooooo001Sooooo`;o000000?oooooo`000?ooool03_ooool00ol0003ooooo
+ooooo`05ooooo`03o`000?oooooooooo013ooooo00?o0000ooooooooool05?ooool00ol0003ooooo
+o`00000:ooooo`0300000?oooooo000006;ooooo001Tooooo`Co00003oooool00ol0003ooooooooo
+o`05ooooo`03o`000?oooooooooo00Wooooo0_l00004ooooo`03o`000?oooooooooo01Cooooo0_l0
+0008ooooo`0300000?oooooooooo00;o0000Hoooool006Gooooo0ol0000@ooooo`03o`000?oooooo
+oooo00Gooooo00?o0000ooooooooool01oooool00ol0003oooooooooo`04ooooo`03o`000?oooooo
+oooo01?ooooo0_l00008ooooo`0400000?ooooooooooo`0006Gooooo001Wooooo`;o00003oooool0
+0ol0003oooooooooo`0:ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool05?ooool0
+0ol0003oooooooooo`06ooooo`0400000?oooooo0000o`0006Kooooo001Xooooo`?o00003_ooool0
+0ol0003oooooooooo`07ooooo`Go00002?ooool00ol0003oooooooooo`0Cooooo`03o`000?oooooo
+oooo00?ooooo0P000003ooooo`03o`000?oooooooooo06Kooooo001Yooooo`03o`000?oooooo0000
+00kooooo00?o0000ooooooooool01oooool4o`0000Sooooo00?o0000ooooooooool04_ooool00ol0
+003oooooooooo`03ooooo`0400000?ooooooooooooooo`;o0000JOooool006[ooooo0ol00003oooo
+o`?o00000oooool4o`000003ooooool0003o000000?o00000_ooool2o`000005ooooool0003ooooo
+ooooool000000_ooool4o`000003ooooool0003ooooo01;ooooo00?o0000ooooool000000oooool0
+1@00003ooooooooooooooooo000006_ooooo001/ooooo`?o00003?ooool00ol0003oooooooooo`08
+ooooo`03o`000?oooooooooo00Oooooo1Ol00002ooooo`Co00002?ooool00ol0003oooooooooo`02
+000000Cooooo0_l0001/ooooo`00KOooool3o`0000cooooo00?o0000ooooooooool01oooool00ol0
+003oooooooooo`07ooooo`03o`000?oooooooooo00_ooooo0ol000001Ooooooo0000ooooool00000
+000000Gooooo00?o0000ooooooooool0K?ooool006oooooo0_l0000<ooooo`03o`000?oooooooooo
+013ooooo00?o0000ooooooooool03_ooool01?l0003oooooooooo`000005ooooo`03o`000?oooooo
+oooo06gooooo001`ooooo`?o00002_ooool00ol0003oooooooooo`0?ooooo`03o`000?oooooooooo
+00kooooo00Co0000ooooooooool000001?ooool2o`00073ooooo001aooooo`?o00002_ooool00ol0
+003oooooooooo`06ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool03Oooool00ol0
+003oooooooooo`05ooooo`03o`000?oooooooooo073ooooo001cooooo`;o00002_ooool00ol0003o
+ooooooooo`05ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool03?ooool00ol0003o
+oooo00000004ooooo`;o0000Loooool007Cooooo0ol00009ooooo`03o`000?oooooooooo00Cooooo
+00?o0000ooooooooool01Oooool00ol0003oooooooooo`0;ooooo`03o`000?ooool0000000Cooooo
+00?o0000ooooooooool0Loooool007Kooooo0_l00008ooooo`03o`000?oooooooooo00Cooooo00?o
+0000ooooooooool01Oooool00ol0003oooooooooo`0:ooooo`03o`000?ooool0000000?ooooo0_l0
+001fooooo`00Moooool2o`0000Sooooo00?o0000ooooooooool02oooool00ol0003oooooooooo`09
+ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool0M_ooool007Sooooo0ol00007oooo
+o`03o`000?oooooooooo00Wooooo00?o0000ooooooooool02Oooool00ol000000000ooooo`02oooo
+o`;o0000NOooool007[ooooo0_l00006ooooo`03o`000?oooooooooo00?ooooo00?o0000oooooooo
+ool00oooool00ol0003oooooooooo`08ooooo`03o`000000003ooooo00;ooooo00?o0000oooooooo
+ool0NOooool007_ooooo0_l00006ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0
+0oooool00ol0003oooooooooo`07ooooo`03o`000000003ooooo00;ooooo00?o0000ooooooooool0
+N_ooool007gooooo0_l00005ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool00_oo
+ool00ol0003oooooooooo`06ooooo`04o`000?ooooooooooooooo`;o0000OOooool007kooooo0_l0
+0005ooooo`05o`000?ooooooooooooooool000001?ooool00ol0003oooooooooo`05ooooo`05o`00
+0000003oooooooooool00000Ooooool0083ooooo0_l00003ooooo`03o`000?oooooooooo00Kooooo
+00?o0000ooooooooool01?ooool00ol000000000ooooo`02o`00083ooooo0021ooooo`;o00000ooo
+ool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo00Cooooo00Co000000000?oooooo0000
+P_ooool008;ooooo0_l00003ooooo`04o`000?ooooooooooo`0000;ooooo00?o0000ooooooooool0
+0oooool01?l0003oooooo`000?l00023ooooo`00Q?ooool2o`000005ooooool0003oooooooooool0
+00000_ooool00ol0003oooooooooo`02ooooo`03o`000?oooooo000008Gooooo0025ooooo`;o0000
+00Ooooooo`000?ooooooooooo`000?oooooo000000?ooooo0ol00026ooooo`00Qoooool01ol0003o
+ooooo`000?oooooo0000ooooool000000_ooool2o`0008Sooooo0028ooooo`?o00000_ooool01?l0
+003oooooo`000?l00029ooooo`00ROooool2o`000003ooooool00000000000;o0000R_ooool008_o
+oooo0ol0002<ooooo`00S?ooool00ol0003oooooooooo`2;ooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.50377 .45486 m
+.66737 .55927 L
+s
+.50377 .45486 m
+.50456 .57112 L
+s
+.60098 .40621 m
+.50377 .45486 L
+s
+.34123 .56184 m
+.50377 .45486 L
+s
+.5 .27523 m
+.50377 .45486 L
+s
+.40401 .40824 m
+.50377 .45486 L
+s
+.50456 .57112 m
+.66737 .55927 L
+s
+.34123 .56184 m
+.50456 .57112 L
+s
+.504 .67296 m
+.50456 .57112 L
+s
+.40401 .40824 m
+.34123 .56184 L
+s
+.32366 .38575 m
+.34123 .56184 L
+s
+.28124 .50193 m
+.34123 .56184 L
+s
+.3111 .62572 m
+.34123 .56184 L
+s
+.39633 .67987 m
+.34123 .56184 L
+s
+.504 .67296 m
+.34123 .56184 L
+s
+.60098 .40621 m
+.66737 .55927 L
+s
+.67733 .38198 m
+.66737 .55927 L
+s
+.72028 .49805 m
+.66737 .55927 L
+s
+.69003 .62312 m
+.66737 .55927 L
+s
+.6091 .67859 m
+.66737 .55927 L
+s
+.504 .67296 m
+.66737 .55927 L
+s
+.40401 .40824 m
+.5 .27523 L
+s
+.32366 .38575 m
+.40401 .40824 L
+s
+.67733 .38198 m
+.60098 .40621 L
+s
+.5 .27523 m
+.60098 .40621 L
+s
+.504 .67296 m
+.39633 .67987 L
+s
+.504 .67296 m
+.5 .75807 L
+s
+.504 .67296 m
+.6091 .67859 L
+s
+.5 .27523 m
+.67733 .38198 L
+s
+.32366 .38575 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.61086 .30766 m
+.5 .27523 L
+s
+.49523 .29392 m
+.5 .27523 L
+s
+.38415 .31036 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.28124 .50193 m
+.32366 .38575 L
+s
+.38415 .31036 m
+.32366 .38575 L
+s
+.28742 .42472 m
+.32366 .38575 L
+s
+.39633 .67987 m
+.3111 .62572 L
+s
+.5 .75807 m
+.39633 .67987 L
+s
+.72028 .49805 m
+.67733 .38198 L
+s
+.0035 w
+[ ] 0 setdash
+.70404 .42053 m
+.67733 .38198 L
+s
+.61086 .30766 m
+.67733 .38198 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.6091 .67859 m
+.5 .75807 L
+s
+.6091 .67859 m
+.69003 .62312 L
+s
+.0035 w
+[ ] 0 setdash
+.28742 .42472 m
+.28124 .50193 L
+s
+.3111 .62572 m
+.28124 .50193 L
+s
+.70404 .42053 m
+.72028 .49805 L
+s
+.69003 .62312 m
+.72028 .49805 L
+s
+.38415 .31036 m
+.49523 .29392 L
+s
+.28742 .42472 m
+.38415 .31036 L
+s
+.3111 .62572 m
+.28742 .42472 L
+s
+.3111 .62572 m
+.37335 .61763 L
+s
+.5 .75807 m
+.3111 .62572 L
+s
+.61086 .30766 m
+.70404 .42053 L
+s
+.49523 .29392 m
+.61086 .30766 L
+s
+.69003 .62312 m
+.70404 .42053 L
+s
+.69003 .62312 m
+.62124 .6159 L
+s
+.69003 .62312 m
+.5 .75807 L
+s
+.5 .75807 m
+.37335 .61763 L
+s
+.5 .75807 m
+.49484 .56187 L
+s
+.5 .75807 m
+.62124 .6159 L
+s
+.49523 .29392 m
+.70404 .42053 L
+s
+.49388 .40451 m
+.49523 .29392 L
+s
+.28742 .42472 m
+.49523 .29392 L
+s
+.37335 .61763 m
+.28742 .42472 L
+s
+.49484 .56187 m
+.37335 .61763 L
+s
+.62124 .6159 m
+.70404 .42053 L
+s
+.62124 .6159 m
+.49484 .56187 L
+s
+.28742 .42472 m
+.49388 .40451 L
+s
+.49484 .56187 m
+.28742 .42472 L
+s
+.49388 .40451 m
+.70404 .42053 L
+s
+.49484 .56187 m
+.70404 .42053 L
+s
+.49484 .56187 m
+.49388 .40451 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00RP3oool5000008/0oooo00270?ooo`<000000_l0
+00000`00003o0000o`000003000008P0oooo00240?ooo`<000000`3oool01Ol00000oooo0000003o
+oooo000000<0oooo100000240?ooo`00P03oool400000080oooo0_l000030?ooo`0300000?l00000
+oooo00<0oooo0_l000030?ooo`<00000P@3oool007d0oooo0`0000050?ooo`03o`00003oool0oooo
+00<0oooo00<000000?ooo`3oool01@3oool00ol00000oooo0?ooo`030?ooo`@00000O@3oool007X0
+oooo0`0000070?ooo`04o`00003oool0oooo0?ooo`P0000000Go00000?ooo`3oool0ooooo`000008
+0?ooo`<00000NP3oool007L0oooo0`0000070?ooo`L0000000Ko00000000003oool00000o`000000
+00020?ooo`P00000203oool3000007L0oooo001c0?ooo`@00000103oool6000000H0oooo0P000002
+0?ooo`0300000?l00000oooo0080000000<0ooooo`00003oool01@3oool8000000<0oooo1000001c
+0?ooo`00L03oool300000080oooo1P0000040?ooo`03o`00003oool0oooo00<0oooo0P0000040?oo
+o`0300000?l00000oooo0080oooo0P0000070?ooo`03o`00003oool0oooo00@0oooo2P00001`0?oo
+o`00K@3oool8000000l0oooo00<000000?ooo`3oool0103oool00`00003o00000?ooo`040?ooo`03
+0000003oool0oooo00L0oooo00?o00000?ooo`3oool02@3oool4000006h0oooo001[0?ooo`<00000
+3@3oool2o`0000D0oooo0P0000000`3ooooo00000?ooo`040?ooo`030000003oool0oooo00D0oooo
+0P0000080?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`3oool0K03oool006/0oooo00<0
+00000?ooo`3oool0303oool00ol00000oooo0?ooo`040?ooo`040000003oool0ooooo`0000H0oooo
+00<000000?ooo`3oool01P3oool00ol0000000000?ooo`070?ooo`03o`00003oool0oooo00/0oooo
+00<000000?ooo`3oool0J`3oool006X0oooo00<000000?ooo`3oool04P3oool200000080oooo00?o
+00000?ooo`3oool01@3oool00`00003o00000?ooo`070?ooo`03o`0000000000000001D0oooo00<0
+00000?ooo`3oool0JP3oool006T0oooo00<000000?ooo`3oool02`3oool00ol00000oooo0?ooo`03
+0?ooo`800000303oool00`00003o00000?ooo`0:0?ooo`8000001`3oool3o`0000X0oooo00<00000
+0?ooo`3oool0J@3oool006P0oooo00<000000?ooo`3oool02`3oool00ol00000oooo0?ooo`030?oo
+o`030000003oool0oooo00`0oooo00<00000o`00003oool0303oool00`000000oooo0?ooo`070?oo
+o`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool0J03oool006L0oooo0P00000<0?ooo`03
+o`00003oool0oooo0080oooo0P0000050?ooo`03o`00003oool0oooo00L0oooo00<00000o`00003o
+ool02@3oool01?l00000oooo0?ooo`3oool200000180oooo0P00001Y0?ooo`00IP3oool2000000T0
+oooo0_l000060?ooo`030000003oool0oooo00@0oooo00?o00000?ooo`3oool0203oool00`000000
+oooo0?ooo`0:0?ooo`03o`00003oool0oooo0080oooo0P0000070?ooo`?o00001`3oool2000006P0
+oooo001V0?ooo`030000003oool0oooo00L0oooo00?o00000?ooo`3oool0103oool2000000H0oooo
+00?o00000?ooo`3oool02@3oool00`000000oooo0?ooo`0;0?ooo`03o`00003oool0oooo00<0oooo
+00<000000?ooo`3oool01`3oool00ol00000oooo0?ooo`050?ooo`800000I`3oool006D0oooo00<0
+00000?ooo`3oool01`3oool00ol00000oooo0?ooo`030?ooo`800000503oool00`00003o00000?oo
+o`0B0?ooo`800000403oool2000006H0oooo001T0?ooo`030000003oool0oooo00d0oooo00<00000
+0?ooo`3oool0503oool00`00003o00000?ooo`0=0?ooo`03o`00003oool0oooo00@0oooo00<00000
+0?ooo`3oool01`3oool2o`0000D0oooo0P00001U0?ooo`00H`3oool2000000L0oooo0_l000040?oo
+o`8000002P3oool00ol00000oooo0?ooo`0:0?ooo`0300000?l00000oooo00d0oooo00?o00000?oo
+o`3oool01@3oool2000000T0oooo00?o00000?ooo`3oool00`3oool2000006@0oooo001R0?ooo`80
+00001P3oool2o`0000D0oooo00<000000?ooo`3oool02@3oool00ol00000oooo0?ooo`0:0?ooo`03
+0000003ooooo000000l0oooo00?o00000?ooo`3oool01P3oool2000000d0oooo0P00001T0?ooo`00
+H@3oool2000000`0oooo0P00000;0?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`3oool0
+403oool00ol00000oooo0?ooo`070?ooo`030000003oool0oooo00L0oooo00Co00000?ooo`3oool0
+oooo0P00001S0?ooo`00H03oool00`000000oooo0?ooo`030?ooo`;o00001@3oool2000001/0oooo
+00<000000?ooo`3oool06`3oool2000000P0oooo00Co00000?ooo`3oool0oooo0P00001R0?ooo`00
+H03oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool0
+6`3oool00`000000oooo0?ooo`0B0?ooo`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool0
+1P3oool01?l00000oooo0?ooo`3oool200000640oooo001O0?ooo`030000003oool0oooo00P0oooo
+0P00000>0?ooo`03o`00003oool0oooo00d0oooo00<000000?ooool000004P3oool00ol00000oooo
+0?ooo`090?ooo`8000002@3oool2o`0000800000H03oool005h0oooo00D000000?ooo`3oool0oooo
+o`0000060?ooo`030000003oool0oooo00d0oooo00?o00000?ooo`3oool03P3oool00`000000oooo
+o`00000C0?ooo`03o`00003oool0oooo00X0oooo0P0000090?ooo`030000003oool0000005l0oooo
+001M0?ooo`050000003oool0oooo0?ooool000001@3oool2000000l0oooo00?o00000?ooo`3oool0
+3`3oool010000000oooo0?ooool0000C0?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`3o
+ool01`3oool00`000000oooo0000001N0?ooo`00G03oool01@000000oooo0?ooo`3ooooo000000D0
+oooo00<000000?ooo`3oool08@3oool00`000000oooo0?ooo`0S0?ooo`800000203oool00`000000
+oooo0000001M0?ooo`00F`3oool200000003o`00003oool0oooo00@0oooo0P00000T0?ooo`030000
+003oool0oooo01H0oooo00?o00000?ooo`3oool0303oool00`000000oooo0?ooo`060?ooo`030000
+0?l00000000005`0oooo001K0?ooo`030000003oool0oooo00@0oooo0P00000B0?ooo`03o`00003o
+ool0oooo0140oooo00<000000?ooo`3oool05P3oool00ol00000oooo0?ooo`0=0?ooo`8000001`3o
+ool00`00003o00000000001K0?ooo`00FP3oool00`00003o0000o`0000040?ooo`030000003oool0
+oooo0180oooo00?o00000?ooo`3oool04@3oool010000000oooo0?ooool0000F0?ooo`03o`00003o
+ool0oooo00h0oooo0P0000040?ooo`04o`0000000000oooo000005/0oooo001I0?ooo`8000000P3o
+ool01?l00000oooo00000000000D0?ooo`03o`00003oool0oooo0180oooo00@000000?ooo`3ooooo
+0000:@3oool00`00003o00000?ooo`030?ooo`<00000FP3oool005P0oooo0`0000001Ol00000oooo
+0?ooo`000000oooo00Co00009P3oool010000000oooo0?ooool0000W0?ooo`;o000000<0oooo0000
+00000000103oool3000005T0oooo001G0?ooo`050000003oool000000?ooool000000P0000080?oo
+o`?o00008@3oool010000000oooo0?ooool0000H0?ooo`03o`00003oool0oooo00H0oooo1?l00007
+0?ooo`8000000`3oool2000005T0oooo001F0?ooo`030000003oool0oooo00<000003@3oool00ol0
+0000oooo0?ooo`070?ooo`03o`00003oool0oooo01@0oooo00<000000?ooo`3oool06P3oool01?l0
+0000oooo0?ooo`3oool2o`0000l0oooo00@000000?ooo`3oool0oooo0P00001H0?ooo`00E@3oool0
+1@000000oooo0?ooo`3oool000000180oooo0ol000030?ooo`03o`00003oool0oooo0100oooo3000
+000G0?ooo`?o00004P3oool200000080oooo0P00001G0?ooo`00E03oool2000000030?ooo`000000
+00000080oooo00?o00000?ooo`3oool04@3oool00ol00000ooooo`000002o`0000L0oooo2P000005
+0?ooo`040000003oool0ooooo`0000<0oooo3000000:0?ooo`;o0000503oool00ol00000oooo0000
+0003000005L0oooo001D0?ooo`050000003oool000000?ooo`0000000P3oool00ol00000oooo0?oo
+o`0C0?ooo`03o`0000000000000000L000003`3oool010000000oooo0?ooool0000?0?ooo``00000
+503oool00ol00000oooo0?ooo`04000005H0oooo001C0?ooo`<000000P3oool010000000oooo0?oo
+ool0000<0?ooo`X00000603oool010000000oooo0?ooool0000D0?ooo`;o00001@3oool;000000T0
+oooo00Co00000?ooo`3oool0oooo0`00001F0?ooo`00DP3oool2000000<0oooo00D000000?ooo`3o
+ool0ooooo`0000020?ooo`X00000203oool00ol00000oooo0?ooo`040?ooo`;o00004@3oool01000
+0000oooo0?ooool0000C0?ooo`03o`00003oool0oooo0100oooo300000040?ooo`030000003oool0
+oooo05<0oooo001A0?ooo`040000003oool0oooo0?ooo`T000006`3oool00ol00000oooo0?ooo`0>
+0?ooo`030000003oool0oooo01<0oooo00?o00000?ooo`3oool07@3oool6000005@0oooo001@0?oo
+o`D000009`3oool2o`0000`0oooo00<000000?ooo`3oool03`3oool2o`0000d0oooo00?o00000?oo
+o`3oool03`3oool00ol00000oooo0?ooo`020?ooo`80000000<0oooo0000003oool0D`3oool00500
+oooo00<000000?ooo`0000002@3oool00ol00000oooo0?ooo`0@0?ooo`03o`00003oool0oooo00`0
+oooo00?o00000?ooo`3oool02@3oool010000000oooo0?ooool0000=0?ooo`03o`00003oool0oooo
+00d0oooo00?o00000?ooo`3oool03`3oool01?l00000oooo0?ooo`3oool2000000030?ooo`000000
+000005@0oooo001@0?ooo`80000000D0oooo000000000000oooo000000050?ooo`03o`00003oool0
+oooo0100oooo00?o00000?ooo`3oool03@3oool00ol00000oooo0?ooo`080?ooo`040000003oool0
+ooooo`0001h0oooo00?o00000?ooo`3oool03P3oool01?l00000oooo0?ooo`0000020?ooo`@00000
+D`3oool00500oooo0P0000030?ooo`8000001@3oool00ol00000oooo0?ooo`0?0?ooo`03o`00003o
+ool0oooo0140oooo0_l000060?ooo`040000003oool0ooooo`0000T0oooo0_l0000C0?ooo`03o`00
+003oool0oooo00h0oooo00?o00000000000000000`3oool4000005<0oooo001@0?ooo`030000003o
+ool000000080oooo0`0000040?ooo`03o`00003oool0oooo00l0oooo00?o00000?ooo`3oool04`3o
+ool00ol00000oooo0?ooo`030?ooo`040000003oool0ooooo`0000L0oooo0_l0000V0?ooo`030000
+003oool0oooo00<0oooo00@000000?ooo`0000000000D`3oool00500oooo0`0000050?ooo`800000
+<03oool00`000000oooo0?ooo`0^0?ooo`8000001P3oool010000000oooo00000000001C0?ooo`00
+D03oool3000000L0oooo00<000000?ooo`3oool0:P3oool3o`0000030000003oool0oooo00@0oooo
+0_l0000J0?ooo`03o`00003oool0oooo00X0oooo00@000000?ooo`3ooooo0000103oool01P000000
+oooo0?ooo`000000oooo00000580oooo001@0?ooo`80000000<0oooo0000000000001P3oool20000
+00l0oooo00?o00000?ooo`3oool06`3oool010000000oooo0?ooool000020?ooo`03o`00003oool0
+oooo01X0oooo00?o00000?ooo`3oool0203oool2000000<0oooo00?o00000?ooo`3oool00P3oool0
+1P000000oooo000000000000oooo00000580oooo001@0?ooo`80000000<0oooo0000000000001`3o
+ool00ol0000000000?ooo`0=0?ooo`03o`00003oool0oooo01/0oooo00@000000?ooo`3ooooo0000
+803oool00ol00000oooo0?ooo`060?ooo`030000003oool0oooo00<0oooo00Go00000?ooo`3oool0
+oooo000000020?ooo`040000003oool0000000000580oooo001@0?ooo`80000000<0oooo00000000
+0000203oool00ol0000000000000000;0?ooo`03o`00003oool0oooo01`0oooo00<000000?ooo`3o
+ool00_l0000O0?ooo`03o`00003oool0oooo00@0oooo0P0000060?ooo`05o`00003oool0oooo0?oo
+o`0000000P3oool010000000oooo00000000001B0?ooo`00D03oool2000000030?ooo`0000000000
+00P0oooo00Co00000?ooo`3oool00000:@3oool01P00003o00000?ooool00000ooooo`0002@0oooo
+00<000000?ooo`3oool02P3oool010000000oooo0?ooo`0000030?ooo`030000003oool0oooo04l0
+oooo001@0?ooo`8000000`3oool00`000000oooo0?ooo`090?ooo`8000009P3oool01Ol000000000
+0?ooo`3ooooo000002@0oooo0P00000<0?ooo`050000003oool0oooo0?ooo`0000000`3oool00`00
+0000oooo0?ooo`1?0?ooo`00C`3oool00`000000oooo000000030?ooo`030000003oool0oooo00/0
+oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`0M0?ooo`030000003oool0oooo00D0
+oooo0ol0000K0?ooo`03o`0000000000oooo00d0oooo00D000000?ooo`3oool0oooo000000020?oo
+o`800000D@3oool004l0oooo00@000000?ooo`3oool000000`3oool00`000000oooo0?ooo`0;0?oo
+o`800000103oool00ol00000oooo0?ooo`0I0?ooo`05o`00003oool0oooo0?ooo`0000002P3oool0
+0ol00000oooo0?ooo`0G0?ooo`8000002`3oool01?l00000oooo0?ooo`0000040?ooo`030000003o
+ool0oooo00800000D@3oool004l0oooo00@000000?ooo`3oool000000`3oool00`000000oooo0?oo
+o`040?ooo`03o`00003oool0oooo00H0oooo0P0000000`3ooooo00000?ooo`0J0?ooo`03o`00003o
+ool0oooo0080oooo00<000000?ooo`3oool08@3oool010000000oooo0?ooool0000:0?ooo`04o`00
+003oool0oooo000000@0oooo00D000000?ooo`3oool0oooo0000001A0?ooo`00C`3oool010000000
+oooo0000000000030?ooo`030000003oool0oooo00@0oooo00?o00000?ooo`3oool0203oool00`00
+003o00000?ooo`0I0?ooo`03o`00003oool0oooo00<0oooo00@000000?ooo`3ooooo00002@3oool2
+o`0001<0oooo0P00000>0?ooo`04o`00003oool0oooo000000@0oooo00@000000?ooo`3oool0oooo
+0P00001@0?ooo`00C`3oool010000000oooo0000000000040?ooo`030000003oool0oooo00<0oooo
+00?o00000?ooo`3oool02@3oool2000001D0oooo0_l000080?ooo`040000003oool0ooooo`0000/0
+oooo00?o00000?ooo`3oool03`3oool00`000000oooo0?ooo`0@0?ooo`030000003oool0oooo00<0
+oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`1>0?ooo`00C`3oool010000000oooo
+0?ooo`0000040?ooo`030000003oool0oooo0140oooo00<000000?ooo`3oool04@3oool00ol00000
+oooo0?ooo`090?ooo`030000003ooooo000000`0oooo00?o00000?ooo`3oool0303oool2000000L0
+oooo00?o00000?ooo`3oool02@3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo0080
+oooo00<000000?ooo`3oool0CP3oool004l0oooo00@000000?ooo`3oool000001@3oool00`000000
+oooo0?ooo`0=0?ooo`04o`00003oool0oooo0?ooo`800000403oool00ol00000oooo0?ooo`0:0?oo
+o`030000003oool0oooo00l0oooo00?o00000?ooo`3oool0203oool00`000000oooo0?ooo`070?oo
+o`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool0103oool00`000000oooo0?ooo`020?oo
+o`030000003oool0oooo04h0oooo001?0?ooo`040000003oool0oooo000000D0oooo00<000000?oo
+o`3oool03@3oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo01X0oooo00<000000?oo
+o`3oool0403oool00ol00000oooo0?ooo`060?ooo`030000003oool0oooo00T0oooo00?o00000?oo
+o`3oool01P3oool00ol0000000000?ooo`050?ooo`030000003oool0oooo0080oooo0P00001?0?oo
+o`00C`3oool010000000oooo0?ooo`0000060?ooo`030000003oool0oooo0080oooo00?o00000?oo
+o`3oool01P3oool00ol00000oooo0?ooo`050?ooo`8000002P3oool2o`0000h0oooo00<000000?oo
+o`3oool04@3oool00ol00000oooo0?ooo`030?ooo`800000303oool00ol00000oooo0?ooo`060?oo
+o`030000003oool0oooo00D0oooo00<000000?ooo`3oool00`3oool00`000000oooo0?ooo`1=0?oo
+o`00C`3oool01@000000oooo0?ooo`3oool0000000D0oooo00<000000?ooo`3oool00P3oool00ol0
+0000oooo0?ooo`060?ooo`03o`00003oool0oooo00L0oooo00<000000?ooo`3oool01@3oool2o`00
+0100oooo00<000000?ooool000005P3oool00`000000oooo0?ooo`0E0?ooo`030000003oool0oooo
+00@0oooo00<000000?ooo`3oool0103oool00`000000oooo0?ooo`1=0?ooo`00C`3oool01@000000
+oooo0?ooo`3oool0000000H0oooo00D000000?ooo`3oool0ooooo`00000C0?ooo`8000005`3oool0
+0`000000ooooo`00000D0?ooo`800000603oool00`000000oooo0?ooo`040?ooo`030000003oool0
+oooo00<0oooo00?o00000000003oool0CP3oool004l0oooo00D000000?ooo`3oool0oooo00000006
+0?ooo`030000003oool0oooo01L0oooo00<000000?ooool00000503oool00`000000ooooo`00000C
+0?ooo`040000003oool0ooooo`000100oooo00?o00000?ooo`3oool00`3oool00`000000oooo0?oo
+o`050?ooo`030000003oool0oooo0080oooo00?o00000000003oool0C`3oool004l0oooo00D00000
+o`00003oool0oooo000000060?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool03@3o
+ool2000001@0oooo00<000000?ooool000004@3oool2000001@0oooo00?o00000?ooo`3oool00`3o
+ool00`000000oooo0?ooo`050?ooo`030000003oool0oooo00<0oooo00<000000?ooo`3oool0CP3o
+ool00500oooo00@000000?ooo`3oool000001`3oool00`000000oooo0?ooo`070?ooo`03o`00003o
+ool0oooo00`0oooo00?o00000?ooo`3oool00P00000B0?ooo`030000003oool0oooo0100oooo00<0
+00000?ooo`3oool01P3oool2o`0000d0oooo00Oo00000?ooo`3oool0oooo0000003ooooo000000H0
+oooo00@000000?ooo`3ooooo00000P3oool00`000000oooo0?ooo`1>0?ooo`00D03oool010000000
+oooo0?ooo`0000070?ooo`040000003oool0ooooo`0000D0oooo00?o00000?ooo`3oool04P3oool0
+0`000000oooo0?ooo`0?0?ooo`030000003oool0oooo00h0oooo0P00000;0?ooo`03o`00003oool0
+oooo00X0oooo00Oo00000?ooo`3oool0oooo0000003ooooo000000H0oooo00<000000?ooool00000
+0`3oool00`000000oooo0?ooo`1>0?ooo`00D03oool01@000000oooo0?ooo`00003o000000L0oooo
+00<000000?ooool000004@3oool2o`0000P0oooo0P00000?0?ooo`030000003ooooo000000d0oooo
+00<000000?ooo`3oool06`3oool010000000oooo0?ooool000060?ooo`0300000?l00000oooo0080
+oooo00<000000?ooo`3oool0C`3oool00500oooo00H000000?ooo`3oool000000?ooool000060?oo
+o`030000003ooooo00000100oooo00?o00000?ooo`3oool02P3oool00`000000oooo0?ooo`0<0?oo
+o`030000003ooooo000000/0oooo0P00000A0?ooo`;o00002`3oool010000000oooo0?ooool00006
+0?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0C`3oool00540oooo00@000000?oo
+o`3oool00000203oool00`00003o00000?ooo`0M0?ooo`800000303oool00`000000ooooo`00000:
+0?ooo`030000003oool0oooo01<0oooo00?o00000?ooo`3oool01P3oool00ol00000oooo00000009
+0?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0C`3oool00540oooo00@000000?oo
+o`3oool000000P3oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo00<0oooo00?o0000
+0?ooo`3oool01P3oool00ol00000oooo0?ooo`0@0?ooo`030000003oool0oooo00T0oooo00<00000
+0?ooool00000203oool2000001L0oooo00?o00000?ooo`3oool01@3oool00ol0000000000?ooo`08
+0?ooo`03o`0000000000oooo00<0oooo00<000000?ooo`3oool0C`3oool00540oooo00@000000?oo
+o`3oool000000`3oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo0080oooo00?o0000
+0?ooo`3oool01@3oool00ol00000oooo0?ooo`0B0?ooo`8000002@3oool00`000000oooo0?ooo`07
+0?ooo`030000003oool0oooo0200oooo00@000000?ooo`3ooooo00001@3oool00ol00000oooo0000
+00030?ooo`030000003oool0oooo0500oooo001A0?ooo`040000003oool0oooo000000@0oooo00?o
+00000?ooo`3oool00P3oool01@00003o00000?ooo`3ooooo000000L0oooo00?o00000?ooo`3oool0
+5@3oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo00D0oooo0P00000L0?ooo`?o0000
+0`3oool01@000000oooo0?ooo`3ooooo000000@0oooo00Co00000?ooo`3oool000000`3oool00`00
+0000oooo0?ooo`1@0?ooo`00D@3oool010000000oooo0?ooo`0000090?ooo`0300000?l00000oooo
+00H0oooo00?o00000?ooo`3oool06@3oool2000000H0oooo00<000000?ooool00000103oool00`00
+0000oooo0?ooo`0O0?ooo`04o`00003oool0oooo000000<0oooo00?o00000?ooo`3oool01@3oool0
+1@000000oooo0?ooo`3oool000000580oooo001B0?ooo`030000003oool0000000X0oooo00<00000
+0?ooo`3oool0103oool00ol00000oooo0?ooo`0L0?ooo`800000103oool00`000000ooooo`000002
+0?ooo`8000009@3oool00`000000oooo0?ooo`02o`0000L0oooo00D000000?ooo`3oool0oooo0000
+001B0?ooo`00DP3oool00`000000oooo000000070?ooo`06o`00003oool0oooo0000003ooooo0000
+0`3oool00ol00000oooo0?ooo`0O0?ooo`090000003oool0oooo0?ooo`000000ooooo`00003oool0
+000002H0oooo00D00000o`000?l00000ooooo`0000030?ooo`03o`00003oool0oooo0080oooo00@0
+00000?ooo`3oool00000D`3oool00580oooo00<000000?ooo`000000203oool01Ol00000oooo0?oo
+o`00003o000002H0oooo0P0000000`3oool000000?ooo`02000002L0oooo00P000000?ooo`3ooooo
+00000?ooool00000ooooo`0000@0oooo00D000000?ooo`3oool0oooo0000001C0?ooo`00DP3oool0
+10000000oooo0?ooo`0000080?ooo`03o`00003oool0000000;o00009`3oool3000002P0oooo00<0
+00000?ooo`3oool00`3oool2o`0000D0oooo00D000000?ooo`3oool0oooo0000001C0?ooo`00D`3o
+ool00`000000oooo000000090?ooo`;o000000<000000?ooo`3oool09P3oool3000002D0oooo0ol0
+00000`000000oooo0?ooo`04o`0000H0oooo00D000000?ooo`3oool0oooo0000001C0?ooo`00D`3o
+ool00`000000oooo000000090?ooo`04o`00003oool00000o`0000<0oooo0ol000030?ooo`Co0000
+0P3oool3o`0001<0oooo0P0000000`3oool000000?ooo`02000001<0oooo0_l000020?ooo`Co0000
+0P3oool4o`0000@0oooo00<000000?ooo`3oool02`3oool010000000oooo0?ooo`00001D0?ooo`00
+D`3oool00`000000oooo000000090?ooo`04o`00003oool0oooo00000180oooo00?o00000?ooo`3o
+ool01?l000020?ooo`Co00000P3oool2o`00008000000`3oool010000000ooooo`00003oool20000
+00@0oooo0_l000030?ooo`?o00000`3oool2o`000180oooo00<000000?ooo`3oool00_l000090?oo
+o`040000003oool0oooo000005@0oooo001C0?ooo`030000003oool0000000/0oooo00?o00000000
+0?l000007`3oool3000000030?ooool00000oooo0080oooo00<00000o`000?l000000ol000030000
+0003o`00003oool0oooo01d0oooo00<000000?ooool000000P3oool01?l00000oooo0?ooool00005
+0?ooo`040000003oool0oooo000005@0oooo001D0?ooo`8000002`3oool01?l0000000000?ooool0
+000L0?ooo`800000203oool00`000000ooooo`0000060?ooo`8000007@3oool00`000000oooo0?oo
+o`030?ooo`04o`00003oool0ooooo`0000D0oooo00@000000?ooo`3oool00000E03oool005@0oooo
+0P0000070?ooo`03o`00003oool0oooo0080oooo00?o00000000003oool06P3oool2000000X0oooo
+00<000000?ooool00000203oool2000001/0oooo00<000000?ooo`3oool00P3oool00ol00000oooo
+0?ooo`020?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`000000E@3oool005@0oooo0P00
+00070?ooo`03o`00003oool0oooo0080oooo00?o00000000003oool00P3oool2o`0001@0oooo0P00
+000<0?ooo`030000003ooooo000000X0oooo0P00000H0?ooo`030000003oool0oooo00P0oooo00?o
+00000?ooo`3oool00P3oool00`000000oooo0000001E0?ooo`00E03oool00`000000oooo00000005
+0?ooo`03o`00003oool0oooo00D0oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?ooo`0?
+0?ooo`8000003P3oool00`000000ooooo`00000<0?ooo`8000005@3oool00ol0000000000?ooo`0>
+0?ooo`030000003oool0000005D0oooo001E0?ooo`8000003@3oool00`000000oooo0?ooo`0A0?oo
+o`<00000403oool00`000000oooo0?ooo`0>0?ooo`<000004`3oool00`000000oooo0?ooo`020?oo
+o`03o`00003oool0oooo00P0oooo00<000000?ooo`000000E@3oool005D0oooo0P00000<0?ooo`03
+o`00003oool0000000H0oooo00?o00000?ooo`3oool01`3oool2000001<0oooo00<000000?ooo`3o
+ool04@3oool2000000`0oooo0_l000020?ooo`030000003oool0oooo00<0oooo00?o00000?ooo`3o
+ool0103oool01?l00000oooo0?ooo`3oool2000005H0oooo001E0?ooo`800000103oool00ol00000
+oooo0?ooo`050?ooo`03o`00003oool0000000L0oooo00?o00000?ooo`3oool0103oool2000001D0
+oooo00<000000?ooool000004`3oool2000000T0oooo00?o00000?ooo`3oool00P3oool00`000000
+oooo0?ooo`020?ooo`03o`00003oool0oooo00D0oooo00Co00000?ooo`3oool0oooo0P00001F0?oo
+o`00E@3oool2000000@0oooo00?o00000?ooo`3oool01P3oool00ol00000oooo000000070?ooo`04
+o`00003oool0oooo0?ooo`8000005`3oool00`000000ooooo`00000E0?ooo`8000002`3oool00`00
+0000oooo0?ooo`020?ooo`03o`00003oool0oooo00L0oooo00?o00000?ooo`3oool00P00001F0?oo
+o`00E@3oool2000000<0oooo00?o00000?ooo`3oool02@3oool00`000000oooo0?ooo`070?ooo`80
+00006@3oool00`000000ooooo`00000G0?ooo`80000000<0ooooo`000?l000001P3oool00`000000
+oooo0?ooo`0<0?ooo`05o`00003oool000000?ooo`000000EP3oool005H0oooo00D000000?ooo`3o
+ool0ooooo`00000;0?ooo`030000003oool0oooo00@0oooo0`000000103ooooo0000o`000?l0000G
+0?ooo`030000003ooooo000001T0oooo0`0000050?ooo`030000003oool0oooo00l0oooo0P00001G
+0?ooo`00EP3oool00`000000oooo0?ooo`0=0?ooo`03o`0000000000oooo0080oooo0P0000070?oo
+o`03o`00003oool0oooo01@0oooo00<000000?ooo`3oool0603oool01?l00000oooo0?ooo`3oool2
+000000<0oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?ooo`0:0?ooo`800000E`3oool0
+05H0oooo0P00000>0?ooo`03o`0000000000oooo00800000803oool00`000000oooo0?ooo`0N0?oo
+o`80000000<0oooo0000003oool00`3oool00ol00000oooo0?ooo`090?ooo`03o`00000000000000
+05L0oooo001F0?ooo`80000000?o00000?ooo`3oool02@3oool5000000d0oooo0_l0000C0?ooo`03
+0000003ooooo000001D0oooo0_l000090?ooo`H00000303oool00ol0000000000000001G0?ooo`00
+E`3oool01000003o00000?ooo`3oool9000000<0oooo00?o00000000003oool03P3oool00ol00000
+oooo0?ooo`0@0?ooo`030000003ooooo000001<0oooo0_l0000;0?ooo`030000003oool0oooo0080
+oooo00?o00000000000000001`0000040?ooo`030000003oool0oooo05H0oooo001G0?ooo`@00000
+3P3oool00`000000oooo0?ooo`0=0?ooo`03o`00003oool0oooo00l0oooo00<000000?ooool00000
+7`3oool00`000000oooo0?ooo`0=0?ooo`D00000F03oool005P0oooo0P00000@0?ooo`030000003o
+ool0oooo01h0oooo00<000000?ooool00000403oool2o`0000`0oooo00<000000?ooo`3oool0403o
+ool00`000000oooo0?ooo`1H0?ooo`00FP3oool00`000000oooo0?ooo`0;0?ooo`04o`00003oool0
+oooo000000l0oooo0ol0000=0?ooo`030000003oool0oooo00l0oooo00?o00000?ooo`3oool02`3o
+ool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo00X0oooo00<000000?ooo`3oool0F@3o
+ool005/0oooo0P00000<0?ooo`04o`00003oool0oooo00000140oooo00?o00000?ooo`3oool02P3o
+ool00`000000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`3oool0103o
+ool00ol00000oooo0?ooo`080?ooo`800000G03oool005d0oooo00<000000?ooo`3oool02P3oool0
+1?l00000oooo0?ooo`00000M0?ooo`030000003oool0oooo01/0oooo00<000000?ooo`3oool0103o
+ool00ol00000oooo0?ooo`080?ooo`030000003oool0oooo05`0oooo001N0?ooo`8000003P3oool0
+0`000000oooo0?ooo`0@0?ooo`03o`00003oool0oooo00L0oooo00<000000?ooool000002`3oool2
+o`0000d0oooo00<000000?ooo`3oool03P3oool2000005l0oooo001O0?ooo`8000003P3oool00`00
+0000oooo0?ooo`0@0?ooo`03o`00003oool0oooo00H0oooo00<000000?ooool000002P3oool00ol0
+0000oooo0?ooo`0=0?ooo`030000003oool0oooo00d0oooo00<000000?ooo`3oool0G`3oool00640
+oooo0P0000080?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool0403oool00ol00000
+oooo0?ooo`050?ooo`030000003ooooo000000T0oooo00?o00000?ooo`3oool03@3oool00`000000
+oooo0?ooo`050?ooo`03o`00003oool0oooo00@0oooo0P00001R0?ooo`00HP3oool2000000L0oooo
+00?o00000?ooo`3oool00`3oool00`000000oooo0?ooo`0G0?ooo`030000003oool0oooo00H0oooo
+0_l0000@0?ooo`030000003oool0oooo00H0oooo00?o00000?ooo`3oool00`3oool2000006<0oooo
+001T0?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?oo
+o`0B0?ooo`;o00000`3oool00`000000oooo0?ooo`050?ooo`03o`00003oool0oooo00l0oooo00<0
+00000?ooo`3oool01P3oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo06<0oooo001U
+0?ooo`8000001@3oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo01<0oooo00Co0000
+0?ooo`3oool000001P3oool00ol00000oooo0?ooo`0?0?ooo`030000003oool0oooo00H0oooo00?o
+00000?ooo`3oool00P3oool2000006H0oooo001W0?ooo`<000002@3oool00`000000oooo0?ooo`0F
+0?ooo`0300000?l00000oooo01@0oooo00<000000?ooo`3oool02`3oool00`000000oooo0?ooo`1V
+0?ooo`00J03oool00`000000oooo000000090?ooo`030000003oool0oooo01@0oooo00Go00000000
+0?l00000ooooo`00000C0?ooo`030000003oool0oooo00X0oooo00<000000?ooo`3oool0I`3oool0
+06T0oooo0P0000030?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool0503oool00`00
+003o0000o`00000C0?ooo`030000003oool0oooo00L0oooo00Co00000?ooo`0000000000JP3oool0
+06/0oooo0`0000000ol00000oooo0?ooo`050?ooo`030000003oool0oooo00L0oooo0_l000020?oo
+o`Co00000P3oool2o`00000300000?l0003o000000;o00000P3oool4o`000080oooo1?l000040?oo
+o`030000003oool0oooo00P0oooo0P00001/0?ooo`00K03oool300000003o`00003oool0oooo00?o
+00000P3oool00`00003o0000o`000002o`000080oooo0_l0000<0?ooo`0300000?l00000oooo0140
+oooo00<00000o`000?l000000`3oool4o`0000<00000K@3oool006h0oooo0P0000080?ooo`030000
+003oool0oooo0140oooo00<00000o`00003oool0403oool00`000000oooo0?ooo`070?ooo`800000
+K`3oool006l0oooo00<000000?ooo`0000001`3oool00`000000oooo0?ooo`0@0?ooo`030000003o
+ool0oooo00l0oooo00<000000?ooo`3oool01`3oool200000700oooo001`0?ooo`<000001`3oool0
+0`000000oooo0?ooo`0?0?ooo`030000003oool0oooo00h0oooo00<000000?ooo`3oool01`3oool2
+00000740oooo001b0?ooo`8000001P3oool00`000000oooo0?ooo`0?0?ooo`030000003oool0oooo
+00h0oooo00<000000?ooo`3oool01@3oool2000007<0oooo001c0?ooo`8000001P3oool00`000000
+oooo0?ooo`0>0?ooo`0300000?l00000oooo00d0oooo00<000000?ooo`3oool0103oool3000007@0
+oooo001e0?ooo`8000001@3oool00`000000oooo0?ooo`0=0?ooo`0300000?l00000oooo00`0oooo
+00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`1d0?ooo`00MP3oool2000000D0oooo00<0
+00000?ooo`3oool0303oool00`00003o00000?ooo`0;0?ooo`030000003oool0oooo00<0oooo0`00
+001g0?ooo`00M`3oool2000000D0oooo00<000000?ooo`3oool02`3oool00`00003o00000?ooo`0:
+0?ooo`030000003oool0oooo00<0oooo0`00001h0?ooo`00N@3oool00`000000oooo0?ooo`030?oo
+o`030000003oool0oooo00X0oooo00<000000?ooo`3oool02@3oool00`000000oooo0?ooo`030?oo
+o`800000NP3oool007X0oooo0`0000030?ooo`030000003oool0oooo00T0oooo00<000000?ooo`3o
+ool0203oool00`000000oooo0?ooo`030?ooo`800000N`3oool007`0oooo0P0000030?ooo`030000
+003oool0oooo00P0oooo00<00000o`00003oool0203oool010000000oooo0?ooo`3oool2000007d0
+oooo001m0?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool01`3oool00`00003o0000
+0?ooo`070?ooo`040000003oool0oooo0?ooo`800000OP3oool007h0oooo0`0000020?ooo`030000
+003oool0oooo00H0oooo00<000000?ooo`3oool01P3oool010000000oooo0?ooo`3oool2000007l0
+oooo00200?ooo`80000000<0oooo0000003oool01`3oool00`000000oooo0?ooo`050?ooo`050000
+003oool0oooo0?ooo`000000P@3oool00840oooo0P0000000`3oool000000?ooo`060?ooo`030000
+003oool0oooo00@0oooo00<000000?ooo`3oool00P0000220?ooo`00P`3oool00`000000oooo0000
+00060?ooo`030000003oool0oooo00<0oooo00@000000?ooo`0000000000Q03oool008@0oooo0`00
+00050?ooo`030000003oool0oooo00<0oooo00<000000?ooo`000000Q@3oool008D0oooo0`000004
+0?ooo`030000003oool0oooo0080oooo0`0000260?ooo`00Q`3oool2000000<0oooo00@000000?oo
+o`3oool0oooo0P0000280?ooo`00R03oool200000080oooo00<000000?ooo`3oool00P0000290?oo
+o`00RP3oool01@000000oooo0000003oool0000008/0oooo002;0?ooo`<00000S03oool008`0oooo
+00<000000?ooo`3oool0R`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0
+oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00001\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.53124 .45363 m
+.69667 .54859 L
+s
+.53124 .45363 m
+.53784 .56992 L
+s
+.61766 .39786 m
+.53124 .45363 L
+s
+.37465 .56997 m
+.53124 .45363 L
+s
+.5 .27523 m
+.53124 .45363 L
+s
+.42372 .41472 m
+.53124 .45363 L
+s
+.37465 .56997 m
+.53784 .56992 L
+s
+.42372 .41472 m
+.37465 .56997 L
+s
+.33052 .39916 m
+.37465 .56997 L
+s
+.29076 .51562 m
+.37465 .56997 L
+s
+.31871 .63494 m
+.37465 .56997 L
+s
+.41768 .68394 m
+.37465 .56997 L
+s
+.53323 .67212 m
+.37465 .56997 L
+s
+.53784 .56992 m
+.69667 .54859 L
+s
+.53323 .67212 m
+.53784 .56992 L
+s
+.42372 .41472 m
+.5 .27523 L
+s
+.33052 .39916 m
+.42372 .41472 L
+s
+.61766 .39786 m
+.69667 .54859 L
+s
+.67754 .36786 m
+.61766 .39786 L
+s
+.5 .27523 m
+.61766 .39786 L
+s
+.67754 .36786 m
+.69667 .54859 L
+s
+.72166 .48345 m
+.69667 .54859 L
+s
+.69054 .61338 m
+.69667 .54859 L
+s
+.62724 .67334 m
+.69667 .54859 L
+s
+.53323 .67212 m
+.69667 .54859 L
+s
+.53323 .67212 m
+.41768 .68394 L
+s
+.53323 .67212 m
+.5 .75807 L
+s
+.53323 .67212 m
+.62724 .67334 L
+s
+.5 .27523 m
+.67754 .36786 L
+s
+.33052 .39916 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.59003 .29883 m
+.5 .27523 L
+s
+.46059 .29588 m
+.5 .27523 L
+s
+.36864 .32105 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.29076 .51562 m
+.33052 .39916 L
+s
+.36864 .32105 m
+.33052 .39916 L
+s
+.2618 .44114 m
+.33052 .39916 L
+s
+.41768 .68394 m
+.31871 .63494 L
+s
+.5 .75807 m
+.41768 .68394 L
+s
+.2618 .44114 m
+.29076 .51562 L
+s
+.31871 .63494 m
+.29076 .51562 L
+s
+.0035 w
+[ ] 0 setdash
+.62724 .67334 m
+.5 .75807 L
+s
+.62724 .67334 m
+.69054 .61338 L
+s
+.72166 .48345 m
+.67754 .36786 L
+s
+.66737 .40657 m
+.67754 .36786 L
+s
+.59003 .29883 m
+.67754 .36786 L
+s
+.31871 .63494 m
+.2618 .44114 L
+s
+.31871 .63494 m
+.35658 .62451 L
+s
+.5 .75807 m
+.31871 .63494 L
+s
+.36864 .32105 m
+.46059 .29588 L
+s
+.2618 .44114 m
+.36864 .32105 L
+s
+.66737 .40657 m
+.72166 .48345 L
+s
+.69054 .61338 m
+.72166 .48345 L
+s
+.59003 .29883 m
+.66737 .40657 L
+s
+.46059 .29588 m
+.59003 .29883 L
+s
+.69054 .61338 m
+.66737 .40657 L
+s
+.69054 .61338 m
+.59857 .6102 L
+s
+.69054 .61338 m
+.5 .75807 L
+s
+.5 .75807 m
+.35658 .62451 L
+s
+.5 .75807 m
+.45738 .56325 L
+s
+.5 .75807 m
+.59857 .6102 L
+s
+.46059 .29588 m
+.66737 .40657 L
+s
+.44949 .40666 m
+.46059 .29588 L
+s
+.2618 .44114 m
+.46059 .29588 L
+s
+.2618 .44114 m
+.44949 .40666 L
+s
+.35658 .62451 m
+.2618 .44114 L
+s
+.45738 .56325 m
+.2618 .44114 L
+s
+.45738 .56325 m
+.35658 .62451 L
+s
+.59857 .6102 m
+.66737 .40657 L
+s
+.59857 .6102 m
+.45738 .56325 L
+s
+.44949 .40666 m
+.66737 .40657 L
+s
+.45738 .56325 m
+.44949 .40666 L
+s
+.45738 .56325 m
+.66737 .40657 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00R`3oool4000008/0oooo00280?ooo`<000001?l0
+0004000008L0oooo00250?ooo`@0000000Ko00000?ooo`3ooooo00000?ooool000040?ooo`@00000
+P`3oool00880oooo0`0000000`3oool000000?ooo`040?ooo`03o`00003oool0oooo0080oooo0ol0
+00030?ooo`D00000OP3oool007l0oooo0`0000020?ooo`8000000_l000020?ooo`03o`00003oool0
+oooo00<0oooo00Go00000?ooo`3oool0ooooo`0000070?ooo`@00000NP3oool007`0oooo0`000003
+0?ooo`80000000<0ooooo`00003oool00`3oool00ol00000oooo0?ooo`040?ooo`03o`00003oool0
+oooo00`0oooo1000001f0?ooo`00N@3oool3000000<0oooo:000001c0?ooo`00M`3oool200000080
+oooo1@0000000`3oool00000o`000002000000<0oooo00?o00000?ooo`3oool00P3oool00ol00000
+oooo0?ooo`090?ooo`03o`00003oool0oooo00T0oooo00<000000?ooo`000000LP3oool007@0oooo
+0`000000103oool000000000000000020?ooo`80000000<0ooooo`00000000000`3oool2000000L0
+oooo00?o00000?ooo`3oool02`3oool2o`0000P0oooo00<000000?ooo`000000L@3oool00740oooo
+1`0000040?ooo`060000003oool0ooooo`00003oool000001@3oool2000000D0oooo00?o00000?oo
+o`3oool0103oool00ol00000oooo0?ooo`060?ooo`03o`00003oool0oooo00H0oooo00<000000?oo
+o`000000L03oool006h0oooo1P0000070?ooo`030000003oool0oooo00<0oooo00<000000?ooo`3o
+ool00`3oool00ol00000oooo0000000<0?ooo`03o`00003oool0oooo00H0oooo00?o00000?ooo`3o
+ool01@3oool00`000000oooo0?ooo`02000006h0oooo001[0?ooo`D000002@3oool2000000030?oo
+ool0003o000000<0oooo00<000000?ooo`3oool00P3oool01?l00000oooo0?ooo`3oool2000000/0
+oooo00?o00000?ooo`3oool0203oool00ol00000oooo0?ooo`030?ooo`050000003oool0oooo0?oo
+o`000000K@3oool006P0oooo1@00000;0?ooo`040000003oool0ooooo`0000@0oooo00<000000?oo
+o`3oool00P3oool00ol00000oooo0?ooo`040?ooo`80000000?o00000?ooo`3oool04P3oool00ol0
+0000oooo0?ooo`030?ooo`050000003oool0oooo0?ooo`000000K03oool006L0oooo0P00000=0?oo
+o`8000000P3oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo00/0oooo0P0000090?oo
+o`03o`00003oool0oooo00P0oooo00?o00000?ooo`3oool00`3oool01@000000oooo0?ooo`3oool0
+000006/0oooo001W0?ooo`030000003oool0oooo00/0oooo00<000000?ooo`3oool0203oool00`00
+0000oooo0?ooo`0<0?ooo`03o`0000000000000000P0oooo00?o00000?ooo`3oool02P3oool3o`00
+00030000003oool0oooo0080oooo0P00001Y0?ooo`00IP3oool00`000000oooo0?ooo`0;0?ooo`03
+0000003oool0oooo00;o00001`3oool01@000000oooo0?ooo`3ooooo000000X0oooo00?o00000?oo
+o`3oool00P0000070?ooo`03o`00003oool0oooo00`0oooo00?o00000000003oool0103oool00`00
+0000oooo0?ooo`1V0?ooo`00I@3oool00`000000oooo0?ooo`0:0?ooo`80000000<0ooooo`000?l0
+00002@3oool010000000oooo0?ooool0000@0?ooo`8000005P3oool00`000000oooo0?ooo`030?oo
+o`030000003oool0oooo06D0oooo001T0?ooo`030000003oool0oooo00X0oooo00<000000?ooo`3o
+ool0303oool00`000000ooooo`00000C0?ooo`800000503oool00`00003o0000o`0000040?ooo`03
+0000003oool0oooo06@0oooo001S0?ooo`8000002P3oool2000000030?ooool0003o000000`0oooo
+00<000000?ooo`3oool0303oool00ol00000oooo0?ooo`060?ooo`030000003oool0oooo0080oooo
+00?o00000?ooo`3oool03@3oool00`000000ooooo`0000040?ooo`800000I03oool00680oooo00<0
+00000?ooo`0000002@3oool010000000oooo0?ooool0000>0?ooo`030000003oool0oooo00`0oooo
+00?o00000?ooo`3oool01`3oool2000000<0oooo00?o00000?ooo`3oool03@3oool00`000000oooo
+0?ooo`050?ooo`030000003oool0oooo0640oooo001Q0?ooo`030000003oool0000000T0oooo00@0
+00000?ooo`3ooooo00003`3oool00`00003o00000?ooo`0=0?ooo`03o`00003oool0oooo00P0oooo
+0P0000020?ooo`03o`00003oool0oooo00d0oooo00<000000?ooo`3oool00ol000020?ooo`030000
+003oool0oooo0600oooo001P0?ooo`040000003oool0oooo000000L0oooo0P00000C0?ooo`030000
+0?l00000oooo00d0oooo00?o00000?ooo`3oool02P3oool200000100oooo00<000000?ooo`3oool0
+0`3oool01?l00000oooo0?ooo`00001Q0?ooo`00G`3oool00`000000oooo0?ooo`080?ooo`030000
+003oool0oooo00;o0000403oool00`00003o00000?ooo`0M0?ooo`80000000?o00000?ooo`3oool0
+303oool00`000000oooo0?ooo`060?ooo`800000G`3oool005h0oooo00<000000?ooo`3oool01`3o
+ool200000080oooo00?o00000?ooo`3oool0403oool00`000000oooo0?ooo`0O0?ooo`8000003P3o
+ool00`000000oooo0?ooo`040?ooo`;o000000<0oooo0000003oool0G@3oool005d0oooo00<00000
+0?ooo`3oool00P3oool00`000000oooo0?ooo`020?ooo`050000003oool0oooo0?ooool000004`3o
+ool00`000000oooo0?ooo`0>0?ooo`03o`00003oool0oooo0100oooo0P00000<0?ooo`030000003o
+ool0oooo00H0oooo00?o00000?ooo`000000G@3oool005d0oooo00D000000?ooo`3oool0oooo0000
+00040?ooo`030000003oool0oooo01H0oooo00<000000?ooo`3oool03P3oool00ol00000oooo0?oo
+o`0B0?ooo`030000003oool0oooo00X0oooo00<000000?ooo`3oool0203oool00`000000oooo0?oo
+o`1J0?ooo`00G03oool01@000000oooo0?ooo`3oool0000000<0oooo0P0000020?ooo`;o0000503o
+ool00ol0000000000?ooo`0@0?ooo`03o`00003oool0oooo0180oooo0P00000;0?ooo`030000003o
+ool0oooo00L0oooo00?o00000000003oool0FP3oool005/0oooo00<000000?ooo`3oool01@3oool0
+0`000000oooo0?ooo`02o`0001D0oooo00?o00000?ooo`0000004@3oool00ol00000oooo0?ooo`0B
+0?ooo`04o`00003oool00000000000X0oooo00<000000?ooo`3oool0103oool2o`0000030?ooo`00
+0000oooo05X0oooo001J0?ooo`030000003oool0oooo00@0oooo0P00000I0?ooo`04o`00003oool0
+oooo000002L0oooo00?o00000?ooo`3oool00P0000080?ooo`030000003oool0oooo00L0oooo0P00
+001J0?ooo`00F@3oool00`000000oooo0?ooo`030?ooo`8000000P3oool2o`0001X0oooo00<00000
+0?ooo`3oool09P3oool01?l00000oooo0?ooo`3oool2000000L0oooo00@000000?ooool0003o0000
+103oool00`00003o00000000001J0?ooo`00F03oool00`000000oooo0?ooo`040?ooo`040000003o
+ool0ooooo`0001`0oooo00<000000?ooo`3oool03`3oool00ol00000oooo0?ooo`0J0?ooo`800000
+1P3oool00`000000oooo0?ooo`040?ooo`030000003oool0000005X0oooo001G0?ooo`030000003o
+ool0oooo00<0oooo0P0000020?ooo`03o`00003oool0oooo01L0oooo00Go00000?ooo`3oool0oooo
+0000000A0?ooo`03o`00003oool0oooo01H0oooo00?o00000?ooo`3oool00`3oool2000000;o0000
+0P3oool00`000000oooo0?ooo`040?ooo`040000003oool0oooo000005T0oooo001F0?ooo`030000
+003oool0oooo00<0oooo00<000000?ooo`000000703oool01Ol00000oooo0?ooo`3oool000000180
+oooo00?o00000?ooo`3oool05P3oool00ol00000oooo0?ooo`030?ooo`03o`0000000000000000<0
+oooo00<000000?ooo`3oool00P3oool01@000000oooo0?ooool00000000005T0oooo001E0?ooo`03
+0000003oool0oooo0080oooo0P0000020?ooo`;o00006P3oool01Ol00000oooo0?ooo`3oool00000
+01<0oooo00?o00000?ooo`3oool05`3oool01Ol00000oooo0?ooo`3ooooo000000<0oooo00D00000
+0?ooo`3oool0oooo000000030?ooo`050000003oool0ooooo`0000000000F@3oool005@0oooo00<0
+00000?ooo`3oool00P3oool01@000000oooo0?ooo`3ooooo000001`0oooo00Go00000?ooo`3oool0
+oooo0000000^0?ooo`03o`00003oool0oooo00D0oooo0P0000020?ooo`040000003oool0oooo0000
+0080oooo00?o00000?ooo`000000F03oool005<0oooo00<000000?ooo`3oool00P3oool010000000
+oooo0?ooo`000004o`0001h0oooo00<000000?ooo`3oool0:`3oool2o`0000T0oooo0`0000020?oo
+o`060000003oool0ooooo`00003oool00000F03oool005<0oooo00<000000?ooo`3oool00P000002
+0?ooo`030000003oool0000000D0oooo1?l0000H0?ooo`030000003oool0oooo0140oooo00?o0000
+0?ooo`3oool05P3oool01?l00000oooo0?ooool0000:0?ooo`<000001P3oool00`000000oooo0?oo
+o`1E0?ooo`00DP3oool010000000oooo0?ooo`0000030?ooo`050000003oool0oooo00000?l00000
+2`3oool3o`0000`0oooo00?o00000?ooo`3oool0@@0000060?ooo`030000003oool0oooo05D0oooo
+001A0?ooo`040000003oool00000000000H0oooo00<000000?ooo`3oool04@3oool3o`0000<0oooo
+1P0000030?ooo`030000003oool0oooo0180oooo00?o00000?ooo`3oool04@3oool2o`000100oooo
+00<000000?ooo`0000000`3oool01?l00000oooo0?ooo`00001G0?ooo`00D03oool00`000000oooo
+000000020?ooo`800000603oool6000000Co00001@3oool00`000000oooo0?ooo`0B0?ooo`03o`00
+003oool0oooo0100oooo00?o00000?ooo`3oool03`3oool00`000000oooo0000000200000080oooo
+00Go00000?ooo`3oool0oooo0000001F0?ooo`00C`3oool00`000000oooo000000020?ooo`030000
+003oool0oooo0180oooo1P0000080?ooo`03o`00003ooooo000000@0oooo00<000000?ooo`3oool0
+;`3oool00ol00000oooo0?ooo`030?ooo`8000000P3oool2000000040?ooo`000000ooooo`0000<0
+oooo00<000000?ooo`3oool0E03oool004h0oooo0`0000090?ooo`050000003oool0oooo0?ooool0
+0000103oool6000000d0oooo00?o00000?ooo`3oool00`3oool2o`0000030000003oool0oooo0240
+oooo0_l0000<0?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool00P3oool200000080
+oooo00<00000o`00003oool00P3oool00`000000oooo0?ooo`1D0?ooo`00C@3oool2000000030?oo
+o`000000000000P0oooo00@000000?ooo`3oool0oooo1@00000C0?ooo`03o`00003oool0oooo00D0
+oooo00<00000o`00003oool0803oool00ol00000oooo0?ooo`0=0?ooo`04o`00003oool0oooo0000
+00@0oooo00H000000?ooo`3oool000000?ooo`0000050?ooo`030000003oool0oooo05<0oooo001<
+0?ooo`@00000203oool6000000030?ooool00000oooo01d0oooo00@000000?ooo`3oool0oooo0ol0
+000>0?ooo`03o`00003oool0oooo00X0oooo00?o00000?ooo`3oool03`3oool2000000D0oooo00@0
+00000?ooo`3oool000000P3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo05<0oooo
+001;0?ooo`030000003oool0oooo00@0oooo1P0000000`3oool000000?ooo`0S0?ooo`030000003o
+ool0oooo00@0oooo00?o00000?ooo`3oool02`3oool00ol00000oooo0?ooo`070?ooo`03o`00003o
+ool0oooo0140oooo00<000000?ooo`3oool01@3oool010000000oooo0?ooo`0000030?ooo`030000
+003oool0oooo0080oooo00<000000?ooo`3oool0DP3oool004X0oooo2000000S0?ooo`03o`00003o
+ool0oooo00H0oooo00<000000?ooo`3oool01`3oool3o`0000T0oooo00?o00000?ooo`3oool01@3o
+ool00ol00000oooo0?ooo`0A0?ooo`040000003oool0ooooo`0000@0oooo00D000000?ooo`3oool0
+oooo000000030?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0DP3oool004T0oooo
+0`00000Y0?ooo`03o`00003oool0oooo00H0oooo00<000000?ooo`3oool02P3oool00ol00000oooo
+0?ooo`0=0?ooo`03o`00003oool0oooo0100oooo0P0000030?ooo`03o`00003oool0oooo0080oooo
+00D000000?ooo`3oool0oooo000000030?ooo`03o`0000000000oooo0080oooo00<000000?ooo`3o
+ool0DP3oool004T0oooo00<000000?ooo`000000303oool00`000000oooo0?ooo`040?ooo`03o`00
+003oool0oooo0180oooo00?o00000?ooo`3oool01`3oool00`000000oooo0?ooo`0=0?ooo`;o0000
+7@3oool00`000000oooo0?ooo`040?ooo`05o`00003oool0oooo0?ooo`0000000`3oool01`000000
+oooo0?ooo`3ooooo00000?ooo`0000000`3oool00`000000oooo0?ooo`1A0?ooo`00B@3oool20000
+00030?ooo`000000000000X0oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`0B0?oo
+o`03o`00003oool0oooo00L0oooo00<000000?ooo`3oool03`3oool00ol00000oooo0?ooo`040?oo
+o`;o00004`3oool00`000000oooo0?ooo`050?ooo`04o`00003oool0oooo000000@0oooo00<00000
+0?ooo`3oool0103oool010000000oooo0?ooo`00001C0?ooo`00BP3oool010000000oooo0?ooo`3o
+ool2000000L0oooo00<000000?ooo`3oool01P3oool00ol00000oooo0?ooo`0L0?ooo`030000003o
+ool0oooo01<0oooo0_l0000C0?ooo`8000002`3oool00`000000oooo0?ooo`020?ooo`030000003o
+ool0oooo00@0oooo00@000000?ooo`3oool00000D`3oool004X0oooo0P0000040?ooo`030000003o
+ool0oooo00@0oooo00<000000?ooo`3oool09@3oool00`000000oooo0?ooo`0B0?ooo`?o00004P3o
+ool00`000000oooo0?ooo`0;0?ooo`030000003oool0oooo00<0oooo00@000000?ooo`3ooooo0000
+0`3oool010000000oooo0?ooo`00001B0?ooo`00BP3oool2000000D0oooo0P00000P0?ooo`03o`00
+003oool0oooo00T0oooo00<000000?ooo`3oool04`3oool00ol00000ooooo`00000@0?ooo`030000
+003oool0oooo00/0oooo00<000000?ooo`3oool0103oool010000000oooo0?ooool000040?ooo`03
+0000003oool000000580oooo001;0?ooo`8000001P3oool00`000000oooo0?ooo`0M0?ooo`03o`00
+003oool0oooo00T0oooo00<000000?ooo`3oool0403oool2o`0000030?ooool00000oooo00l0oooo
+0P00000>0?ooo`030000003oool0oooo00@0oooo00D000000?ooo`3oool0ooooo`0000030?ooo`04
+0000003oool0oooo00000540oooo001;0?ooo`8000001`3oool3000000X0oooo00?o00000?ooo`3o
+ool03P3oool00ol00000oooo0?ooo`0:0?ooo`030000003oool0oooo00h0oooo0_l000030?ooo`03
+o`00003oool0oooo0080oooo0ol000080?ooo`030000003oool0oooo00h0oooo00<00000o`00003o
+ool0103oool01@000000oooo0?ooo`3ooooo000000@0oooo00<000000?ooo`000000D@3oool004/0
+oooo0`0000080?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool03P3oool00ol00000
+oooo0?ooo`0:0?ooo`030000003oool0oooo01/0oooo00?o00000?ooo`3oool0103oool00`000000
+oooo0?ooo`0>0?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool01`3oool200000540
+oooo001;0?ooo`<000001`3oool010000000oooo0000000000090?ooo`03o`00003oool0oooo01X0
+oooo00<000000?ooo`3oool02`3oool2o`0001<0oooo0P00000A0?ooo`030000003oool0oooo00D0
+oooo00<000000?ooo`3oool0203oool200000500oooo001<0?ooo`030000003oool0000000H0oooo
+00@000000?ooo`3oool0oooo0P00000T0?ooo`030000003oool0oooo00X0oooo00?o00000?ooo`3o
+ool01P3oool00ol00000oooo0?ooo`070?ooo`;o000000<000000?ooo`3oool04@3oool01@000000
+oooo0?ooo`3ooooo000000<0oooo00<000000?ooo`3oool0203oool200000500oooo001<0?ooo`03
+0000003oool0000000`0oooo00<000000?ooo`3oool04`3oool00ol00000oooo0?ooo`0;0?ooo`03
+0000003oool0oooo00T0oooo00?o00000?ooo`3oool01`3oool00ol00000oooo0?ooo`080?ooo`03
+00000?l00000oooo0140oooo00<000000?ooo`3oool00P3oool01Ol00000oooo0?ooo`3oool00000
+00<0oooo00?o00000?ooo`3oool01@3oool00`000000oooo0?ooo`1>0?ooo`00C03oool010000000
+oooo00000000000<0?ooo`8000004`3oool00ol00000oooo0?ooo`0;0?ooo`030000003oool0oooo
+01<0oooo00?o00000?ooo`3oool01P3oool200000080oooo00?o00000?ooo`3oool03`3oool00`00
+0000oooo0?ooo`030?ooo`04o`00003oool0oooo000000<0oooo00?o00000?ooo`3oool01P3oool0
+0`000000oooo0?ooo`1=0?ooo`00C@3oool3000000@0oooo00<000000?ooo`3oool01`3oool00`00
+0000oooo0?ooo`020?ooo`03o`00003oool0oooo00X0oooo00?o00000?ooo`3oool0303oool00`00
+0000oooo0?ooo`070?ooo`03o`00003oool0oooo00T0oooo00?o00000?ooo`3oool01@3oool00`00
+0000oooo0?ooo`050?ooo`03o`00003oool0oooo00`0oooo00<000000?ooo`3oool00`3oool01Ol0
+0000oooo0?ooo`3oool000000080oooo00?o00000?ooo`3oool01P3oool00`000000oooo0?ooo`1=
+0?ooo`00C@3oool010000000oooo0000000000030?ooo`030000003oool0oooo00P0oooo0P000002
+0?ooo`03o`00003oool0oooo01T0oooo00<000000?ooo`3oool01P3oool00ol00000oooo0?ooo`0@
+0?ooo`8000002@3oool00ol00000oooo0?ooo`0:0?ooo`030000003oool0oooo00P0oooo00<00000
+0?ooo`3oool0203oool00ol0000000000?ooo`1>0?ooo`00C@3oool01`000000oooo0000003oool0
+00000?ooo`0000003@3oool00`000000ooooo`00000K0?ooo`030000003oool0oooo00D0oooo00?o
+00000?ooo`3oool0403oool00`000000oooo0?ooo`0:0?ooo`03o`00003oool0oooo00T0oooo00<0
+00000?ooo`3oool0203oool00`000000oooo0?ooo`080?ooo`030000003oool0oooo04h0oooo001>
+0?ooo`060000003oool0oooo0000003oool000003P3oool2000001/0oooo00<000000?ooo`3oool0
+4`3oool01Ol00000oooo0?ooo`3oool000000100oooo0_l000070?ooo`030000003oool0oooo00D0
+oooo00Co00000?ooo`3oool000002P3oool00`000000oooo0?ooo`1>0?ooo`00CP3oool01@000000
+oooo0?ooo`3oool000000140oooo0P0000090?ooo`03o`00003oool0oooo00d0oooo00@000000?oo
+o`3oool0oooo0_l0000@0?ooo`04o`00003oool00000000001<0oooo00?o00000?ooo`3oool00`3o
+ool00`000000oooo0?ooo`070?ooo`03o`00003oool0000000<0oooo00?o00000?ooo`3oool0103o
+ool00`000000oooo0?ooo`1>0?ooo`00CP3oool01@000000oooo0000003oool0000001<0oooo00<0
+00000?ooo`3oool01P3oool00ol00000oooo0?ooo`0=0?ooo`040000003oool0ooooo`0001<0oooo
+00<000000?ooo`3oool0503oool00ol00000oooo0?ooo`020?ooo`030000003oool0oooo00P0oooo
+00?o00000000003oool00P3oool00ol00000oooo0?ooo`030?ooo`03o`0000000000oooo04l0oooo
+001>0?ooo`040000003oool000000?ooo`800000403oool00ol00000oooo0?ooo`02000000D0oooo
+00?o00000?ooo`3oool03P3oool00`000000oooo0?ooo`0C0?ooo`0300000?l00000oooo01P0oooo
+00?o00000?ooo`0000002`3oool01@000000oooo0?ooo`3ooooo000000D0oooo00?o00000000003o
+ool0C`3oool004l0oooo00<000000?ooo`0000000P00000@0?ooo`03o`00003oool0oooo0080oooo
+00<000000?ooo`3oool04`3oool00`000000oooo0?ooo`0A0?ooo`800000703oool00`000000oooo
+0?ooo`0:0?ooo`050000003oool0oooo0?ooool00000103oool00ol0000000000?ooo`1@0?ooo`00
+C`3oool01P000000oooo00000?l00000oooo00000100oooo00?o00000?ooo`3oool00P3oool20000
+0180oooo00?o00000000003oool04@3oool00`000000oooo0?ooo`0L0?ooo`0300000?l00000oooo
+00X0oooo00?o00000000003oool01P3oool00ol0000000000?ooo`1@0?ooo`00C`3oool01P000000
+oooo0000003ooooo0000000001L0oooo00<000000?ooo`3oool03P3oool00ol00000oooo0000000A
+0?ooo`030000003oool0oooo01d0oooo00D000000?ooo`3oool0ooooo`0000080?ooo`03o`000000
+0000oooo00L0oooo00<000000?ooo`3oool0C`3oool00500oooo0P0000020?ooo`03o`0000000000
+oooo01H0oooo0P00000@0?ooo`030000003oool0oooo00d0oooo0P0000050?ooo`03o`00003oool0
+oooo01L0oooo00<000000?ooo`3oool00`3oool00ol00000oooo0?ooo`060?ooo`040000003oool0
+ooooo`0000D0oooo00<000000?ooo`3oool0C`3oool00500oooo00<000000?ooo`0000000P3oool0
+0`000000oooo0?ooo`0E0?ooo`04o`00003oool00000000000T0oooo00?o00000?ooo`3oool00P3o
+ool00`000000oooo0?ooo`0<0?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool05`3o
+ool00`000000oooo0?ooo`040?ooo`03o`00003oool0oooo00D0oooo00@00000o`00003ooooo0000
+0`3oool00ol00000oooo0000001A0?ooo`00D03oool00`000000oooo000000030?ooo`0300000?l0
+003o000000d0oooo00?o00000?ooo`3oool00`3oool00ol00000oooo0?ooo`020?ooo`030000003o
+ool0oooo00D0oooo00?o00000?ooo`3oool0103oool00`000000oooo0?ooo`0:0?ooo`030000003o
+ool0oooo00H0oooo00?o00000?ooo`3oool05`3oool00`000000oooo0?ooo`0<0?ooo`050000003o
+ool0oooo0?ooool000000P3oool00ol0000000000?ooo`1A0?ooo`00D03oool00`000000oooo0?oo
+o`030?ooo`040000003oool0ooooo`0000`0oooo00?o00000?ooo`3oool02@3oool2000000@0oooo
+00?o00000?ooo`3oool01@3oool00`000000oooo0?ooo`080?ooo`8000008P3oool00`000000oooo
+0?ooo`080?ooo`?o00000P3oool02@000000oooo0?ooo`3ooooo00000?ooool00000oooo0000001B
+0?ooo`00D@3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo00`0oooo00?o00000?oo
+o`3oool02`3oool00`000000oooo0?ooo`090?ooo`030000003oool0oooo00L0oooo00<000000?oo
+o`3oool08P3oool00`000000oooo0?ooo`0;0?ooo`05o`00003oool000000?ooool000000`3oool0
+0ol00000oooo0000001B0?ooo`00D@3oool00`000000oooo000000030?ooo`030000003oool0oooo
+0080oooo00?o00000?ooo`3oool0303oool00ol00000oooo0?ooo`060?ooo`03o`00000000000000
+00T0oooo00<000000?ooo`3oool01P3oool00`000000oooo0?ooo`0S0?ooo`030000003oool0oooo
+00d0oooo00<000000?ooool000001@3oool00`000000oooo0?ooo`1@0?ooo`00D@3oool00`000000
+oooo000000040?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool02`3oool00ol00000
+oooo0?ooo`050?ooo`05o`00003oool0oooo0?ooo`000000203oool00`000000oooo0?ooo`040?oo
+o`8000003@3oool00ol00000oooo0?ooo`0E0?ooo`030000003oool0oooo00l0oooo00@00000o`00
+0?l0003o00000P3oool00`000000oooo0?ooo`1A0?ooo`00DP3oool2000000@0oooo00<000000?oo
+o`3oool00`3oool00ol00000oooo0?ooo`0:0?ooo`03o`00003oool0oooo00X0oooo0P0000060?oo
+o`030000003oool0oooo00<0oooo00<000000?ooo`3oool03@3oool00ol00000oooo0?ooo`0E0?oo
+o`030000003oool0oooo00l0oooo00<000000?ooool000000_l000000`3oool000000?ooo`1B0?oo
+o`00DP3oool2000000D0oooo00<000000?ooo`3oool02`3oool01Ol00000oooo0?ooo`3ooooo0000
+00@0oooo00?o00000?ooo`3oool01`3oool2000000@0oooo00<000000?ooo`3oool00P3oool00`00
+0000oooo0?ooo`0>0?ooo`03o`00003oool0oooo01D0oooo00<000000?ooo`3oool0303oool2o`00
+00030?ooo`000000oooo00;o00000P3oool00`000000oooo0?ooo`1A0?ooo`00DP3oool00`000000
+oooo0?ooo`040?ooo`030000003oool0oooo00D0oooo0_l000040?ooo`03o`00003oool0oooo00D0
+oooo00?o00000?ooo`3oool02P3oool01@000000oooo0?ooo`3oool000000080oooo0P00000X0?oo
+o`030000003oool0oooo00L0oooo0_l000020?ooo`;o00000`3oool010000000ooooo`000?l00002
+0?ooo`030000003oool0oooo0540oooo001B0?ooo`030000003oool0oooo00D0oooo00<000000?oo
+o`3oool01P3oool00ol00000oooo0?ooo`020?ooo`03o`00003oool0oooo00<0oooo00?o00000?oo
+o`3oool0303oool2000000040?ooo`000000oooo000002X0oooo00<000000?ooool000000ol00002
+0?ooo`;o00002@3oool00`000000ooooo`0000030?ooo`030000003oool0oooo0540oooo001C0?oo
+o`8000001@3oool00`000000oooo0?ooo`0=0?ooo`03o`00003oool0oooo0180oooo0`00000W0?oo
+o`Co000000<000000?ooo`3oool03`3oool01ol0000000000?ooo`3ooooo00000?ooo`000000E03o
+ool005<0oooo0P0000060?ooo`030000003oool0oooo00P0oooo0_l000020?ooo`;o00004`3oool4
+000001@0oooo00?o00000?ooo`3oool01@3oool2o`000080oooo1?l000050?ooo`030000003oool0
+oooo00l0oooo00?o00000?ooo`0000000P3oool00ol00000oooo0000001D0?ooo`00D`3oool00`00
+0000oooo000000050?ooo`030000003oool0oooo00X0oooo0ol0000C0?ooo`030000003oool00000
+0080oooo0`00000A0?ooo`?o00000`3oool2o`0000d0oooo00<000000?ooo`3oool03P3oool01?l0
+0000oooo0?ooo`0000020?ooo`03o`00003oool0000005@0oooo001D0?ooo`8000001P3oool00`00
+0000oooo0?ooo`0:0?ooo`Co00000P3oool4o`000080oooo1?l000020?ooo`06o`00000000000000
+o`00003oool000001?l00000103oool00000000000000002o`0000<0oooo1?l000020?ooo`Co0000
+503oool00`000000oooo0?ooo`0A0?ooo`060000003oool0ooooo`00003oool00000E03oool005@0
+oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`0:0?ooo`03o`00003ooooo000000h0
+oooo0P0000050?ooo`030000003oool0oooo00D0oooo0`00000;0?ooo`03o`00003oool0oooo0140
+oooo00<000000?ooo`3oool02`3oool2o`0000@0oooo00?o00000?ooo`0000000P3oool00`000000
+oooo0?ooo`1C0?ooo`00E03oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo00L0oooo
+00Ko00000?ooo`3ooooo00000?ooool0000<0?ooo`030000003oool0oooo00D0oooo00<000000?oo
+o`3oool0203oool3000000P0oooo00?o00000?ooo`3oool04@3oool00`000000oooo0?ooo`0:0?oo
+o`03o`00003oool0oooo00@0oooo00?o00000?ooo`0000000P3oool00`000000oooo0?ooo`1C0?oo
+o`00E03oool00`000000oooo000000070?ooo`030000003oool0oooo00D0oooo00Go00000?ooo`3o
+ool0ooooo`0000040?ooo`03o`00003oool0oooo00D0oooo0P0000080?ooo`030000003oool0oooo
+00/0oooo0`0000040?ooo`03o`00003oool0oooo0180oooo00<000000?ooo`3oool04`3oool01000
+003o00000?ooo`00001E0?ooo`00E@3oool2000000L0oooo00<000000?ooo`3oool0103oool00ol0
+0000oooo0?ooo`080?ooo`03o`00003oool0oooo0080oooo0P00000:0?ooo`030000003oool0oooo
+00h0oooo0`0000000`3ooooo00000?ooo`0B0?ooo`030000003oool0oooo00P0oooo00?o00000?oo
+o`3oool02@3oool01000003o00000?ooo`00001E0?ooo`00E@3oool2000000P0oooo00<000000?oo
+o`3oool03`3oool01?l00000oooo0?ooo`00000<0?ooo`030000003oool0oooo0140oooo0`00000B
+0?ooo`030000003oool0oooo00L0oooo00?o00000?ooo`3oool01P3oool02?l00000oooo0?ooo`3o
+ool00000o`00003oool00000E@3oool005D0oooo0P0000080?ooo`050000003oool0oooo0?ooool0
+00001`3oool00ol00000oooo0?ooo`040?ooo`8000003P3oool00`000000oooo0?ooo`0C0?ooo`<0
+00003`3oool00`000000oooo0?ooo`060?ooo`03o`00003oool0oooo00L0oooo00Oo00000?ooo`3o
+ool0oooo00000?l00000000005H0oooo001F0?ooo`030000003oool0oooo00L0oooo00@000000?oo
+o`3ooooo00001`3oool00ol00000oooo0?ooo`020?ooo`8000000P3oool2o`0000`0oooo00<00000
+0?ooo`3oool04@3oool00ol00000oooo0?ooo`020?ooo`<000002`3oool00`000000oooo0?ooo`0@
+0?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`000000EP3oool005H0oooo00<000000?oo
+o`3oool01`3oool00`000000ooooo`0000090?ooo`04o`00003oool0oooo000000H0oooo00?o0000
+0?ooo`3oool02@3oool00`000000oooo0?ooo`0A0?ooo`03o`00003oool0oooo00D0oooo0`000008
+0?ooo`030000003oool0oooo00@0oooo00?o00000?ooo`3oool03P3oool00`000000oooo0000001F
+0?ooo`00EP3oool2000000T0oooo00<000000?ooo`3oool0203oool00ol0000000000000000C0?oo
+o`030000003oool0oooo0140oooo00?o00000?ooo`3oool0203oool3000000D0oooo00<000000?oo
+o`3oool00`3oool00ol00000oooo0?ooo`0@0?ooo`800000EP3oool005L0oooo00<000000?ooo`3o
+ool01`3oool00`000000oooo0?ooo`070?ooo`800000303oool00ol00000oooo0?ooo`070?ooo`03
+0000003oool0oooo0100oooo00?o00000?ooo`3oool02`3oool3000000030?ooo`000000oooo00@0
+oooo00?o00000?ooo`3oool02@3oool00ol00000oooo0?ooo`050?ooo`800000EP3oool005L0oooo
+0P0000060?ooo`04o`00003oool0oooo000000L0oooo00<000000?ooo`3oool03@3oool00ol00000
+oooo0?ooo`060?ooo`030000003oool0oooo0240oooo3`0000040?ooo`03o`00003oool0oooo00D0
+oooo00<000000?ooo`3oool0E@3oool005L0oooo0P0000050?ooo`05o`00003oool0oooo0?ooo`00
+00001@3oool2000000<0oooo00?o00000?ooo`3oool02`3oool00ol00000oooo0?ooo`050?ooo`03
+0000003oool0oooo0280oooo00@000000?ooool0003o00002P3oool=000005L0oooo001G0?ooo`03
+0000003oool0oooo00<0oooo00?o00000?ooo`3oool00`3oool00`000000oooo0?ooo`02000000D0
+oooo00?o00000?ooo`3oool03P3oool2o`0000<0oooo00<000000?ooo`3oool0403oool00ol00000
+oooo0?ooo`0>0?ooo`030000003ooooo000000l0oooo00?o00000?ooo`3oool0103oool00`000000
+oooo0?ooo`1G0?ooo`00F03oool00`000000oooo0?ooo`080?ooo`030000003oool0000000P0oooo
+00?o00000?ooo`3oool03`3oool01?l00000oooo0?ooo`00000B0?ooo`03o`00003oool0oooo00d0
+oooo00<000000?ooo`3oool05P3oool00`000000oooo0?ooo`1H0?ooo`00F03oool00`000000oooo
+0?ooo`070?ooo`@000006`3oool01?l00000oooo0?ooo`00000A0?ooo`03o`00003oool0oooo00d0
+oooo00<000000?ooo`3oool03P3oool00ol00000oooo0?ooo`030?ooo`800000F`3oool005P0oooo
+00@000000?ooo`3ooooo00000P3oool4000000@0oooo00<000000?ooo`3oool06`3oool00`000000
+oooo0?ooo`0?0?ooo`03o`00003oool0oooo00`0oooo00<00000o`00003oool03`3oool00ol00000
+oooo0?ooo`020?ooo`800000G03oool005T0oooo00<00000o`00000000000P0000090?ooo`030000
+003oool0oooo00D0oooo00?o00000?ooo`3oool04@3oool00ol000000000o`00000N0?ooo`030000
+003oool0oooo00l0oooo00?o00000?ooo`3oool00P3oool2000005d0oooo001I0?ooo`8000003@3o
+ool00`000000oooo0?ooo`040?ooo`03o`00003oool0oooo0180oooo00<000000?ooool000007@3o
+ool00`000000oooo0?ooo`0?0?ooo`03o`00003oool0oooo00<00000GP3oool005/0oooo0`00000;
+0?ooo`030000003oool0oooo00@0oooo00?o00000?ooo`3oool04@3oool00`000000oooo0?ooo`0?
+0?ooo`03o`00003oool0oooo00P0oooo00?o00000?ooo`000000503oool00`000000oooo0000001O
+0?ooo`00G03oool3000000/0oooo00<000000?ooo`3oool00`3oool00ol00000oooo0?ooo`0B0?oo
+o`050000003oool0oooo0?ooool00000303oool00ol00000oooo0?ooo`070?ooo`03o`00003oool0
+000001@0oooo00<000000?ooo`000000H03oool005h0oooo0P00000;0?ooo`030000003oool0oooo
+01L0oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?ooo`090?ooo`03o`00003oool0oooo
+00H0oooo00Co00000?ooo`3oool000004@3oool01Ol0000000000000003oool000000640oooo001O
+0?ooo`80000000<0oooo000000000000203oool00`000000oooo0?ooo`0F0?ooo`030000003oool0
+oooo00<0oooo00?o00000?ooo`3oool0203oool00ol00000oooo0?ooo`080?ooo`030000003oool0
+oooo0100oooo00@000000?ooo`3oool00000HP3oool00640oooo00@000000?ooo`3oool00000203o
+ool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo0100oooo00<000000?ooo`3oool0503o
+ool01Ol00000oooo0?ooo`3oool000000180oooo00@000000?ooo`3oool00000H`3oool00680oooo
+00<000000?ooo`3oool02@3oool01@000000oooo0?ooo`3ooooo000001<0oooo00<000000?ooo`3o
+ool01@3oool2o`0000/0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`0?0?ooo`04
+0000003oool0oooo000006@0oooo001S0?ooo`8000000P3oool3000000D0oooo00D000000?ooo`3o
+ool0ooooo`00000B0?ooo`030000003oool0oooo00L0oooo00?o00000?ooo`3oool01`3oool00ol0
+0000oooo0?ooo`020?ooo`030000003oool0oooo00h0oooo0P0000020?ooo`030000003oool0oooo
+06<0oooo001U0?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool00`3oool010000000
+oooo0?ooool0000B0?ooo`030000003oool0oooo00`0oooo00?o00000?ooo`3oool01P3oool00`00
+0000oooo0?ooo`0>0?ooo`050000003ooooo00000?ooo`000000IP3oool006H0oooo0P0000090?oo
+o`030000003oool0oooo0180oooo00<000000?ooo`3oool02P3oool3o`0000030?ooool0003o0000
+00D0oooo00<000000?ooo`3oool03@3oool01@000000oooo0?ooool00000000006L0oooo001X0?oo
+o`030000003oool0oooo0080oooo0P0000030?ooo`030000003oool0oooo0140oooo00<000000?oo
+o`3oool02`3oool5o`000080oooo0_l000000`000000oooo0?ooo`0<0?ooo`8000000P3oool00ol0
+000000000?ooo`1W0?ooo`00J@3oool2000000@0oooo00H000000?ooo`3oool0oooo00000?l0000B
+0?ooo`030000003oool0oooo0080oooo1?l000030?ooo`03o`00003ooooo000000H0oooo00<00000
+0?ooool000000`3oool3o`0000<0oooo0ol0000010000000oooo0?ooool00002000006T0oooo001[
+0?ooo`030000003oool0oooo00@0oooo0`00000=0?ooo`;o00000P3oool01?l000000000o`000?l0
+000:0?ooo`03o`00003oool0oooo00D0oooo00<000000?ooo`3oool02`3oool01@000000oooo0?oo
+o`3oool0000006/0oooo001/0?ooo`8000001P3oool2000000@0oooo1?l000020?ooo`;o00001@3o
+ool00`000000oooo0?ooo`0:0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool02P3o
+ool200000080oooo0P00001/0?ooo`00KP3oool00`000000oooo0?ooo`040?ooo`03o`000000003o
+000000l0oooo00<000000?ooo`3oool0403oool00`000000oooo0?ooo`0:0?ooo`050000003oool0
+oooo0?ooo`000000KP3oool006l0oooo0P0000060?ooo`030000003oool0oooo00h0oooo00<00000
+0?ooo`3oool03`3oool00`000000oooo0?ooo`090?ooo`030000003oool0oooo00800000K`3oool0
+0740oooo00<000000?ooo`3oool0103oool2000000h0oooo00<000000?ooo`3oool0203oool00ol0
+0000oooo0?ooo`030?ooo`030000003oool0oooo00P0oooo0P0000020?ooo`030000003oool0oooo
+06l0oooo001b0?ooo`8000001@3oool2000000d0oooo00<000000?ooo`3oool0203oool00ol00000
+oooo0?ooo`020?ooo`030000003oool0oooo00P0oooo00<000000?ooo`3oool00P00001b0?ooo`00
+M03oool00`000000oooo0?ooo`030?ooo`800000303oool00`000000oooo0?ooo`070?ooo`03o`00
+003oool0oooo00<0oooo00<000000?ooo`3oool01`3oool010000000oooo0?ooo`00001d0?ooo`00
+M@3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo00T0oooo00<000000?ooo`3oool0
+1`3oool00ol00000oooo0?ooo`020?ooo`030000003oool0oooo00H0oooo0P0000000`3oool00000
+0000001e0?ooo`00MP3oool2000000@0oooo0P00000;0?ooo`030000003oool0oooo00X0oooo00<0
+00000?ooo`3oool01P3oool010000000oooo0?ooo`00001g0?ooo`00N03oool00`000000oooo0?oo
+o`020?ooo`8000002P3oool00`000000oooo0?ooo`0:0?ooo`030000003oool0oooo00D0oooo00@0
+00000?ooo`0000000000N03oool007T0oooo0P0000030?ooo`8000002@3oool00`000000oooo0?oo
+o`050?ooo`05o`00003oool0oooo0?ooo`0000001P3oool2000000030?ooo`000000oooo07T0oooo
+001k0?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool01P3oool00`000000oooo0?oo
+o`050?ooo`04o`00003oool0oooo000000H0oooo00@000000?ooo`0000000000N`3oool007`0oooo
+0P0000030?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool0103oool01Ol00000oooo
+0?ooo`3oool0000000D0oooo00<000000?ooo`000000O@3oool007h0oooo00D000000?ooo`3oool0
+oooo000000070?ooo`030000003oool0oooo00<0oooo00Co00000?ooo`3oool000001@3oool30000
+07h0oooo001o0?ooo`8000000P3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo00D0
+oooo00<000000?ooo`3oool00P3oool300000800oooo00210?ooo`040000003oool0oooo000000D0
+oooo00<000000?ooo`3oool01@3oool010000000oooo0?ooo`3oool300000840oooo00220?ooo`80
+000000<0oooo0000003oool00`3oool00`000000oooo0?ooo`020?ooo`03o`00003oool0000000<0
+oooo0P0000230?ooo`00Q03oool3000000@0oooo00H000000?ooo`3oool0ooooo`00000000020?oo
+o`<00000Q03oool008D0oooo00<000000?ooo`0000000`3oool01`000000oooo0?ooool00000oooo
+0000003oool00P0000260?ooo`00QP3oool300000080oooo00H000000?ooo`3oool0oooo0000003o
+ool2000008L0oooo00280?ooo`80000000@0oooo0000003oool0oooo0`0000290?ooo`00R@3oool3
+00000004o`00003oool00000000008X0oooo002;0?ooo`<00000S03oool008`0oooo00<000000?oo
+o`3oool0R`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool0
+0?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00001\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.4104 .57603 m
+.5704 .56684 L
+s
+.4104 .57603 m
+.55806 .45048 L
+s
+.44521 .41961 m
+.4104 .57603 L
+s
+.34205 .4116 m
+.4104 .57603 L
+s
+.30586 .5282 m
+.4104 .57603 L
+s
+.33127 .64347 m
+.4104 .57603 L
+s
+.4409 .687 m
+.4104 .57603 L
+s
+.56177 .66998 m
+.4104 .57603 L
+s
+.55806 .45048 m
+.72174 .53604 L
+s
+.55806 .45048 m
+.5704 .56684 L
+s
+.63136 .38822 m
+.55806 .45048 L
+s
+.5 .27523 m
+.55806 .45048 L
+s
+.44521 .41961 m
+.55806 .45048 L
+s
+.5704 .56684 m
+.72174 .53604 L
+s
+.56177 .66998 m
+.5704 .56684 L
+s
+.44521 .41961 m
+.5 .27523 L
+s
+.34205 .4116 m
+.44521 .41961 L
+s
+.63136 .38822 m
+.72174 .53604 L
+s
+.67212 .35366 m
+.63136 .38822 L
+s
+.5 .27523 m
+.63136 .38822 L
+s
+.56177 .66998 m
+.72174 .53604 L
+s
+.56177 .66998 m
+.4409 .687 L
+s
+.56177 .66998 m
+.5 .75807 L
+s
+.56177 .66998 m
+.64223 .66726 L
+s
+.34205 .4116 m
+.5 .27523 L
+s
+.30586 .5282 m
+.34205 .4116 L
+s
+.35775 .3327 m
+.34205 .4116 L
+s
+.24533 .45861 m
+.34205 .4116 L
+s
+.67212 .35366 m
+.72174 .53604 L
+s
+.64223 .66726 m
+.72174 .53604 L
+s
+.0035 w
+[ ] 0 setdash
+.716 .46862 m
+.72174 .53604 L
+s
+.68501 .60355 m
+.72174 .53604 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.5 .27523 m
+.67212 .35366 L
+s
+.35775 .3327 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.56576 .2919 m
+.5 .27523 L
+s
+.42762 .30083 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.4409 .687 m
+.33127 .64347 L
+s
+.5 .75807 m
+.4409 .687 L
+s
+.24533 .45861 m
+.30586 .5282 L
+s
+.33127 .64347 m
+.30586 .5282 L
+s
+.0035 w
+[ ] 0 setdash
+.33127 .64347 m
+.24533 .45861 L
+s
+.33127 .64347 m
+.34491 .63198 L
+s
+.5 .75807 m
+.33127 .64347 L
+s
+.64223 .66726 m
+.5 .75807 L
+s
+.64223 .66726 m
+.68501 .60355 L
+s
+.35775 .3327 m
+.42762 .30083 L
+s
+.24533 .45861 m
+.35775 .3327 L
+s
+.716 .46862 m
+.67212 .35366 L
+s
+.62321 .39544 m
+.67212 .35366 L
+s
+.56576 .2919 m
+.67212 .35366 L
+s
+.62321 .39544 m
+.716 .46862 L
+s
+.68501 .60355 m
+.716 .46862 L
+s
+.56576 .2919 m
+.62321 .39544 L
+s
+.42762 .30083 m
+.56576 .2919 L
+s
+.5 .75807 m
+.34491 .63198 L
+s
+.5 .75807 m
+.42176 .56672 L
+s
+.5 .75807 m
+.57206 .60573 L
+s
+.68501 .60355 m
+.5 .75807 L
+s
+.24533 .45861 m
+.42762 .30083 L
+s
+.24533 .45861 m
+.40739 .41207 L
+s
+.34491 .63198 m
+.24533 .45861 L
+s
+.42176 .56672 m
+.24533 .45861 L
+s
+.68501 .60355 m
+.62321 .39544 L
+s
+.68501 .60355 m
+.57206 .60573 L
+s
+.42762 .30083 m
+.62321 .39544 L
+s
+.40739 .41207 m
+.42762 .30083 L
+s
+.42176 .56672 m
+.34491 .63198 L
+s
+.57206 .60573 m
+.62321 .39544 L
+s
+.57206 .60573 m
+.42176 .56672 L
+s
+.40739 .41207 m
+.62321 .39544 L
+s
+.42176 .56672 m
+.40739 .41207 L
+s
+.42176 .56672 m
+.62321 .39544 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00R`3oool4000008/0oooo00280?ooo`<000000ol0
+0000103oool000000000000000280?ooo`00Q@3oool300000080oooo00?o00000?ooo`3oool00_l0
+00030?ooo`@00000Q03oool00880oooo0`0000060?ooo`03o`00003ooooo000000D0oooo00<00000
+0?ooo`3oool0100000200?ooo`00O`3oool3000000D0oooo00Go00000?ooo`3oool0ooooo`000005
+0?ooo`04o`00003oool0oooo000000D0oooo0`00001m0?ooo`00O03oool3000000L0oooo00Go0000
+0?ooo`3oool0ooooo`0000070?ooo`03o`00003oool0oooo00/00000NP3oool007T0oooo0`000000
+0`3oool00000000000030?oooa<000001@3oool01P000000oooo0?ooo`3oool000000?ooo`800000
+N03oool007L0oooo2`00000<0?ooo`03o`00003oool0oooo00h0oooo00@000000?ooo`3oool00000
+M`3oool007D0oooo100000000`3oool00000000000060?ooo`03o`00003oool0oooo00X0oooo00?o
+00000?ooo`3oool00`3oool2o`0000H0oooo0`0000030?ooo`800000M@3oool00780oooo1@000000
+0`3oool000000?ooo`020?ooo`8000000`3oool00ol00000oooo0?ooo`050?ooo`03o`00003oool0
+oooo00/0oooo00?o00000?ooo`3oool01@3oool2000000@0oooo0P00001c0?ooo`00L03oool30000
+00030?ooo`000000oooo0080oooo00<000000?ooo`3oool00`3oool200000003o`00003oool0oooo
+00H0oooo00?o00000?ooo`3oool0303oool00ol00000oooo0?ooo`060?ooo`@000000P3oool20000
+0740oooo001^0?ooo`<000000P3oool01@000000oooo0?ooo`3oool0000000P0oooo0P0000060?oo
+o`03o`00003oool0oooo01H0oooo00D000000?ooo`3oool0oooo000000030?ooo`030000003oool0
+oooo06h0oooo001/0?ooo`8000000`3oool2000000@0oooo00<000000?ooo`3oool0103oool01?l0
+0000oooo0?ooo`3oool2000000@0oooo00?o00000?ooo`3oool01@3oool00ol00000oooo0?ooo`07
+0?ooo`03o`00003oool0oooo00D0oooo00<000000?ooo`3oool01@3oool2000006h0oooo001Z0?oo
+o`<000000`3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo00<0oooo00?o00000?oo
+o`3oool0103oool2000000X0oooo00?o00000?ooo`3oool0203oool00ol00000oooo0?ooo`040?oo
+o`030000003oool0oooo00<0oooo0`0000000`3oool000000000001/0?ooo`00I`3oool4000000@0
+oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo00L0
+oooo0P0000090?ooo`03o`00003oool0oooo00P0oooo00?o00000?ooo`3oool0103oool00`000000
+oooo0?ooo`050?ooo`030000003oool0oooo00800000JP3oool006D0oooo0`0000060?ooo`030000
+003oool0oooo00H0oooo00<000000?ooo`3oool0303oool01?l00000oooo00000000000J0?ooo`03
+0000003oool0oooo00L0oooo1000001X0?ooo`00I03oool2000000L0oooo00<000000?ooo`3oool0
+1P3oool010000000oooo0?ooool0000<0?ooo`04o`00003oool0oooo0?ooo`8000004`3oool00ol0
+0000oooo0?ooo`020?ooo`030000003oool0oooo00T0oooo00<000000?ooo`000000I`3oool006@0
+oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`070?ooo`030000003ooooo000000`0
+oooo00?o00000?ooo`3oool0103oool2000000@0oooo00?o00000?ooo`3oool02`3oool00ol00000
+oooo0?ooo`020?ooo`030000003oool0oooo00/0oooo0P00001U0?ooo`00H`3oool00`000000oooo
+0?ooo`040?ooo`8000002P3oool00`00003o00000?ooo`0E0?ooo`8000000P3oool00ol00000oooo
+0?ooo`0<0?ooo`05o`00003oool0oooo0?ooo`0000003@3oool4000006<0oooo001R0?ooo`030000
+0?l00000oooo00@0oooo00<000000?ooo`3oool02P3oool00`000000oooo0?ooo`0G0?ooo`800000
+00<0ooooo`00003oool04@3oool00`000000oooo0?ooo`0=0?ooo`<00000H@3oool00640oooo00<0
+00000?ooo`3oool0103oool00`000000oooo0?ooo`090?ooo`03o`00003oool0000000d0oooo00?o
+00000?ooo`3oool02`3oool3000000h0oooo0_l000020?ooo`030000003oool0oooo00l0oooo0P00
+001O0?ooo`00H03oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo00T0oooo00?o0000
+0?ooo`0000003P3oool00ol00000oooo0?ooo`0>0?ooo`8000003P3oool00ol00000oooo0000000B
+0?ooo`800000GP3oool005l0oooo00D000000?ooo`3oool0ooooo`0000020?ooo`030000003oool0
+oooo00T0oooo00Co00000?ooo`3oool000003@3oool00ol00000oooo0?ooo`0A0?ooo`8000003@3o
+ool00ol00000oooo0000000B0?ooo`800000G@3oool005h0oooo00<000000?ooo`3oool00P3oool0
+0ol0000000000000000?0?ooo`030000003oool0oooo00/0oooo00?o00000?ooo`3oool03P3oool0
+0ol00000oooo0?ooo`020?ooo`8000003@3oool00`000000oooo0?ooo`0?0?ooo`0300000?l00000
+000005d0oooo001M0?ooo`030000003oool0oooo0080oooo00?o00000000003oool02`3oool00ol0
+0000oooo0?ooo`020?ooo`030000003oool0oooo01`0oooo00?o00000?ooo`3oool0103oool20000
+00/0oooo00?o00000000003oool03P3oool01@00003o00000?ooo`3oool0000005`0oooo001L0?oo
+o`030000003oool0oooo00<0oooo00<000000?ooo`3oool02P3oool00ol00000oooo0?ooo`030?oo
+o`030000003oool0oooo01d0oooo00?o00000?ooo`3oool01@3oool2000000X0oooo00<000000?oo
+o`3oool0303oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo05X0oooo001K0?ooo`03
+0000003oool0oooo00<0oooo00<000000?ooo`3oool02P3oool00ol00000oooo0?ooo`030?ooo`03
+0000003oool0oooo00/0oooo00?o00000?ooo`3oool0403oool00ol00000oooo0?ooo`070?ooo`80
+00002@3oool00`000000oooo0?ooo`0:0?ooo`0300000?l00000oooo00<0oooo00<000000?ooo`3o
+ool0FP3oool005X0oooo00<000000?ooo`3oool00`3oool00`000000oooo0?ooo`0A0?ooo`030000
+003oool0oooo00/0oooo00?o00000?ooo`3oool0703oool2000000P0oooo00<000000?ooo`3oool0
+203oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo05T0oooo001I0?ooo`030000003o
+ool0oooo00<0oooo00@000000?ooo`3ooooo0000203oool00ol00000oooo0?ooo`060?ooo`030000
+003oool0oooo00X0oooo00?o00000?ooo`3oool07`3oool2000000H0oooo00<000000?ooool00000
+1`3oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo05T0oooo001I0?ooo`040000003o
+ool0oooo0?ooo`8000000`3oool00ol00000oooo0?ooo`050?ooo`03o`00003oool0oooo00L0oooo
+00<000000?ooo`3oool02P3oool00ol00000oooo0?ooo`0B0?ooo`03o`00003oool0oooo00`0oooo
+0P0000050?ooo`030000003ooooo000000D0oooo00<000000?ooo`3oool01`3oool00ol000000000
+0?ooo`1I0?ooo`00F03oool01@000000oooo0?ooo`3oool0000000@0oooo00?o00000?ooo`3oool0
+1@3oool00ol00000oooo0?ooo`080?ooo`030000003oool0oooo01l0oooo00?o00000?ooo`3oool0
+3P3oool2000000<0oooo00@000000?ooo`3ooooo00000`3oool00`000000oooo0?ooo`090?ooo`03
+0000003oool0oooo05P0oooo001G0?ooo`050000003oool0oooo0?ooo`0000001@3oool00ol00000
+oooo0?ooo`0?0?ooo`030000003oool0oooo0240oooo00?o00000?ooo`3oool03`3oool200000080
+oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`0:0?ooo`030000003oool0oooo05P0
+oooo001F0?ooo`050000003oool0oooo0?ooo`0000002`3oool00ol00000oooo0?ooo`0:0?ooo`03
+0000003oool0oooo00X0oooo00?o00000?ooo`3oool0503oool00ol00000oooo0?ooo`0A0?ooo`80
+000000D0oooo0000003ooooo00000000000>0?ooo`030000003oool0oooo05L0oooo001E0?ooo`05
+0000003oool0oooo0?ooo`0000002`3oool00ol00000oooo0?ooo`0;0?ooo`030000003oool0oooo
+00X0oooo00?o00000?ooo`3oool0:P3oool200000003o`000000003o000000h0oooo00<000000?oo
+o`3oool0E`3oool005@0oooo00<000000?ooo`3oool00P0000070?ooo`05o`00003oool0oooo0?oo
+ool000003P3oool00`000000oooo0?ooo`090?ooo`03o`00003oool0oooo02D0oooo2P0000000`3o
+oooo00000?ooo`0<0?ooo`03o`0000000000oooo05L0oooo001C0?ooo`040000003oool0oooo0000
+00T0oooo00?o00000?ooo`3oool0403oool00`000000oooo0?ooo`090?ooo`03o`00003oool0oooo
+01H0oooo3`0000060?ooo`050000003oool000000?ooo`0000003P3oool00ol0000000000?ooo`1G
+0?ooo`00DP3oool010000000oooo0?ooo`00000:0?ooo`03o`00003ooooo000000l0oooo00<00000
+0?ooo`3oool0503oool?00000003o`00003oool0oooo0100oooo00Go00000000003oool0oooo0000
+00020?ooo`030000003oool0oooo00/0oooo00?o00000000003oool0E`3oool00540oooo00@00000
+0?ooo`3oool000002`3oool2o`000100oooo00<000000?ooo`3oool01@3oool?00000100oooo00?o
+00000?ooo`3oool03P3oool01ol0000000000?ooo`3oool000000?ooo`0000000P3oool2000000/0
+oooo00?o00000?ooo`000000E`3oool00500oooo00@000000?ooo`3oool00000303oool3o`0000d0
+oooo2P0000040?ooo`03o`00003oool0oooo01P0oooo00?o00000?ooo`3oool03P3oool01`000000
+oooo0?ooo`3oool000000?ooo`000000103oool00`000000oooo0?ooo`0:0?ooo`030000003oool0
+oooo05D0oooo001?0?ooo`040000003oool0oooo000000X0oooo00Co00000?ooool0003o00001@3o
+ool4o`000080oooo00Co000000000000000000000P3oool00`000000oooo0?ooo`090?ooo`03o`00
+003oool0oooo02L0oooo0P0000040?ooo`030000003oool0000000D0oooo00<000000?ooo`3oool0
+2P3oool00`000000oooo0?ooo`1D0?ooo`00C`3oool3000000X0oooo00Ko00000?ooo`3ooooo0000
+0?ooool000070?ooo`@000001@3oool01000003o0000o`000?l000020?ooo`Co000000<0ooooo`00
+0?l000009`3oool00ol0000000000?ooo`050?ooo`040000003oool0oooo000000D0oooo00<00000
+0?ooo`3oool01`3oool00ol00000oooo0000001F0?ooo`00CP3oool2000000/0oooo00Oo00000?oo
+o`3oool0ooooo`00003ooooo000000@0oooo0`0000090?ooo`030000003oool0oooo00P0oooo00?o
+00000?ooool000006P3oool00ol00000oooo0?ooo`080?ooo`03o`0000000000oooo00D0oooo00D0
+00000?ooo`3oool0oooo000000060?ooo`8000001`3oool01?l00000oooo0?ooo`00001E0?ooo`00
+C@3oool2000000P0oooo0_l000090?ooo`@00000303oool00`000000oooo0?ooo`070?ooo`03o`00
+003oool0oooo00@0oooo0_l0000E0?ooo`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool0
+1@3oool01@000000oooo0?ooo`3oool0000000D0oooo00Co00000?ooo`3oool000001`3oool00ol0
+0000oooo0000001E0?ooo`00C03oool2000000L0oooo0_l000080?ooo`<00000403oool00`000000
+oooo0?ooo`070?ooo`03o`00003oool0oooo00H0oooo00?o00000?ooo`3oool04P3oool00ol00000
+oooo0?ooo`070?ooo`030000003oool0oooo00H0oooo00D000000?ooo`3oool0oooo000000050?oo
+o`05o`00003oool0oooo0?ooo`0000001P3oool00ol00000oooo0000001E0?ooo`00B`3oool20000
+00h0oooo100000030?ooo`03o`00003oool0oooo00h0oooo00<000000?ooo`3oool04P3oool4o`00
+00h0oooo00?o00000?ooo`3oool01@3oool00ol0000000000?ooo`080?ooo`030000003oool0oooo
+0080oooo00<000000?ooo`3oool00`3oool01?l00000oooo0?ooo`3oool2000000L0oooo00<00000
+0?ooo`3oool0DP3oool004X0oooo0P0000050?ooo`;o0000103oool4000000<0oooo00Go00000?oo
+o`3oool0ooooo`00000@0?ooo`030000003oool0oooo01P0oooo0ol0000@0?ooo`8000002@3oool0
+0`000000oooo0?ooo`030?ooo`030000003oool0oooo00@0oooo00?o00000?ooo`3oool00P3oool0
+0`000000oooo0?ooo`040?ooo`030000003oool0oooo0580oooo00190?ooo`030000003oool0oooo
+00@0oooo00Co00000?ooo`3oool0oooo0`0000070?ooo`03o`00003oool0oooo0080oooo00?o0000
+0?ooo`3oool03@3oool00`000000oooo0?ooo`050?ooo`03o`00003oool0oooo01<0oooo00?o0000
+0?ooo`3oool0303oool00`000000oooo0?ooo`090?ooo`030000003oool0oooo00<0oooo00<00000
+0?ooo`3oool02P3oool01@000000oooo0?ooo`3ooooo00000080oooo00<000000?ooo`3oool0D@3o
+ool004P0oooo00@000000?ooo`3oool0oooo0_l000020?ooo`@000002@3oool00ol00000oooo0?oo
+o`0C0?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool05P3oool3o`0000D0oooo00Co
+00000?ooo`3oool00000303oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo00D0oooo
+00?o00000?ooo`3oool00P3oool2000000050?ooool00000oooo0?ooo`000000D`3oool004L0oooo
+00H000000?ooo`3oool0ooooo`00003oool3000002<0oooo00<000000?ooo`3oool01@3oool00ol0
+0000oooo0?ooo`0I0?ooo`03o`00003oool0oooo0080oooo0_l000000`000000oooo0?ooo`0;0?oo
+o`030000003oool0oooo00@0oooo00<000000?ooo`3oool01@3oool00ol00000oooo0?ooo`040?oo
+o`050000003ooooo00000?ooo`000000D`3oool004H0oooo00<000000?ooo`3oool01000000V0?oo
+o`030000003oool0oooo00D0oooo00?o00000?ooo`3oool0703oool3o`00000300000?l00000oooo
+00/0oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`060?ooo`03o`00003oool0oooo
+00@0oooo00D00000o`00003oool0oooo0000001B0?ooo`00A@3oool4000001/0oooo00?o00000?oo
+o`3oool0303oool00`000000oooo0?ooo`0U0?ooo`8000000P3oool00ol00000oooo0?ooo`090?oo
+o`030000003oool0oooo00H0oooo00<000000?ooo`3oool01@3oool00ol00000oooo0?ooo`050?oo
+o`040000003oool0oooo00000580oooo00140?ooo`8000005P3oool00ol00000oooo0?ooo`050?oo
+o`03o`00003oool0oooo00`0oooo00<000000?ooo`3oool0903oool01000003o00000?ooool0000=
+0?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool03P3oool2000000030?ooo`000000
+oooo0500oooo00140?ooo`<000005@3oool00ol00000oooo0?ooo`060?ooo`03o`00003oool0oooo
+00/0oooo00<000000?ooo`3oool08`3oool01@000000oooo0?ooo`3ooooo000000@0oooo0_l00007
+0?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool03@3oool00ol00000oooo0?ooo`02
+00000540oooo00150?ooo`@000004P3oool00ol00000oooo0?ooo`0E0?ooo`030000003oool0oooo
+00@0oooo00?o00000?ooo`3oool06`3oool00`000000oooo0?ooo`090?ooo`03o`00003oool0oooo
+00<0oooo00<000000?ooo`3oool01`3oool00`000000oooo0?ooo`070?ooo`03o`00003oool0oooo
+00<0oooo00Go00000?ooo`3oool0oooo0000001A0?ooo`00A@3oool010000000oooo0?ooo`3oool2
+000002P0oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`0J0?ooo`030000003oool0
+oooo0100oooo00<000000?ooo`3oool0203oool00`000000oooo0?ooo`060?ooo`03o`00003oool0
+oooo00@0oooo00Go00000?ooo`3oool0oooo0000001@0?ooo`00AP3oool00`000000oooo0?ooo`02
+0?ooo`030000003oool0oooo01T0oooo00?o00000?ooo`3oool02P3oool00`000000oooo0?ooo`02
+0?ooo`03o`00003oool0oooo01T0oooo0P0000060?ooo`03o`00003oool0oooo00L0oooo0ol00000
+0`000000oooo0?ooo`080?ooo`030000003oool0oooo00L0oooo00?o00000?ooo`3oool01`3oool0
+0`000000oooo0?ooo`1>0?ooo`00AP3oool3000000<0oooo0P00000<0?ooo`03o`00003oool0oooo
+00X0oooo00?o00000?ooo`3oool02P3oool00`000000oooo0?ooo`0M0?ooo`030000003oool0oooo
+00H0oooo00?o00000?ooo`3oool02P3oool00`000000oooo0?ooo`080?ooo`030000003oool0oooo
+0140oooo00<000000?ooo`3oool0CP3oool004L0oooo00<000000?ooo`000000103oool00`000000
+oooo0?ooo`090?ooo`03o`00003oool0oooo00/0oooo00?o00000?ooo`3oool02@3oool00`000000
+oooo0?ooo`0L0?ooo`030000003oool0oooo00L0oooo00?o00000?ooo`3oool02@3oool00`000000
+oooo0?ooo`0:0?ooo`030000003oool0oooo00l0oooo0P00001@0?ooo`00A`3oool2000000030?oo
+o`000000oooo00<0oooo0P0000080?ooo`03o`00003oool0oooo00`0oooo00?o00000?ooo`3oool0
+2@3oool00`000000oooo0?ooo`0K0?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool0
+2@3oool010000000oooo0?ooo`3oool2o`0000L0oooo00<000000?ooo`3oool0203oool00ol00000
+oooo0?ooo`020?ooo`04o`00003oool0000000000500oooo00180?ooo`030000003oool0oooo00H0
+oooo0P0000060?ooo`03o`00003oool0oooo01P0oooo00<000000?ooo`3oool00P3oool00ol00000
+oooo0?ooo`0D0?ooo`03o`0000000000oooo01H0oooo00<000000?ooo`3oool00`3oool00ol00000
+oooo0?ooo`040?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool00P3oool01?l00000
+oooo00000000001@0?ooo`00B03oool2000000T0oooo00<000000?ooo`3oool07P3oool00`000000
+oooo0?ooo`020?ooo`03o`00003oool0oooo01<0oooo00?o00000000003oool05`3oool00`000000
+oooo0?ooo`0:0?ooo`030000003oool0oooo00T0oooo00?o00000?ooo`3oool00P3oool00ol00000
+00000000001@0?ooo`00B@3oool01@000000oooo0?ooo`3oool0000000H0oooo0P00000C0?ooo`03
+o`00003oool0oooo00P0oooo00D000000?ooo`3oool0ooooo`00000E0?ooo`8000003P3oool00ol0
+0000oooo0?ooo`070?ooo`030000003oool0oooo00L0oooo0ol000020?ooo`030000003oool0oooo
+00d0oooo00<000000?ooo`000000D03oool004T0oooo0P0000020?ooo`030000003oool0oooo00H0
+oooo0P0000000ol00000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00P0oooo00<000000?ooo`3o
+ool05P3oool00`000000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00L0oooo00<000000?ooo`3o
+ool02P3oool00ol00000oooo0000000?0?ooo`030000003oool000000500oooo001:0?ooo`800000
+0P3oool00`000000oooo0?ooo`070?ooo`030000003oool0oooo00l0oooo00?o00000?ooo`3oool0
+1`3oool00`000000oooo0?ooo`0E0?ooo`0300000?l00000oooo00l0oooo00?o00000?ooo`3oool0
+1`3oool00`000000oooo0?ooo`0<0?ooo`0300000?l00000oooo00X0oooo00Ko00000?ooo`3oool0
+00000?ooo`00001@0?ooo`00BP3oool2000000/0oooo00Co00000?ooo`00000000003`3oool00ol0
+0000oooo0?ooo`070?ooo`030000003oool0oooo01<0oooo00?o00000000003oool04@3oool00ol0
+0000oooo0?ooo`060?ooo`030000003oool0oooo00h0oooo00<00000o`00003oool02@3oool01ol0
+0000oooo0?ooo`00003o00000?ooo`000000C`3oool004X0oooo00<000000?ooo`000000103oool0
+0`000000oooo0?ooo`030?ooo`05o`00003oool0oooo0?ooo`000000603oool010000000oooo0?oo
+ool0000B0?ooo`030000003oool0oooo01X0oooo00<000000?ooo`3oool03P3oool00`000000oooo
+o`00000:0?ooo`06o`00003oool00000o`00003oool00000C`3oool004/0oooo0P0000040?ooo`03
+0000003oool0oooo00P0oooo0P00000G0?ooo`030000003ooooo00000100oooo0P00000M0?ooo`03
+0000003oool0oooo00h0oooo00<000000?ooo`3oool00P3oool2o`0000L0oooo00D000000?ooool0
+0000oooo0000001?0?ooo`00B`3oool00`000000oooo000000040?ooo`030000003oool0oooo00T0
+oooo0P00000;0?ooo`03o`00003oool0oooo00L0oooo00<000000?ooool000003`3oool00`00003o
+00000?ooo`0M0?ooo`030000003oool0oooo00l0oooo00<000000?ooo`3oool00`3oool00ol00000
+oooo0?ooo`040?ooo`050000003oool0oooo0?ooo`000000C`3oool004`0oooo0P0000080?ooo`03
+o`00003oool0oooo00L0oooo00<000000?ooo`3oool02@3oool00ol00000oooo0?ooo`060?ooo`03
+0000003oool0oooo00h0oooo00<000000?ooo`3oool05@3oool00ol00000oooo0?ooo`050?ooo`03
+0000003oool0oooo0100oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`030?ooo`05
+0000003oool0oooo0?ooo`000000C`3oool004`0oooo00<000000?ooo`0000001`3oool00ol00000
+oooo0?ooo`080?ooo`8000002P3oool00ol00000oooo0?ooo`050?ooo`030000003oool0oooo00d0
+oooo00<000000?ooo`3oool05P3oool00ol00000oooo0?ooo`050?ooo`030000003oool0oooo0100
+oooo00<000000?ooo`3oool01`3oool01Ol00000oooo0?ooo`00003o00000080oooo00<000000?oo
+o`3oool0C@3oool004d0oooo00<000000?ooo`0000001@3oool00ol00000oooo0?ooo`0;0?ooo`03
+0000003oool0oooo00l0oooo00<000000?ooo`3oool0303oool00`000000oooo0?ooo`0H0?ooo`03
+o`00003oool0oooo00@0oooo00<000000?ooo`3oool0403oool00`000000oooo0?ooo`080?ooo`04
+o`0000000000oooo0?ooo`;o000000<000000?ooo`3oool0C@3oool004d0oooo00<000000?ooo`00
+00001@3oool00`00003o0000o`00000<0?ooo`8000003`3oool00`00003o00000?ooo`0:0?ooo`80
+00008P3oool00`000000oooo0?ooo`0A0?ooo`030000003oool0oooo00P0oooo00H000000?ooo`3o
+ool0ooooo`000000001?0?ooo`00CP3oool00`000000oooo000000040?ooo`040000003oool0oooo
+o`0000d0oooo0P0000060?ooo`03o`00003oool0oooo00@0oooo00<00000o`00003oool02@3oool0
+0`000000oooo0?ooo`0Q0?ooo`030000003oool0oooo0180oooo00<000000?ooo`3oool0203oool0
+0`000000oooo0?ooo`02o`0000030000003oool0oooo04d0oooo001>0?ooo`030000003oool00000
+00D0oooo00<000000?ooo`3oool03`3oool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo
+00@0oooo00<000000?ooo`3oool0203oool00`000000oooo0?ooo`0R0?ooo`030000003oool0oooo
+0180oooo00<000000?ooo`3oool0203oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo
+04d0oooo001?0?ooo`030000003oool0000000T0oooo0ol0000;0?ooo`800000103oool00ol00000
+oooo0?ooo`030?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3oool07@3oool00ol00000
+oooo0?ooo`030?ooo`030000003oool0oooo01<0oooo00<000000?ooo`3oool01P3oool01`00003o
+0000o`000?l00000ooooo`0000000000C`3oool004l0oooo00<000000?ooo`000000303oool00ol0
+0000oooo0?ooo`0:0?ooo`8000000P3oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo
+00D0oooo00?o00000000003oool07`3oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo
+01<0oooo00<000000?ooo`3oool00P3oool2o`000080oooo00H000000?ooo`3oool0ooooo`000000
+001@0?ooo`00D03oool00`000000oooo000000040?ooo`030000003oool0oooo00L0oooo0_l0000:
+0?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool0103oool00ol0000000000?ooo`0P
+0?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool04`3oool01?l0000000000?ooo`3o
+ool2o`0000@0oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`1>0?ooo`00D03oool0
+10000000oooo0?ooo`0000030?ooo`030000003oool0oooo00T0oooo00?o00000?ooo`3oool0203o
+ool2000000D0oooo00?o00000000003oool00`3oool200000280oooo00?o00000?ooo`3oool00P3o
+ool00`000000oooo0?ooo`0A0?ooo`;o000000<0oooo0000003oool01`3oool01@00003o00000?oo
+o`3oool000000540oooo001A0?ooo`030000003oool0000000<0oooo00<000000?ooo`3oool05P3o
+ool00`000000oooo0?ooo`020?ooo`03o`0000000000oooo0080oooo00<000000?ooo`3oool09`3o
+ool00`000000oooo0?ooo`0;0?ooo`Co00001P3oool00`000000oooo0?ooo`040?ooo`0600000?l0
+0000oooo0?ooool000000000D@3oool00540oooo00@000000?ooo`3oool000000P3oool00`000000
+oooo0?ooo`0<0?ooo`?o00001`3oool01ol0000000000000003ooooo00000?ooo`0000000P3oool0
+0`00003o00000?ooo`0X0?ooo`030000003oool0oooo00D0oooo1?l0000<0?ooo`030000003oool0
+oooo00@0oooo00D000000?ooo`3oool0oooo0000001B0?ooo`00DP3oool00`000000oooo0000000D
+0?ooo`03o`00003oool0oooo00D0oooo00So00000?ooo`00000000000?ooo`000000oooo000002L0
+oooo00Co00000?ooo`3oool00000103oool2o`000180oooo00<000000?ooo`3oool0103oool01@00
+0000oooo0?ooo`3oool000000580oooo001B0?ooo`040000003oool0oooo000001H0oooo0_l00003
+0?ooo`04o`00003oool0oooo0?ooo`<00000:03oool01?l00000ooooo`00000000020?ooo`;o0000
+5@3oool00`000000oooo0?ooo`02o`0000050?ooo`000000ooooo`0000000000D`3oool005<0oooo
+00<000000?ooo`000000603oool00ol00000oooo0?ooo`040?ooo`@000006P3oool2o`0000<0oooo
+1?l000020?ooo`Co000000<0oooo0000003oool0603oool00`000000ooooo`0000020?ooo`050000
+003oool0ooooo`0000000000D`3oool005<0oooo00H000000?ooo`3oool000000?ooo`00000J0?oo
+o`04o`000000003o000000000080oooo100000080?ooo`Co00000`3oool3o`0000<0oooo00?o0000
+0?ooo`3oool02`3oool01?l00000oooo0?ooo`00000I0?ooo`0300000?l00000oooo0080oooo00@0
+00000?ooool000000000E03oool005@0oooo00<000000?ooo`3oool00P00000I0?ooo`03o`000000
+003o000000;o000000<000000?ooool000000ol00004000000;o00007@3oool00ol00000oooo0000
+000K0?ooo`070000003oool0oooo0?ooo`000000oooo0000001E0?ooo`00E03oool01P000000oooo
+0?ooo`000000oooo000001L0oooo00?o000000000?l000000`3oool00`000000oooo0?ooo`070?oo
+o`<000006`3oool01?l00000oooo0?ooo`00000I0?ooo`03o`00003oool0000000<0oooo00<00000
+0?ooo`000000E@3oool005D0oooo00@000000?ooo`3oool000005`3oool2000000060?ooool00000
+oooo0?ooool000000000303oool4000001L0oooo00Co00000?ooo`3oool00000603oool01?l00000
+oooo0?ooo`0000030?ooo`800000EP3oool005D0oooo00@000000?ooo`3oool000005P3oool00`00
+0000oooo0?ooo`060?ooo`030000003oool0oooo00d0oooo1000000F0?ooo`030000003oool0oooo
+01D0oooo00Go00000?ooo`3oool0oooo000000020?ooo`0300000?l00000000005H0oooo001F0?oo
+o`040000003oool0oooo000001@0oooo00<000000?ooo`3oool01`3oool00`00003o00000?ooo`0A
+0?ooo`@000004@3oool00`000000oooo0?ooo`0K0?ooo`040000003oool00000000005L0oooo001F
+0?ooo`040000003oool0oooo000001<0oooo00<000000?ooo`3oool0103oool00ol00000oooo0?oo
+o`020?ooo`030000003oool0oooo01@0oooo1000000=0?ooo`030000003oool0oooo01<0oooo00?o
+00000?ooo`3oool01@3oool010000000oooo00000000001G0?ooo`00E`3oool010000000oooo0000
+0000000A0?ooo`0300000?l00000oooo00D0oooo00?o00000?ooo`3oool00P3oool00`000000oooo
+o`000002o`0001H0oooo0`0000080?ooo`03o`00003oool0000001@0oooo00?o00000?ooo`3oool0
+1P3oool00`000000oooo0000001H0?ooo`00E`3oool00`000000oooo0?ooo`02000000h0oooo0P00
+00090?ooo`05o`00003oool0oooo0?ooo`000000103oool00ol00000oooo0?ooo`0F0?ooo`@00000
+103oool00ol00000oooo0000000C0?ooo`03o`00003oool0oooo00P0oooo0P00001H0?ooo`00E`3o
+ool01@000000oooo0?ooo`3oool0000000d0oooo00<000000?ooo`3oool02@3oool00ol00000oooo
+0?ooo`020?ooo`030000003oool0oooo01h0oooo100000000ol0000000000?ooo`0>0?oooa400000
+F@3oool005P0oooo00D000000?ooo`3oool0oooo0000000;0?ooo`030000003oool0oooo00l0oooo
+00<000000?ooo`3oool0103oool2o`0001`0oooo4@0000020?ooo`03o`00003oool0oooo00T0oooo
+00<00000o`0000000000F@3oool005P0oooo00D000000?ooo`3oool0oooo0000000:0?ooo`030000
+0?l00000oooo0140oooo00<000000?ooo`3oool01@3oool00ol00000oooo0?ooo`0J0?ooo`030000
+003oool0oooo00h0oooo00?o00000?ooo`3oool02@3oool00`00003o00000000001J0?ooo`00F@3o
+ool01@000000oooo0000003oool0000000L0oooo0P00000?0?ooo`03o`00003oool0oooo0080oooo
+00<000000?ooo`3oool08@3oool00`000000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00T0oooo
+00<000000?ooo`000000F`3oool005T0oooo00D000000?ooo`000000oooo000000060?ooo`030000
+003oool0oooo00l0oooo00?o00000?ooo`3oool00`3oool00`000000oooo0?ooo`070?ooo`03o`00
+003oool0oooo01H0oooo00<000000?ooo`3oool06@3oool010000000oooo0?ooo`00001K0?ooo`00
+FP3oool200000080oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`0@0?ooo`03o`00
+003oool0oooo00<0oooo00<000000?ooo`3oool0203oool00ol00000oooo0?ooo`0D0?ooo`030000
+0?l00000oooo00d0oooo00?o00000?ooo`3oool0203oool2000000030?ooool00000000005`0oooo
+001J0?ooo`030000003oool0oooo0080oooo00D000000?ooo`3oool00000o`00000B0?ooo`03o`00
+003oool0oooo00<0oooo00<000000?ooo`3oool02@3oool00ol00000oooo0?ooo`0C0?ooo`030000
+003oool0oooo00`0oooo00?o00000?ooo`3oool0203oool01@000000oooo0?ooool00000000005d0
+oooo001K0?ooo`070000003oool0oooo0?ooo`000000oooo0000000K0?ooo`030000003oool0oooo
+01d0oooo00<000000?ooo`3oool0303oool00ol00000oooo0?ooo`080?ooo`060000003oool0oooo
+o`00003oool00000G@3oool005/0oooo00<000000?ooo`3oool00P3oool2000001/0oooo00<00000
+0?ooo`3oool02`3oool3o`0000l0oooo00<000000?ooo`3oool05P3oool00`000000oooo0?ooo`02
+0?ooo`030000003oool0oooo05`0oooo001L0?ooo`040000003oool0oooo00000080oooo00<00000
+0?ooo`3oool04P3oool00ol00000oooo0?ooo`040?ooo`030000003oool0oooo00d0oooo00?o0000
+0?ooo`3oool0303oool00`000000oooo0?ooo`090?ooo`03o`00003oool0oooo00T0oooo00<00000
+0?ooo`3oool00P3oool00`000000oooo0?ooo`1M0?ooo`00G03oool010000000oooo00000?l00003
+0?ooo`030000003oool0oooo0140oooo00?o00000?ooo`3oool0103oool00`000000oooo0?ooo`0K
+0?ooo`030000003ooooo000000T0oooo00?o00000?ooo`3oool02@3oool00`000000oooo0?ooo`02
+0?ooo`03o`0000000000oooo05h0oooo001M0?ooo`8000001@3oool00`000000oooo0?ooo`0A0?oo
+o`03o`00003oool0oooo00<0oooo00<000000?ooo`3oool03`3oool3o`0000T0oooo00<000000?oo
+ool00000203oool00ol00000oooo0?ooo`080?ooo`8000001@3oool00`000000oooo0?ooo`1N0?oo
+o`00G`3oool00`000000oooo0?ooo`030?ooo`8000004@3oool00ol00000oooo0?ooo`040?ooo`03
+0000003oool0oooo0140oooo00?o00000?ooo`3oool01@3oool010000000oooo0?ooool0000B0?oo
+o`030000003oool0oooo00@0oooo00<000000?ooo`3oool0G`3oool00600oooo100000030?ooo`03
+0000003oool0oooo01D0oooo00<000000?ooo`3oool06@3oool010000000oooo0?ooool000050?oo
+o`03o`00003oool0oooo00T0oooo00<000000?ooo`3oool0103oool00ol0000000000?ooo`1P0?oo
+o`00HP3oool00`000000oooo000000030?ooo`030000003oool0oooo01D0oooo00<000000?ooo`3o
+ool04`3oool01Ol00000oooo0?ooo`3oool0000000P0oooo00?o00000?ooo`3oool02@3oool00`00
+0000oooo0?ooo`050?ooo`030000003oool0oooo0600oooo001S0?ooo`030000003oool0oooo00<0
+oooo00<000000?ooo`3oool03@3oool00ol00000oooo0?ooo`040?ooo`030000003oool0oooo01@0
+oooo00Co00000?ooo`3oool000001`3oool00ol00000oooo0?ooo`090?ooo`030000003oool0oooo
+00D0oooo00<000000?ooo`3oool0H@3oool006@0oooo0P0000020?ooo`<000003P3oool00ol00000
+oooo0?ooo`040?ooo`030000003oool0oooo01D0oooo00?o00000000003oool00`3oool00ol00000
+oooo0?ooo`0;0?ooo`8000001`3oool00ol0000000000?ooo`1R0?ooo`00IP3oool010000000oooo
+0?ooo`3oool3000000d0oooo00?o00000?ooo`3oool0103oool00`000000oooo0?ooo`0E0?ooo`03
+0000003ooooo00000080oooo0_l0000;0?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3o
+ool0HP3oool006L0oooo0P0000040?ooo`<000002P3oool00ol00000oooo0?ooo`040?ooo`030000
+003oool0oooo01@0oooo00@000000?ooo`3oool0oooo0ol000060?ooo`;o00000`3oool00`00003o
+0000o`0000030?ooo`?o00000P00001U0?ooo`00J@3oool00`000000oooo0?ooo`020?ooo`030000
+003oool000000140oooo00<000000?ooo`3oool04`3oool00`000000oooo0?ooo`06o`000080oooo
+0_l000040?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool0I@3oool006X0oooo0P00
+00030?ooo`040000003oool0oooo0?ooo`<00000303oool00`000000oooo0?ooo`0?0?ooo`?o0000
+00<000000?ooo`3oool00`3oool00ol00000oooo0?ooo`080?ooo`030000003oool0oooo00D0oooo
+0P00001X0?ooo`00K03oool010000000oooo0?ooo`3oool2000000@0oooo00<000000?ooo`3oool0
+0P3oool00ol00000oooo0?ooo`040?ooo`030000003oool0oooo00D0oooo0_l000020?ooo`Co0000
+1@3oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool0
+1@3oool00`000000oooo0?ooo`1X0?ooo`00K@3oool00`000000oooo0?ooo`020?ooo`030000003o
+ool0oooo00H0oooo00?o00000?ooo`3oool01@3oool00`00003o0000o`0000020?ooo`;o0000303o
+ool00`000000oooo0?ooo`0<0?ooo`8000001P3oool2000006/0oooo001^0?ooo`8000000`3oool0
+0`000000oooo0?ooo`030?ooo`8000001Ol000020?ooo`03o`0000000000oooo0140oooo00<00000
+0?ooo`3oool02`3oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo06/0oooo001`0?oo
+o`050000003oool0oooo0?ooo`0000001P3oool00ol00000oooo0?ooo`060?ooo`030000003oool0
+oooo00l0oooo00D000000?ooo`3oool0ooooo`0000080?ooo`030000003oool0oooo00@0oooo0P00
+001^0?ooo`00L@3oool200000080oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`05
+0?ooo`030000003oool0oooo00h0oooo00D000000?ooo`3oool0ooooo`0000080?ooo`030000003o
+ool0oooo00<0oooo0P00001`0?ooo`00L`3oool00`000000oooo0?ooo`02000000`0oooo00<00000
+0?ooo`3oool03P3oool010000000oooo0?ooool000080?ooo`030000003oool0oooo00<0oooo00<0
+00000?ooo`3oool0L03oool007@0oooo0P0000020?ooo`030000003oool0oooo00<0oooo00<00000
+0?ooo`3oool0103oool00`000000oooo0?ooo`0<0?ooo`030000003oool0oooo00P0oooo0P000004
+0?ooo`800000L`3oool007H0oooo00@000000?ooo`3oool000001@3oool00`000000oooo0?ooo`03
+0?ooo`030000003oool0oooo00`0oooo00<000000?ooo`3oool01`3oool00`000000oooo0?ooo`03
+0?ooo`030000003oool0oooo07<0oooo001g0?ooo`040000003oool0oooo000000D0oooo00<00000
+0?ooo`3oool00`3oool00`000000oooo0?ooo`0:0?ooo`040000003oool0ooooo`0000H0oooo00<0
+00000?ooo`3oool00P3oool2000007H0oooo001h0?ooo`80000000<0oooo0000000000002@3oool0
+0`000000oooo0?ooo`0:0?ooo`040000003oool0ooooo`0000D0oooo00<000000?ooo`3oool00P3o
+ool00`000000oooo0?ooo`1f0?ooo`00NP3oool010000000oooo0?ooo`0000090?ooo`030000003o
+ool0oooo00P0oooo00@000000?ooo`3ooooo00001@3oool010000000oooo0?ooo`3oool2000007T0
+oooo001k0?ooo`80000000<0oooo0000003oool00P3oool00`000000oooo0?ooo`020?ooo`030000
+003oool0oooo00P0oooo00<000000?ooo`3oool01@3oool01@000000oooo0?ooo`3oool0000007/0
+oooo001m0?ooo`030000003oool0000000<0oooo00D000000?ooo`3oool0oooo000000090?ooo`03
+0000003oool0oooo00@0oooo0P0000020?ooo`800000O03oool007h0oooo00<000000?ooo`000000
+0`3oool01@000000oooo0?ooo`3oool0000000P0oooo00<000000?ooool000000`3oool01@000000
+oooo0?ooo`3oool0000007h0oooo001o0?ooo`@000001@3oool00`000000oooo0?ooo`050?ooo`03
+0000003ooooo000000<0oooo00<000000?ooo`3oool00P00001o0?ooo`00P@3oool00`000000oooo
+000000050?ooo`030000003oool0oooo00@0oooo00<00000o`00003oool00P3oool010000000oooo
+0?ooo`0000210?ooo`00PP3oool3000000050?ooo`000000oooo0?ooo`0000001@3oool00`000000
+oooo0?ooo`020?ooo`040000003oool0000000000880oooo00240?ooo`80000000@0oooo0000003o
+ool000001@3oool00`000000oooo0?ooo`04000008@0oooo00250?ooo`@0000000<0oooo0000003o
+ool00`3oool01@000000oooo0000003oool0000008H0oooo00270?ooo`80000000<0oooo0000003o
+ool00P3oool00`00003o000000000002000008L0oooo00280?ooo`@000000P3oool3000008T0oooo
+00290?ooo`<0000000@0oooo0000000000000000RP3oool008/0oooo00<000000?ooo`000000S03o
+ool008`0oooo00<000000?ooo`3oool0R`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo
+6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00001\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.44775 .57999 m
+.60159 .5619 L
+s
+.44775 .57999 m
+.58364 .44545 L
+s
+.46794 .42283 m
+.44775 .57999 L
+s
+.35769 .4228 m
+.44775 .57999 L
+s
+.32577 .53944 m
+.44775 .57999 L
+s
+.34815 .65113 m
+.44775 .57999 L
+s
+.46544 .68902 m
+.44775 .57999 L
+s
+.58904 .66657 m
+.44775 .57999 L
+s
+.46794 .42283 m
+.58364 .44545 L
+s
+.46794 .42283 m
+.5 .27523 L
+s
+.35769 .4228 m
+.46794 .42283 L
+s
+.58364 .44545 m
+.74166 .52177 L
+s
+.58364 .44545 m
+.60159 .5619 L
+s
+.64158 .37749 m
+.58364 .44545 L
+s
+.5 .27523 m
+.58364 .44545 L
+s
+.60159 .5619 m
+.74166 .52177 L
+s
+.58904 .66657 m
+.60159 .5619 L
+s
+.35769 .4228 m
+.5 .27523 L
+s
+.32577 .53944 m
+.35769 .4228 L
+s
+.35163 .34488 m
+.35769 .4228 L
+s
+.23786 .47638 m
+.35769 .4228 L
+s
+.23786 .47638 m
+.32577 .53944 L
+s
+.34815 .65113 m
+.32577 .53944 L
+s
+.58904 .66657 m
+.74166 .52177 L
+s
+.58904 .66657 m
+.46544 .68902 L
+s
+.58904 .66657 m
+.5 .75807 L
+s
+.58904 .66657 m
+.6535 .66048 L
+s
+.5 .27523 m
+.64158 .37749 L
+s
+.5 .27523 m
+.66091 .33986 L
+s
+.35163 .34488 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.53891 .28721 m
+.5 .27523 L
+s
+.39764 .30851 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.64158 .37749 m
+.74166 .52177 L
+s
+.66091 .33986 m
+.64158 .37749 L
+s
+.46544 .68902 m
+.34815 .65113 L
+s
+.5 .75807 m
+.46544 .68902 L
+s
+.0035 w
+[ ] 0 setdash
+.66091 .33986 m
+.74166 .52177 L
+s
+.70295 .45406 m
+.74166 .52177 L
+s
+.67321 .59397 m
+.74166 .52177 L
+s
+.6535 .66048 m
+.74166 .52177 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.34815 .65113 m
+.23786 .47638 L
+s
+.0035 w
+[ ] 0 setdash
+.34815 .65113 m
+.33849 .63976 L
+s
+.5 .75807 m
+.34815 .65113 L
+s
+.35163 .34488 m
+.39764 .30851 L
+s
+.23786 .47638 m
+.35163 .34488 L
+s
+.6535 .66048 m
+.5 .75807 L
+s
+.6535 .66048 m
+.67321 .59397 L
+s
+.70295 .45406 m
+.66091 .33986 L
+s
+.57329 .3878 m
+.66091 .33986 L
+s
+.53891 .28721 m
+.66091 .33986 L
+s
+.23786 .47638 m
+.39764 .30851 L
+s
+.23786 .47638 m
+.3694 .42043 L
+s
+.33849 .63976 m
+.23786 .47638 L
+s
+.38944 .5721 m
+.23786 .47638 L
+s
+.53891 .28721 m
+.57329 .3878 L
+s
+.39764 .30851 m
+.53891 .28721 L
+s
+.38944 .5721 m
+.33849 .63976 L
+s
+.5 .75807 m
+.33849 .63976 L
+s
+.5 .75807 m
+.38944 .5721 L
+s
+.5 .75807 m
+.54266 .6027 L
+s
+.67321 .59397 m
+.5 .75807 L
+s
+.39764 .30851 m
+.57329 .3878 L
+s
+.3694 .42043 m
+.39764 .30851 L
+s
+.57329 .3878 m
+.70295 .45406 L
+s
+.67321 .59397 m
+.70295 .45406 L
+s
+.67321 .59397 m
+.57329 .3878 L
+s
+.67321 .59397 m
+.54266 .6027 L
+s
+.3694 .42043 m
+.57329 .3878 L
+s
+.38944 .5721 m
+.3694 .42043 L
+s
+.38944 .5721 m
+.57329 .3878 L
+s
+.54266 .6027 m
+.38944 .5721 L
+s
+.54266 .6027 m
+.57329 .3878 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00R_ooool5o`0008_ooooo0027ooooo`?o000000D0
+0000o`00000000000000ooooo`04o`0008Oooooo0024ooooo`?o00001?ooool01000003ooooo0000
+00000003ooooo`0400000?l0003o0000o`0008Cooooo0021ooooo`?o000000?ooooo000000000000
+1?ooool00`00003oooooooooo`03ooooo`0300000?oooooooooo00Go0000POooool007gooooo1?l0
+0003ooooo`0500000?ooooooooooooooo`0000000_ooool00`00003oooooo`000006o`0000?ooooo
+00Co000000000?l0003o0000Ooooool007[ooooo0ol00003ooooo`8000001?ooool7o`0000;ooooo
+00D00000oooooooooooooooo00000004ooooo`03o`000000003ooooo00?o0000O?ooool007Oooooo
+0ol00004ooooo`8000001_l000000`00003oooooooooo`06ooooo`0300000?oooooooooo00Kooooo
+00?o0000ooooo`0000000oooool2o`0007[ooooo001dooooo`?o00000_ooool7o`00013ooooo00<0
+0000ooooooooool00oooool00`00003oooooo`000004ooooo`<000000_l0001hooooo`00LOooool8
+o`000003ooooo`000000000000Sooooo00<00000ooooooooool00oooool00`00003oooooooooo`03
+ooooo`0300000?oooooooooo00Cooooo00<00000ooooool000001_ooool01000003oooooo`000?l0
+001fooooo`00K_ooool4o`0000Oooooo00<00000ooooooooool01oooool00`00003oooooooooo`04
+ooooo`0300000?oooooooooo00_ooooo00<00000o`000?ooool02?ooool01000003o0000o`000?l0
+001cooooo`00KOooool01?l0003oooooo`000?ooool2o`0000;ooooo0P00000;ooooo`0300000?oo
+oooooooo00Gooooo00<00000ooooooooool03?ooool00ol0003oooooooooo`0:ooooo`0300000?l0
+003o0000077ooooo001/ooooo`04o`000?oooooo0000o`0000?ooooo0ol0000Dooooo`0300000?oo
+oooooooo00Cooooo00<00000ooooooooool01_ooool00ol0000000000000000<ooooo`;o0000Kooo
+ool006[ooooo0_l000000ooooooo0000o`000004ooooo`0300000?oooooooooo00;o00006_ooool0
+0`00003oooooooooo`05ooooo`04o`000?oooooooooo000000gooooo0ol0001/ooooo`00JOooool0
+1_l0003oooooooooool0003oooooo`00008000001oooool2o`0000Kooooo00<00000ooooooooool0
+4?ooool00`00003oooooooooo`04ooooo`03o`000?oooooooooo017ooooo0_l0001Zooooo`00J?oo
+ool01ol0003oooooooooool0003ooooo00000?l000002oooool3o`0000;ooooo00<00000oooooooo
+ool01oooool00`00003oooooooooo`0?ooooo`03o`000?oooooooooo00;ooooo00<00000oooooooo
+ool02oooool2000000;o0000J?ooool006Oooooo00Co0000oooooooooooo00000oooool00ol0003o
+ooooooooo`0<ooooo`;o00002_ooool00`00003oooooooooo`0?ooooo`03o`000?oooooooooo00?o
+oooo00<00000ooooooooool03Oooool00`00003o0000o`00001Vooooo`00IOooool2o`0000;ooooo
+00Go000000000?ooooooooooo`00000Aooooo`;o00001oooool00`00003oooooooooo`0@ooooo`03
+o`000?oooooooooo00Cooooo00<00000ooooooooool03oooool3o`0006?ooooo001Tooooo`05o`00
+0?ooooooooooooooool000001?ooool00ol0003oooooooooo`0;ooooo`0300000?oooooooooo00?o
+oooo0_l00005ooooo`0300000?oooooooooo00Wooooo00<00000ooooooooool01Oooool00ol0003o
+ooooooooo`0Hooooo`;o0000HOooool006?ooooo00Go000000000000003oooooo`000005ooooo`03
+o`000?oooooooooo00[ooooo00<00000ooooooooool01_ooool3o`0000kooooo00<00000oooooooo
+ool01Oooool00ol0003oooooooooo`06ooooo`0300000?oooooooooo013ooooo0_l0001Pooooo`00
+H_ooool01Ol000000000oooooooooooo000000Kooooo00?o0000ooooooooool02Oooool00`00003o
+ooooooooo`0:ooooo`;o00003Oooool00`00003oooooooooo`05ooooo`03o`000?oooooooooo00Ko
+oooo00<00000ooooooooool03Oooool2o`000003ooooool0003ooooo05oooooo001Rooooo`04o`00
+0?ooooooooooo`0000Kooooo00?o0000ooooooooool06Oooool2o`0001?ooooo00?o0000oooooooo
+ool01oooool00`00003oooooooooo`0:ooooo`;o00000_ooool00`00003oooooo`00001Oooooo`00
+HOooool01?l000000000ooooool00007ooooo`03o`000?oooooooooo00Sooooo00<00000oooooooo
+ool03Oooool00`00003oooooooooo`02o`00017ooooo00?o0000ooooooooool04oooool00ol0003o
+ooooooooo`04ooooo`03o`000?oooooooooo05gooooo001Pooooo`04o`000?ooool00000o`0000So
+oooo00?o0000ooooooooool02?ooool00`00003oooooooooo`0=ooooo`0300000?oooooooooo00;o
+oooo0ol00008ooooo`0300000?oooooooooo00Cooooo00?o0000ooooooooool02Oooool2000000Go
+oooo0_l00007ooooo`;o0000G_ooool005oooooo00Co0000oooooooooooo00002Oooool00ol0003o
+ooooooooo`07ooooo`0300000?oooooooooo00kooooo00<00000ooooooooool01Oooool2o`0000Ko
+oooo00<00000ooooooooool01?ooool00ol0003oooooooooo`0;ooooo`0300000?oooooooooo00;o
+00002_ooool00ol0003oooooooooo`1Looooo`00G_ooool01?l0003oooooooooool00009ooooo`03
+o`000?oooooooooo00Oooooo00<00000ooooooooool06Oooool2o`0000Gooooo00<00000oooooooo
+ool00oooool00ol0003oooooooooo`0<ooooo`;o00001oooool00`00003oooooooooo`02ooooo`03
+o`000?oooooooooo05cooooo001Mooooo`04o`000?ooooooooooo`0000[ooooo00?o0000oooooooo
+ool09Oooool3o`0000;ooooo00<00000ooooooooool01?ooool00ol0003oooooooooo`09ooooo`;o
+00000_ooool00`00003oooooooooo`04ooooo`0300000?oooooooooo00;ooooo0_l0001Mooooo`00
+G?ooool01?l0003oooooooooool00003ooooo`0300000?oooooooooo00Gooooo00?o0000oooooooo
+ool01Oooool00`00003oooooooooo`0Pooooo`;o00001oooool00ol0003oooooooooo`07ooooo`;o
+00001Oooool00`00003oooooooooo`02ooooo`0300000?oooooooooo00Cooooo00?o0000oooooooo
+ool0Foooool005cooooo00?o0000ooooool000001?ooool00`00003oooooooooo`05ooooo`03o`00
+0?oooooooooo00Cooooo00<00000ooooooooool04Oooool00`00003oooooooooo`0?ooooo`;o0000
+1Oooool00ol0003oooooooooo`05ooooo`;o00002?ooool00`00003oooooooooo`08ooooo`;o0000
+G?ooool005_ooooo00?o0000ooooool000001Oooool00`00003oooooooooo`04ooooo`03o`000?oo
+oooooooo00Cooooo00<00000ooooooooool04_ooool00`00003oooooooooo`0Aooooo`;o00001?oo
+ool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo01Cooooo00?o0000ooooooooool0F_oo
+ool005[ooooo00?o0000ooooool000003Oooool00ol0003oooooooooo`0Iooooo`0300000?oooooo
+oooo017ooooo00<00000ooooool000000_l000000ooooooo0000ooooo`02ooooo`;o00003_ooool0
+0`00003oooooooooo`06ooooo`;o0000Foooool005Wooooo00?o0000ooooool000003_ooool00ol0
+003oooooooooo`02ooooo`0300000?oooooooooo02Wooooo00@00000oooooooooooooooo0_l00000
+0ooooooo0000o`00000?ooooo`8000002?ooool2o`0005_ooooo001Hooooo`03o`000?oooooo0000
+00oooooo00Go0000oooooooooooooooo0000000_ooooo`Go00003oooool01000003oooooooooo`00
+0008ooooo`;o0000F_ooool005Oooooo00?o0000ooooool000002Oooool00`00003oooooooooo`03
+ooooo`05o`000?ooooooooooooooo`000000:_ooool6o`0000;ooooo0_l000000ooooooo0000o`00
+000Iooooo`;o0000F_ooool005Kooooo00?o0000ooooool000002_ooool00`00003oooooooooo`03
+ooooo`03o`000?oooooooooo01Wooooo00<00000ooooooooool02_ooool6o`0000Cooooo00D00000
+oooooooooooo0000ooooo`02o`0000;ooooo0_l00009ooooo`0300000?oooooooooo00_ooooo00?o
+0000ooooool00000FOooool005Gooooo00Co0000oooooooooooo00002_ooool00`00003ooooooooo
+o`03ooooo`03o`000?oooooooooo01Wooooo00<00000ooooooooool01Oooool5o`0000[ooooo00<0
+0000ooooool000000_ooool2o`0000Cooooo0_l00006ooooo`0300000?oooooooooo00Gooooo00<0
+0000ooooooooool01Oooool2o`0005Wooooo001Eooooo`03o`000?oooooo000000_ooooo00<00000
+ooooooooool00oooool00ol000000000ooooo`0Hooooo`0300000?oooooooooo00Ko00004?ooool0
+1?l0003oooooooooool00002ooooo`03o`000?oooooooooo00?ooooo0_l00003ooooo`0300000?oo
+oooooooo00Oooooo00<00000ooooooooool01?ooool2o`0005Wooooo001Dooooo`03o`000?oooooo
+0000017ooooo00?o000000000?ooool05_ooool6o`0001Gooooo00Go0000ooooo`00003oooooo`00
+0002ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool02oooool00`00003ooooooooo
+o`04ooooo`;o0000F?ooool005?ooooo00?o0000ooooool000004_ooool00ol0003oooooooooo`0@
+ooooo`Ko00006_ooool00ol0003oooooooooo`02ooooo`05o`000?ooooooooooooooool000001ooo
+ool2o`0001;ooooo0_l0001Hooooo`00D_ooool00ol0003oooooo`00000?ooooo`0500000?oooooo
+ooooooooool000003?ooool6o`0001oooooo00?o0000ooooooooool00oooool01Ol0003ooooooooo
+oooooooo000000Oooooo00@00000ooooool0003o00004?ooool00ol0003oooooo`00001Gooooo`00
+DOooool00ol0003oooooo`00000@ooooo`0500000?ooool00000ooooool000001oooool5o`0000oo
+oooo00<00000ooooooooool04_ooool00ol0003oooooooooo`03ooooo`0300000?l0003ooooo00?o
+oooo00?o0000ooooooooool00oooool00`00003oooooooooo`02ooooo`;o00002Oooool00`00003o
+ooooooooo`03ooooo`;o0000Eoooool0053ooooo00?o0000ooooool000004Oooool200000004oooo
+ool0003oooooooooo`Ko00005?ooool00`00003oooooooooo`0Aooooo`03o`000?oooooooooo00Co
+oooo00<00000o`000?ooool00oooool00ol0003oooooooooo`02ooooo`0300000?oooooooooo00Go
+oooo0_l00007ooooo`0300000?oooooooooo00?ooooo00?o0000ooooool00000E_ooool004oooooo
+00?o0000ooooool000004_ooool2000000Co000010000002ooooo`@000000oooool3000000?ooooo
+10000002ooooo`03o`00000000000000017ooooo00?o0000ooooooooool01_ooool00ol0003ooooo
+ooooo`03ooooo`03o`000?oooooooooo00_ooooo0_l00006ooooo`0300000?oooooooooo00;ooooo
+00?o0000ooooool00000E_ooool004oooooo0_l0000Booooo`?o000000?oooooo`000?ooool06_oo
+ool01000003oooooooooo`00000?ooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool0
+1?ooool00ol0003oooooooooo`0=ooooo`;o00002_ooool00ol0003oooooo`00001Eooooo`00C_oo
+ool2o`00013ooooo00@00000o`000?l0003ooooo0P0000000ooooooo0000ooooo`0Jooooo`030000
+0?oooooooooo00?ooooo10000008ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool0
+1Oooool00ol000000000ooooo`0>ooooo`;o00002?ooool00ol0003oooooo`00001Eooooo`00COoo
+ool2o`0000oooooo0ol00002ooooo`0500000?ooool00000ooooool000006oooool00`00003ooooo
+ooooo`09ooooo`@0000000?oooooo`000?ooool02Oooool01?l0003oooooooooo`000004ooooo`03
+o`000?oooooooooo013ooooo0_l00002ooooo`0300000?oooooooooo00;ooooo00?o0000ooooool0
+0000E?ooool004cooooo0_l0000<ooooo`8000000_l0000:ooooo`03o`000?oooooooooo02Sooooo
+00?o0000ooooo`0000000`000006ooooo`04o`000?oooooooooo000000?ooooo00<00000ooooool0
+00004oooool01?l0003oooooooooo`000003ooooo`03o`000?oooooo000005Cooooo001;ooooo`;o
+00003?ooool3o`0000cooooo00?o0000ooooooooool09oooool00ol0003oooooooooo`06ooooo`<0
+000000?oooooo`000?ooool00_ooool00`00003oooooooooo`02ooooo`03o`000?oooooooooo01;o
+oooo0_l000001oooool00000oooooooooooo0000ooooool00000E?ooool004[ooooo0_l0000;oooo
+o`;o00003_ooool00`00003o0000ooooo`0Wooooo`03o`000?oooooooooo00[ooooo00<00000o`00
+0?ooool00`0000001Ol0003ooooooooooooooooo000001Kooooo0_l00003ooooo`03o`000?oooooo
+000005?ooooo0019ooooo`;o00002Oooool3o`0000_ooooo00<00000ooooooooool00_ooool00`00
+003o0000ooooo`0Hooooo`0300000?oooooooooo00_ooooo00?o0000ooooooooool03?ooool00ol0
+003oooooooooo`02ooooo`03o`000000003ooooo00;ooooo00?o0000ooooooooool05Oooool2o`00
+0004ooooool0003oooooo`0005?ooooo0018ooooo`;o00002?ooool2o`00000300000?oooooooooo
+00_ooooo00<00000ooooooooool00oooool00ol0003oooooooooo`0Gooooo`0300000?oooooooooo
+00[ooooo00?o0000ooooooooool03?ooool02Ol0003oooooooooooooool00000ooooo`00003ooooo
+00000002ooooo`03o`000?oooooooooo01Kooooo00<00000o`000?l000000_ooool00ol0003ooooo
+ooooo`1@ooooo`00B?ooool00ol0003oooooooooo`04ooooo`0300000?l0003o0000013ooooo00<0
+0000ooooooooool00oooool00ol0003oooooooooo`0Gooooo`0300000?oooooooooo00Wooooo00?o
+0000ooooooooool03Oooool01?l0003oooooooooo`000002ooooo`0300000?oooooooooo00;ooooo
+00<00000o`000?ooool05_ooool01P00003oooooooooool0003oooooo`0005;ooooo0017ooooo`03
+o`000?oooooooooo00?ooooo0ol0000Hooooo`03o`000?oooooooooo02;ooooo00?o0000oooooooo
+ool03_ooool00ol0003ooooo00000009ooooo`03o`000000003ooooo01Kooooo00<00000ooooool0
+00000_ooool00ol0003oooooooooo`1?ooooo`00A_ooool00ol0003oooooooooo`02ooooo`;o0000
+7?ooool00ol000000000ooooo`0Pooooo`03o`000?oooooooooo00oooooo00?o0000ooooooooool0
+2_ooool00ol000000000ooooo`0Gooooo`;o000000?oooooo`000?ooool0D?ooool004Gooooo00?o
+0000ooooooooool00ol000000`00003oooooooooo`0Kooooo`03o`000?ooool0000001oooooo00?o
+0000ooooooooool04?ooool00ol0003oooooooooo`0:ooooo`04o`000?ooooooooooooooo`800000
+4oooool00ol0003oooooo`000002ooooo`03o`000?oooooooooo04kooooo0014ooooo`04o`000?oo
+oooo0000o`00008000005oooool00`00003oooooooooo`05ooooo`04o`000?oooooooooo000001Co
+oooo00<00000ooooooooool01_ooool00ol0003oooooooooo`0@ooooo`0300000?l0003ooooo00Co
+oooo00<00000ooooooooool01Oooool00ol0003oooooooooo`02ooooo`0300000?oooooooooo013o
+oooo00Ko000000000?oooooo0000ooooool0001@ooooo`00@oooool3o`0001_ooooo00<00000oooo
+ooooool01Oooool00ol0003oooooooooo`0Eooooo`0300000?oooooooooo00Gooooo00?o0000oooo
+ooooool04?ooool00`00003oooooo`000005ooooo`0300000?oooooooooo00Gooooo00?o0000oooo
+ooooool05Oooool01?l0003ooooo00000?ooool2o`00053ooooo0012ooooo`;o00007?ooool00`00
+003oooooooooo`06ooooo`03o`000?oooooooooo01Gooooo00<00000ooooooooool01?ooool00ol0
+003oooooooooo`0Booooo`03o`000?oooooooooo00Gooooo00<00000ooooooooool01Oooool00ol0
+003oooooooooo`04ooooo`<000003Oooool01ol0003oooooooooo`00003o0000ooooool00000Cooo
+ool004;ooooo00?o000000000?l000009?ooool01Ol0003oooooooooooooool0000001Wooooo00?o
+0000ooooooooool04?ooool01000003oooooooooool00007ooooo`0300000?oooooooooo00Gooooo
+00?o0000ooooooooool01oooool00`00003oooooooooo`0:ooooo`03o`000?oooooooooo00;ooooo
+0_l0001?ooooo`00@oooool01?l000000000o`000?l0000Rooooo`05o`000?ooooooooooooooo`00
+00006?ooool00ol0003oooooooooo`0@ooooo`0500000?ooooooooooooooool000004?ooool00ol0
+003oooooooooo`09ooooo`0300000?oooooooooo00Kooooo00?o0000ooooooooool00oooool00ol0
+003oooooo`00001>ooooo`00A?ooool00ol0003oooooooooo`02o`0001Kooooo00<00000oooooooo
+ool02?ooool01Ol0003oooooooooooooool0000001Kooooo00?o0000ooooooooool04?ooool00`00
+003oooooooooo`02ooooo`03o`000?oooooooooo00kooooo00?o0000ooooooooool02_ooool00`00
+003oooooooooo`05ooooo`03o`000?oooooooooo00?ooooo00<00000o`000?l00000C_ooool004Co
+oooo00?o0000ooooooooool00P0000000ol0003oooooooooo`0Cooooo`0300000?oooooooooo00So
+oooo00?o0000ooooooooool00_ooool00`00003oooooooooo`0?ooooo`0400000?ooooooooooo`00
+01Sooooo00?o0000ooooooooool01Oooool00`00003oooooooooo`07ooooo`03o`000?oooooooooo
+00[ooooo00<00000ooooooooool01?ooool00ol0003oooooooooo`04ooooo`0300000?l0003o0000
+04gooooo0015ooooo`05o`000?ooooooooooooooo`0000000_l0000Booooo`0300000?oooooooooo
+00Wooooo00?o0000ooooooooool05?ooool00`00003oooooo`00000Iooooo`03o`000?oooooooooo
+00Gooooo00<00000ooooooooool01oooool00ol0003oooooooooo`0=ooooo`<0000000?oooooo`00
+0?ooool01_ooool2o`0004gooooo0015ooooo`03o`000?oooooooooo00;ooooo00<00000ooooool0
+00004Oooool00`00003oooooooooo`09ooooo`03o`000?oooooooooo01?ooooo00<00000ooooool0
+00004_ooool00`00003oooooooooo`04ooooo`03o`000?oooooooooo00Oooooo00<00000oooooooo
+ool01oooool00ol0003oooooooooo`0?ooooo`0300000?l0003ooooo00Oooooo0_l0001<ooooo`00
+A_ooool00ol0003oooooooooo`04ooooo`;o00006oooool00ol0003oooooooooo`03ooooo`030000
+0?oooooooooo00gooooo00<00000o`000?ooool04Oooool00`00003oooooooooo`05ooooo`03o`00
+0?oooooooooo00Oooooo00<00000ooooooooool01oooool00ol0003oooooooooo`0?ooooo`03o`00
+0?oooooooooo00Oooooo0_l0001<ooooo`00Aoooool00ol0003oooooooooo`02ooooo`<000000_l0
+000Iooooo`03o`000?oooooooooo00Cooooo00<00000ooooooooool03?ooool00ol0003ooooooooo
+o`0@ooooo`0300000?oooooooooo00Kooooo00?o0000ooooooooool04_ooool00ol0003ooooooooo
+o`0>ooooo`03o`000?oooooooooo008000001Oooool00`00003o0000o`00001;ooooo`00Aoooool0
+0ol0003oooooooooo`05ooooo`0300000?oooooo000000_ooooo00<00000ooooooooool02_ooool0
+0ol0003oooooooooo`05ooooo`0300000?oooooooooo00[ooooo00?o0000ooooooooool06_ooool0
+0ol0003oooooooooo`0Booooo`03o`000?oooooooooo00kooooo00?o0000ooooooooool00_ooool0
+0`00003oooooooooo`03ooooo`;o0000Boooool004Sooooo00?o0000ooooooooool01oooool2o`00
+00Wooooo00<00000ooooooooool02oooool00ol0003oooooooooo`0@ooooo`03o`000?ooool00000
+013ooooo00<00000ooooooooool02?ooool00ol0003oooooooooo`07ooooo`0300000?oooooooooo
+00Wooooo00?o0000ooooooooool03Oooool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo
+04Wooooo0019ooooo`03o`000?oooooooooo00Gooooo0P0000000ooooooo0000ooooo`07ooooo`03
+00000?oooooooooo00_ooooo00?o0000ooooooooool03oooool01?l0003oooooooooo`00000?oooo
+o`0300000?oooooooooo00Wooooo00?o0000ooooooooool01oooool00`00003oooooooooo`09oooo
+o`03o`000?oooooooooo00gooooo00?o0000ooooooooool01Oooool3000000;ooooo00?o0000oooo
+ooooool0B?ooool004Wooooo00?o0000ooooooooool01oooool01000003oooooo`000?l00006oooo
+o`0300000?oooooooooo00_ooooo00?o0000ooooooooool01Oooool00`00003oooooooooo`06oooo
+o`04o`000?oooooooooo000000oooooo00<00000ooooooooool02_ooool00ol0003oooooooooo`08
+ooooo`0300000?oooooooooo00Wooooo00?o0000ooooooooool02oooool00ol0003oooooooooo`09
+ooooo`0300000?oooooo000004[ooooo001:ooooo`03o`000?oooooooooo00Oooooo00<00000oooo
+ooooool00_l0000Booooo`03o`000?oooooooooo00Gooooo00<00000ooooooooool01Oooool01Ol0
+003oooooooooooooool0000001_ooooo00?o0000ooooooooool02Oooool00`00003oooooooooo`09
+ooooo`03o`000?oooooooooo00_ooooo00?o0000ooooooooool02_ooool200000003o`000?oooooo
+oooo04Oooooo001;ooooo`03o`000?oooooooooo00_ooooo00?o0000ooooooooool03oooool00ol0
+003oooooooooo`06ooooo`0300000?oooooooooo00?ooooo00?o0000ooooooooool03oooool00`00
+003oooooooooo`0<ooooo`03o`000?oooooooooo01Kooooo00?o0000ooooooooool02_ooool00ol0
+003oooooooooo`08ooooo`80000000?ooooo00000?l00000BOooool004_ooooo00?o0000oooooooo
+ool02?ooool300000004ooooool0003o0000000000kooooo00?o0000ooooooooool01oooool01@00
+003ooooooooooooooooo0000017ooooo00<00000ooooooooool03Oooool00ol0003oooooooooo`0F
+ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool01?ooool2000000Cooooo00<00000
+o`000?ooool0BOooool004cooooo00?o0000ooooooooool02_ooool01000003oooooooooool0000>
+ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool01?ooool00`00003oooooooooo`08
+ooooo`0300000?oooooooooo00kooooo00?o0000ooooooooool02Oooool00`00003oooooooooo`0;
+ooooo`03o`000?oooooooooo00Wooooo00?o0000ooooooooool00_ooool2000000Gooooo00<00000
+o`000?ooool0B_ooool004cooooo00?o000000000?ooool03?ooool01000003oooooo`000?l0000=
+ooooo`03o`000?oooooooooo00Oooooo00<00000o`000?ooool01_ooool00`00003oooooooooo`0I
+ooooo`03o`000?oooooooooo00Wooooo00<00000ooooooooool02oooool00ol0003oooooooooo`08
+ooooo`04o`000?ooool00000000000Wooooo0_l0001;ooooo`00COooool00ol000000000ooooo`0;
+ooooo`05o`00000000000000ooooool000003?ooool00ol0003oooooooooo`07ooooo`03o`000?oo
+oooooooo00Kooooo00<00000ooooooooool06Oooool00ol0003oooooooooo`0:ooooo`0300000?oo
+oooooooo00_ooooo00?o0000ooooooooool01oooool00ol000000000ooooo`08ooooo`0300000?l0
+003o000004cooooo001>ooooo`03o`000?oooooooooo00[ooooo00Go0000ooooooooool00000oooo
+o`02o`0000[ooooo00?o0000ooooooooool01_ooool00ol0003ooooo00000007ooooo`0300000?oo
+oooooooo00Kooooo00<00000ooooooooool04?ooool00ol0003oooooooooo`0:ooooo`0300000?oo
+oooooooo00_ooooo00Co0000oooooooooooooooo10000002ooooo`03o`000?oooooooooo00Oooooo
+00<00000o`000?l00000COooool004kooooo00?o0000ooooooooool04?ooool00`00003o0000o`00
+0008ooooo`03o`000?oooooooooo00Gooooo00Go0000oooooooooooooooo0000000>ooooo`030000
+0?oooooooooo013ooooo00?o0000ooooooooool06Oooool00ol000000000ooooo`07ooooo`03o`00
+0?oooooooooo00Kooooo00@00000o`000?oooooo0000COooool004oooooo00?o0000ooooooooool0
+4_ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool0
+4?ooool00`00003oooooooooo`0Aooooo`03o`000?oooooooooo01Oooooo0P0000000ooooooo0000
+ooooo`07ooooo`03o`000?oooooooooo00Kooooo00?o0000ooooool00000C_ooool0053ooooo00?o
+0000ooooooooool04_ooool2o`00008000000oooool00ol0003oooooooooo`03ooooo`03o`000?oo
+oooooooo00Wooooo00<00000ooooooooool06Oooool00ol0003oooooooooo`0;ooooo`0300000?oo
+oooooooo00Gooooo0P000005ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool01?oo
+ool00`00003oooooo`000002ooooo`03o`000?oooooooooo04cooooo001@ooooo`03o`000000003o
+oooo00Wooooo00<00000ooooooooool02?ooool00ol0003ooooo00000002ooooo`03o`000?oooooo
+oooo00;ooooo00?o0000ooooooooool01_ooool01@00003oooooooooooooool0000000Gooooo00<0
+0000ooooooooool04oooool00ol0003oooooooooo`0;ooooo`0300000?oooooooooo00?ooooo0P00
+0008ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool00oooool00`00003oooooo`00
+0002ooooo`03o`000?oooooooooo04gooooo001Aooooo`03o`000?oooooooooo00Sooooo00<00000
+ooooooooool02Oooool2o`0000?ooooo00Co000000000?oooooo00002Oooool01@00003ooooooooo
+ooooool0000000Cooooo00<00000ooooooooool05?ooool00ol0003oooooooooo`0;ooooo`04o`00
+000000000000000000cooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`02ooooo`03
+00000?oooooo000000;ooooo00?o0000ooooooooool0C_ooool0057ooooo00?o0000ooooooooool0
+2?ooool00`00003oooooooooo`0;ooooo`;o000000Coooooo`000?oooooo00002oooool01000003o
+ooooooooo`000003ooooo`0300000?oooooooooo01Gooooo00?o0000ooooooooool01Oooool40000
+01?ooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`03ooooo`05o`000?oooooooooo
+ooooool00000D?ooool005;ooooo00?o000000000?ooool05oooool3o`0000?ooooo0`00000Soooo
+o`80000000?o0000ooooo`0000000`000008ooooo`0300000?oooooooooo00kooooo00?o0000oooo
+ooooool00oooool01_l0003oooooooooo`00003oooooo`0000?ooooo00?o0000ooooooooool0Cooo
+ool005?ooooo00?o0000ooooooooool05oooool3o`0000Gooooo00<00000ooooooooool06?ooool4
+000000;ooooo0P0000000ooooooo0000ooooo`0=ooooo`0300000?oooooooooo00oooooo00Go0000
+ooooooooooooooooo`000002ooooo`0300000?oooooo000000?ooooo00?o0000ooooooooool0D?oo
+ool005?ooooo00?o000000000?ooool05oooool00ol0003oooooooooo`05o`0000?ooooo0`000002
+ooooo`03o`0000000000000000Gooooo0P000003ooooo`<000003?ooool00ol0003oooooooooo`0<
+ooooo`0300000?oooooooooo00oooooo00Wo0000ooooooooooooooooo`000?ooool00000ooooool0
+00001?ooool00ol0003oooooooooo`1@ooooo`00E?ooool00ol0003oooooooooo`06ooooo`030000
+0?oooooooooo00cooooo00?o0000ooooool000001_ooool5o`000004ooooo`00003oooooo`0000<0
+00000_ooool2000001Cooooo00?o0000ooooooooool03?ooool00`00003oooooooooo`0@ooooo`04
+o`000?ooooooooooo`0000;ooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`1Aoooo
+o`00EOooool00ol0003oooooooooo`05ooooo`0300000?oooooooooo00_ooooo00Co0000oooooooo
+oooo00002oooool5o`00000300000?oooooooooo01Oooooo00?o0000ooooooooool07oooool01_l0
+003oooooooooool0003oooooo`0000Cooooo00?o0000ooooooooool0D_ooool005Gooooo00?o0000
+00000?ooool01_ooool00`00003oooooooooo`09ooooo`03o`000?oooooooooo00;ooooo00?o0000
+ooooooooool02Oooool01000003oooooooooooooool5o`0001Gooooo00?o0000ooooooooool08?oo
+ool01?l000000000o`000?l00005ooooo`03o`000?oooooooooo05;ooooo001Fooooo`03o`000?oo
+oooooooo017ooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`07ooooo`0300000?oo
+oooooooo00Oooooo1?l0000Aooooo`03o`000?oooooooooo023ooooo0ol00005ooooo`03o`000?oo
+oooooooo05?ooooo001Fooooo`03o`000000003ooooo013ooooo00?o0000ooooooooool01?ooool0
+0ol0003oooooooooo`04ooooo`8000001Oooool00`00003oooooooooo`02ooooo`8000000oooool5
+o`0000cooooo00?o0000ooooooooool03?ooool00`00003oooooooooo`0<ooooo`Oo00001Oooool0
+0ol0003oooooooooo`1Dooooo`00Eoooool00ol0003oooooooooo`0>ooooo`03o`000?oooooooooo
+00Kooooo00?o0000ooooooooool00_ooool00`00003oooooooooo`05ooooo`0300000?oooooooooo
+00Cooooo00<00000ooooooooool01Oooool5o`0000Kooooo00?o0000ooooooooool03Oooool00`00
+003oooooo`00000<o`0000Cooooo00?o0000ooooool000001Oooool00ol0003oooooooooo`1Doooo
+o`00F?ooool00ol0003oooooooooo`03ooooo`0300000?oooooooooo00Kooooo00?o0000oooooooo
+ool01oooool01Ol0003oooooooooooooool0000000Sooooo00<00000ooooooooool04Oooool5o`00
+0003ooooool0003ooooo00Cooooo3?l0000?ooooo`0500000?l0003oooooooooool000001?ooool0
+0ol0003oooooooooo`1Eooooo`00F?ooool00ol0003oooooooooo`03ooooo`0300000?oooooooooo
+00Kooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`09ooooo`0300000?oooooooooo
+00Oooooo0P00000=ooooo`Oo00006_ooool01@00003o0000oooooooooooo000000Gooooo00?o0000
+ooooooooool0EOooool005Wooooo00?o0000ooooooooool00oooool00`00003oooooooooo`04oooo
+o`03o`000?oooooooooo00Wooooo00<00000o`000?ooool05Oooool00`00003oooooooooo`0;oooo
+o`03o`000?oooooooooo01cooooo00<00000o`000?ooool00_ooool00ol0003oooooooooo`02oooo
+o`03o`000?oooooooooo05Kooooo001Jooooo`03o`000?oooooooooo00Sooooo00?o0000oooooooo
+ool02Oooool00`00003oooooo`00000Gooooo`0300000?oooooooooo00[ooooo00?o0000oooooooo
+ool07?ooool00ol0003oooooooooo`02ooooo`05o`000?ooooooooooooooool00000FOooool005[o
+oooo00?o000000000?ooool02?ooool00ol0003oooooooooo`08ooooo`0500000?oooooooooooooo
+ool000002_ooool00`00003oooooooooo`0<ooooo`0300000?oooooooooo00Kooooo00?o0000oooo
+ooooool03Oooool00`00003oooooooooo`0:ooooo`0300000?oooooo000000Cooooo00?o0000oooo
+ooooool00_ooool00ol0003oooooooooo`1Gooooo`00Foooool00ol0003oooooooooo`06ooooo`03
+o`000?oooooooooo00gooooo00?o0000ooooooooool02?ooool00`00003oooooooooo`0=ooooo`03
+00000?oooooooooo00Gooooo00?o0000ooooooooool03Oooool00`00003oooooooooo`09ooooo`03
+00000?oooooo000000Gooooo00Go0000ooooooooooooooooo`00001Jooooo`00G?ooool01Ol0003o
+ooooooooooooool0000000;ooooo00?o0000ooooooooool01oooool2000000Kooooo00?o0000oooo
+ooooool01oooool00`00003oooooooooo`0>ooooo`0300000?oooooooooo00Cooooo00?o0000oooo
+ooooool03?ooool00`00003oooooooooo`09ooooo`0300000?oooooo000000Kooooo00Co0000oooo
+oooooooo0000Foooool005cooooo00Oo000000000?oooooooooo00000?oooooo000000Sooooo0P00
+0008ooooo`03o`000?oooooooooo00Oooooo00<00000ooooooooool05?ooool00ol0003ooooooooo
+o`0=ooooo`0300000?oooooooooo00[ooooo00?o0000ooooooooool01?ooool01Ol0003ooooooooo
+oooooooo000005_ooooo001Mooooo`06o`000?oooooooooo00000?oooooo00004oooool00ol0003o
+ooooooooo`0Jooooo`80000000?oooooo`000?ooool06?ooool00`00003oooooo`000007ooooo`04
+o`000?ooooooooooo`0005cooooo001Mooooo`05o`000000003oooooooooool000001_ooool20000
+00gooooo00?o0000ooooooooool06oooool00`00003o0000ooooo`0Gooooo`0300000?oooooo0000
+00Sooooo00?o0000ooooool00000GOooool005kooooo00?o0000ooooool000001_ooool00`00003o
+ooooooooo`0=ooooo`03o`000?oooooooooo00Kooooo00<00000ooooooooool04oooool00ol0003o
+ooooooooo`0=ooooo`0300000?oooooooooo00Gooooo00<00000ooooool000002?ooool01?l0003o
+ooooooooool0001Mooooo`00Goooool2o`0000Gooooo00<00000ooooooooool03oooool00ol0003o
+ooooooooo`05ooooo`0300000?oooooooooo01;ooooo00?o0000ooooooooool00P00000<ooooo`03
+00000?oooooooooo00Kooooo00?o0000ooooooooool01oooool00ol0003oooooo`00001Nooooo`00
+Goooool00ol000000000o`00000Fooooo`03o`000?oooooooooo00Gooooo00<00000ooooooooool0
+4_ooool00ol0003oooooooooo`02ooooo`0300000?oooooooooo00Wooooo00<00000ooooooooool0
+1Oooool00ol0003oooooooooo`08ooooo`03o`000?oooooo000005kooooo001Pooooo`03o`000000
+003o0000008000005?ooool00ol0003oooooooooo`04ooooo`0300000?oooooooooo01;ooooo00?o
+0000ooooooooool03_ooool00`00003oooooooooo`02ooooo`80000000?o0000ooooooooool02?oo
+ool00ol0003oooooo`00001Oooooo`00HOooool4o`0001Gooooo00?o0000ooooooooool06?ooool0
+0ol0003oooooooooo`05ooooo`8000002oooool00`00003oooooo`00000;ooooo`;o0000H?ooool0
+06;ooooo00@00000o`000000003o00005?ooool00ol0003oooooooooo`0Gooooo`03o`000?oooooo
+oooo00Sooooo00<00000ooooooooool01oooool00`00003oooooo`00000<ooooo`;o0000H?ooool0
+06Cooooo00?o000000000?l000005?ooool00ol0003oooooooooo`03ooooo`0300000?oooooooooo
+013ooooo00?o0000ooooooooool02Oooool00`00003oooooooooo`02ooooo`0300000?oooooooooo
+00;ooooo00?o0000ooooooooool02_ooool2o`00067ooooo001Uooooo`Co00000P00000@ooooo`03
+o`000?oooooooooo00?ooooo00<00000ooooooooool04?ooool00ol0003oooooooooo`0<ooooo`07
+00000?ooool00000ooooo`00003oooooo`000009ooooo`80000000?oooooo`000?l00000H_ooool0
+06Oooooo00Go0000ooooool0003ooooo0000000@ooooo`03o`000?oooooooooo00;ooooo00<00000
+ooooooooool03oooool00ol0003oooooooooo`0>ooooo`<0000000Coooooo`000?oooooooooo1000
+0002ooooo`8000000_ooool00ol0003oooooooooo`1Rooooo`00J?ooool3o`0000?ooooo1000000;
+ooooo`05o`000?ooooooooooooooo`0000004Oooool00ol0003oooooooooo`0<ooooo`D0000000?o
+000000000?ooool02Oooool2o`0006Gooooo001Zooooo`?o00001oooool2000000Oooooo00?o0000
+ooooooooool04oooool00ol0003oooooooooo`06ooooo`@000001?ooool00`00003oooooo`00000;
+ooooo`03o`000?oooooooooo06Gooooo001[ooooo`03o`000?oooooo000000Sooooo00<00000oooo
+ooooool01Oooool00ol0003oooooooooo`0Booooo`03o`000?oooooooooo00;ooooo0P000009oooo
+o`0300000?l0003o000000[ooooo0_l0001Xooooo`00K?ooool3o`0000_ooooo0P000002ooooo`05
+o`000?ooooooooooooooo`0000003oooool01?l000000000ooooooooool2000000_ooooo00?o0000
+ooooooooool02Oooool00ol0003oooooooooo`1Xooooo`00K_ooool3o`0000_ooooo00@00000oooo
+oooooooo00000_ooool00`00003oooooooooo`07ooooo`8000000_ooool200000003o`000?oooooo
+oooo00cooooo00<00000o`000?ooool02Oooool2o`0006_ooooo001_ooooo`?o00003Oooool01?l0
+00000000000000000003ooooo`8000000_ooool2000000Kooooo00?o0000ooooooooool02oooool0
+0`00003o0000ooooo`08ooooo`;o0000KOooool0077ooooo0_l0000=ooooo`04o`000?ooool00000
+ooooo`8000003?ooool00ol0003oooooooooo`0:ooooo`0300000?l0003ooooo00Sooooo00?o0000
+ooooooooool0KOooool007;ooooo0ol0000<ooooo`03o`000000003ooooo00gooooo00?o0000oooo
+ooooool02oooool00ol0003oooooooooo`06ooooo`;o0000L?ooool007?ooooo0ol0000;ooooo`03
+o`000?ooool0000000gooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`06ooooo`03
+o`000?oooooooooo073ooooo001eooooo`;o00002oooool00ol0003ooooo0000000<ooooo`03o`00
+0?oooooooooo00Sooooo00<00000o`000?ooool01_ooool2o`0007?ooooo001fooooo`;o00002_oo
+ool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo00Sooooo00<00000o`000?ooool01_oo
+ool00ol0003oooooooooo`1cooooo`00N?ooool2o`0000Wooooo00?o0000ooooooooool02_ooool0
+0ol0003oooooooooo`07ooooo`0300000?l0003ooooo00Gooooo0_l0001fooooo`00NOooool2o`00
+00Wooooo00?o000000000?ooool02Oooool00ol0003oooooooooo`07ooooo`03o`000?oooooooooo
+00Cooooo00?o0000ooooooooool0M_ooool007[ooooo0_l00008ooooo`03o`000000003ooooo00Wo
+oooo00?o0000ooooooooool01Oooool00`00003o0000ooooo`04ooooo`;o0000NOooool007cooooo
+0_l00007ooooo`03o`000000003ooooo00Oooooo00?o0000ooooooooool01Oooool00`00003o0000
+ooooo`04ooooo`03o`000?oooooooooo07Wooooo001mooooo`;o00001_ooool00ol000000000oooo
+o`07ooooo`03o`000?oooooooooo00Cooooo00<00000o`000?ooool00oooool2o`0007cooooo001n
+ooooo`;o00001_ooool00ol0003oooooooooo`06ooooo`03o`000?oooooooooo00Cooooo00?o0000
+ooooooooool00_ooool00ol0003oooooooooo`1looooo`00P?ooool2o`0000Cooooo00?o0000oooo
+ooooool01_ooool00ol0003oooooooooo`03ooooo`04o`000?ooooooooooooooo`;o0000Ooooool0
+087ooooo0_l00004ooooo`03o`000000003ooooo00Cooooo00?o0000ooooooooool00oooool01Ol0
+003ooooooooooooooooo0000087ooooo0023ooooo`03o`000?oooooooooo00;ooooo00?o0000oooo
+ooooool00oooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo00;o0000P_ooool008Co
+oooo0_l00002ooooo`03o`000000003ooooo00?ooooo00Ko0000ooooooooooooooooo`000?ooool2
+o`0008Cooooo0025ooooo`;o00000_ooool01Ol0003ooooooooooooooooo000000?ooooo00?o0000
+ooooool00000Q_ooool008Oooooo00?o0000ooooool000000oooool00ol0003ooooo00000003o`00
+08Oooooo0028ooooo`?o000000@00000ooooool0003ooooo0_l00029ooooo`00R_ooool2o`000004
+ooooool0003o0000o`0008[ooooo002;ooooo`?o0000S?ooool008cooooo00?o0000ooooooooool0
+Roooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo6oooool00?oooooo
+6oooool00?oooooo6oooool00?oooooo6oooool00001\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.486 .58183 m
+.63075 .55515 L
+s
+.486 .58183 m
+.60739 .43861 L
+s
+.4914 .42433 m
+.486 .58183 L
+s
+.37684 .43254 m
+.486 .58183 L
+s
+.34973 .54914 m
+.486 .58183 L
+s
+.36872 .65777 m
+.486 .58183 L
+s
+.49073 .68996 m
+.486 .58183 L
+s
+.6144 .66191 m
+.486 .58183 L
+s
+.4914 .42433 m
+.60739 .43861 L
+s
+.4914 .42433 m
+.5 .27523 L
+s
+.37684 .43254 m
+.4914 .42433 L
+s
+.60739 .43861 m
+.75546 .50603 L
+s
+.60739 .43861 m
+.63075 .55515 L
+s
+.64786 .36592 m
+.60739 .43861 L
+s
+.5 .27523 m
+.60739 .43861 L
+s
+.37684 .43254 m
+.5 .27523 L
+s
+.34973 .54914 m
+.37684 .43254 L
+s
+.35026 .35716 m
+.37684 .43254 L
+s
+.23889 .49384 m
+.37684 .43254 L
+s
+.63075 .55515 m
+.75546 .50603 L
+s
+.6144 .66191 m
+.63075 .55515 L
+s
+.23889 .49384 m
+.34973 .54914 L
+s
+.36872 .65777 m
+.34973 .54914 L
+s
+.5 .27523 m
+.64786 .36592 L
+s
+.35026 .35716 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .27523 m
+.64397 .32698 L
+s
+.5105 .28499 m
+.5 .27523 L
+s
+.37177 .31851 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.49073 .68996 m
+.36872 .65777 L
+s
+.5 .75807 m
+.49073 .68996 L
+s
+.6144 .66191 m
+.49073 .68996 L
+s
+.6144 .66191 m
+.75546 .50603 L
+s
+.6144 .66191 m
+.5 .75807 L
+s
+.6144 .66191 m
+.66054 .65315 L
+s
+.64786 .36592 m
+.75546 .50603 L
+s
+.64397 .32698 m
+.64786 .36592 L
+s
+.36872 .65777 m
+.23889 .49384 L
+s
+.36872 .65777 m
+.33724 .64758 L
+s
+.5 .75807 m
+.36872 .65777 L
+s
+.35026 .35716 m
+.37177 .31851 L
+s
+.23889 .49384 m
+.35026 .35716 L
+s
+.0035 w
+[ ] 0 setdash
+.64397 .32698 m
+.75546 .50603 L
+s
+.68244 .44034 m
+.75546 .50603 L
+s
+.65519 .585 m
+.75546 .50603 L
+s
+.66054 .65315 m
+.75546 .50603 L
+s
+.23889 .49384 m
+.37177 .31851 L
+s
+.23889 .49384 m
+.337 .43125 L
+s
+.33724 .64758 m
+.23889 .49384 L
+s
+.36165 .57909 m
+.23889 .49384 L
+s
+.66054 .65315 m
+.5 .75807 L
+s
+.66054 .65315 m
+.65519 .585 L
+s
+.68244 .44034 m
+.64397 .32698 L
+s
+.51982 .38415 m
+.64397 .32698 L
+s
+.5105 .28499 m
+.64397 .32698 L
+s
+.36165 .57909 m
+.33724 .64758 L
+s
+.5 .75807 m
+.33724 .64758 L
+s
+.37177 .31851 m
+.51982 .38415 L
+s
+.37177 .31851 m
+.5105 .28499 L
+s
+.337 .43125 m
+.37177 .31851 L
+s
+.5105 .28499 m
+.51982 .38415 L
+s
+.5 .75807 m
+.36165 .57909 L
+s
+.5 .75807 m
+.51151 .60126 L
+s
+.65519 .585 m
+.5 .75807 L
+s
+.51982 .38415 m
+.68244 .44034 L
+s
+.65519 .585 m
+.68244 .44034 L
+s
+.337 .43125 m
+.51982 .38415 L
+s
+.36165 .57909 m
+.337 .43125 L
+s
+.65519 .585 m
+.51982 .38415 L
+s
+.65519 .585 m
+.51151 .60126 L
+s
+.36165 .57909 m
+.51982 .38415 L
+s
+.51151 .60126 m
+.36165 .57909 L
+s
+.51151 .60126 m
+.51982 .38415 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00R`3oool3000008`0oooo00280?ooo`<000000P3o
+ool4000008T0oooo00250?ooo`<0000000Oo00000?ooo`3oool0ooooo`00003oool000000080oooo
+0`0000260?ooo`00PP3oool3000000D0oooo00?o00000?ooool000001@0000000ol00000oooo0000
+0002000008<0oooo001o0?ooo`<000000P3oool2o`000080oooo1@0000020?ooo`030000003oool0
+oooo00<000000P3oool300000800oooo001l0?ooo`<000000`3oool2o`0000@0000000Go00000?oo
+o`3oool0ooooo`0000020?ooo`030000003oool0oooo0080oooo00Co000000000000000000000P3o
+ool3000007d0oooo001i0?ooo`<00000103oool4000000/0oooo00<00000o`00003oool01@3oool0
+0ol00000000000000002000000040?ooo`0000000000000007X0oooo001f0?ooo`<000000P3oool5
+000000l0oooo00<000000?ooool000001P3oool01?l00000oooo0?ooo`3oool3000000030?ooo`00
+0000000007P0oooo001c0?ooo`<0000000<0oooo0000000000000P0000020?ooo`03o`00003oool0
+oooo00H0oooo00?o00000?ooo`3oool00`3oool01Ol00000oooo0?ooo`3oool0000000P0oooo00?o
+00000?ooo`3oool00`3oool6000007D0oooo001`0?ooo`L000003P3oool00ol00000oooo0?ooo`04
+0?ooo`05o`00003oool0oooo0?ooo`0000004P3oool500000780oooo001]0?ooo`H000001P3oool2
+o`0000T0oooo00?o00000?ooo`3oool0103oool00ol00000oooo0?ooo`020?ooo`040000003oool0
+ooooo`0000P0oooo0_l000080?ooo`D00000K`3oool006X0oooo1000000:0?ooo`03o`00003oool0
+oooo0100oooo00?o00000?ooo`3oool00P3oool010000000oooo0?ooool0000:0?ooo`03o`00003o
+ool0oooo00P0oooo1@00001/0?ooo`00J03oool2000002H0oooo00D000000?ooo`3oool0ooooo`00
+000H0?ooo`@00000J@3oool006P0oooo00<000000?ooo`0000000P0000070?ooo`;o0000303oool0
+0ol00000oooo0?ooo`0;0?ooo`050000003oool0oooo0?ooool00000303oool2o`0000d0oooo1000
+001V0?ooo`00I`3oool2000000@0oooo0P0000030?ooo`;o00003@3oool00ol00000oooo0?ooo`07
+0?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool0403oool00ol00000oooo0?ooo`0=
+0?ooo`800000I@3oool006H0oooo0P0000070?ooo`8000003`3oool00ol00000oooo0?ooo`080?oo
+o`03o`00003oool0oooo0080oooo00<000000?ooo`3oool00`3oool00ol00000oooo0?ooo`0H0?oo
+o`80000000<0oooo0000003oool0I03oool006D0oooo0`0000060?ooo`;o000000@0oooo00000000
+000000005`3oool00ol00000oooo0?ooo`020?ooo`030000003oool0oooo00<0oooo00?o00000?oo
+o`3oool03@3oool2o`0000L0oooo0P0000040?ooo`030000003oool0oooo0680oooo001U0?ooo`03
+0000003oool0000000D0oooo00?o00000?ooo`3oool0103oool2000001D0oooo00?o00000?ooo`3o
+ool00`3oool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo00h0oooo00?o00000?ooo`3o
+ool00P3oool2000000H0oooo0P00001S0?ooo`00I03oool00`000000oooo0000000?0?ooo`800000
+1P3oool00ol00000oooo0?ooo`0@0?ooo`030000003oool0oooo00@0oooo00?o00000?ooo`3oool0
+3P3oool01?l0000000000000000000080?ooo`800000H`3oool006<0oooo00@000000?ooo`3oool0
+00000P3oool2o`0000d0oooo0`0000020?ooo`03o`00003oool0oooo0140oooo00<000000?ooo`3o
+ool0503oool200000080oooo00?o00000?ooo`3oool01`3oool200000680oooo001R0?ooo`800000
+0P3oool00`00003o0000o`00000B0?ooo`8000003P3oool00ol00000oooo0?ooo`030?ooo`030000
+003oool0oooo0180oooo0P0000050?ooo`03o`00003oool0oooo00H0oooo0P00001R0?ooo`00HP3o
+ool2000000030?ooo`000000oooo01H0oooo0P00000<0?ooo`03o`00003oool0oooo00<0oooo00<0
+00000?ooo`3oool01P3oool00ol00000oooo0?ooo`070?ooo`800000203oool00ol00000oooo0?oo
+o`040?ooo`80000000<0oooo0000003oool0H03oool00640oooo0P000002o`0000030000003oool0
+oooo0180oooo00?o00000?ooo`3oool00P3oool3000000T0oooo00?o00000?ooo`3oool00`3oool0
+0`000000oooo0?ooo`060?ooo`03o`00003oool0oooo00D0oooo0P00000A0?ooo`050000003oool0
+00000?ooo`000000H03oool00600oooo00<000000?ooool000000P3oool00`000000oooo0?ooo`0B
+0?ooo`03o`00003oool0oooo00D0oooo0P0000070?ooo`03o`00003oool0oooo00<0oooo00<00000
+0?ooo`3oool01`3oool00ol00000oooo0?ooo`020?ooo`8000003`3oool2o`000080oooo00D00000
+0?ooo`000000oooo0000001P0?ooo`00G`3oool01P000000oooo0?ooool00000oooo000001@0oooo
+00?o00000?ooo`3oool0203oool2000000/0oooo00<000000?ooo`3oool02P3oool2000001<0oooo
+00Go00000?ooo`3oool0oooo000000020?ooo`030000003oool0oooo05d0oooo001O0?ooo`060000
+003oool0oooo0?ooool000000000503oool00ol00000oooo0?ooo`0:0?ooo`<00000203oool00`00
+0000oooo0?ooo`080?ooo`800000603oool00`000000oooo000000020?ooo`030000003oool0oooo
+05`0oooo001N0?ooo`030000003oool000000080oooo00?o00000000003oool08`3oool2000000L0
+oooo00<000000?ooo`3oool0103oool3000000030?ooool00000oooo01L0oooo00<000000?ooo`00
+00000P3oool00`000000oooo0?ooo`1L0?ooo`00G@3oool00`000000oooo000000030?ooo`030000
+003oool0oooo0140oooo00?o00000?ooo`3oool0403oool00ol000000000000000050?ooo`030000
+003oool0oooo0080oooo0P0000050?ooo`03o`00003oool0oooo01@0oooo00Co00000?ooo`000000
+00000`3oool00`000000oooo0?ooo`1K0?ooo`00G03oool00`000000oooo000000040?ooo`030000
+003oool0oooo0100oooo00?o00000?ooo`3oool04@3oool00ol00000oooo0?ooo`0300000080oooo
+00<000000?ooo`3oool00P0000080?ooo`03o`00003oool0oooo0180oooo00Ko00000?ooo`3oool0
+00000?ooo`0000020?ooo`030000003oool0oooo05/0oooo001L0?ooo`030000003oool0oooo00@0
+oooo00<00000o`00003oool03`3oool00ol00000oooo0?ooo`0B0?ooo`03o`00003oool0oooo00<0
+oooo1@00000T0?ooo`050000003oool0oooo0?ooo`000000G03oool005/0oooo0P0000060?ooo`03
+00000?l00000oooo02X0oooo1000000U0?ooo`030000003oool0oooo0080oooo00<000000?ooo`3o
+ool0F@3oool005X0oooo00<000000?ooo`0000001@3oool010000000oooo0?ooool0000V0?ooo`@0
+00000P3oool00`000000oooo00000002000000T0oooo00?o00000?ooo`3oool03`3oool00ol00000
+oooo0?ooo`040?ooo`8000000`3oool00`000000oooo0?ooo`1I0?ooo`00F@3oool00`000000oooo
+000000060?ooo`030000003oool0oooo00h0oooo00?o00000?ooo`3oool04`3oool3000000D0oooo
+0`0000030?ooo`<000001`3oool00ol00000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00D0oooo
+00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`1H0?ooo`00F@3oool2000000L0oooo00<0
+00000?ooo`3oool03@3oool00ol00000oooo0?ooo`0@0?ooo`@0000000<0ooooo`00003oool0103o
+ool01@000000oooo0000003oool0000000D0oooo0`0000050?ooo`03o`00003oool0oooo00`0oooo
+00?o00000?ooo`3oool01P3oool2000000@0oooo00<000000?ooo`3oool0E`3oool005P0oooo00<0
+00000?ooo`3oool01P3oool00`000000oooo0?ooo`0=0?ooo`03o`00003oool0oooo00d0oooo1000
+00050?ooo`03o`00003oool0oooo0080oooo00H000000?ooo`3oool000000?ooo`0000080?ooo`<0
+00006`3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo05L0oooo001G0?ooo`800000
+203oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo01D0oooo0`0000090?ooo`05o`00
+003oool0oooo0?ooo`0000000`3oool010000000oooo0?ooo`00000:0?ooo`8000006@3oool00`00
+0000oooo000000030?ooo`030000003oool0oooo05H0oooo001F0?ooo`8000002@3oool00`000000
+oooo0?ooo`020?ooo`03o`00003oool0oooo0140oooo1000000<0?ooo`04o`00003oool0oooo0000
+00@0oooo00D000000?ooo`3oool0oooo0000000;0?ooo`<000002P3oool00ol00000oooo0?ooo`09
+0?ooo`040000003oool0oooo00000080oooo00<000000?ooo`3oool0EP3oool005D0oooo0P000009
+0?ooo`030000003oool0oooo00@0oooo00?o00000?ooo`3oool01@3oool00ol00000oooo0?ooo`04
+0?ooo`@000004`3oool00`000000oooo0?ooo`020?ooo`050000003oool0oooo0?ooo`0000003@3o
+ool01?l0000000000000000000070?ooo`03o`00003oool0oooo00X0oooo00@000000?ooo`3oool0
+00000P3oool00`000000oooo0?ooo`1E0?ooo`00E@3oool00`000000oooo0?ooo`080?ooo`030000
+003oool0oooo00/0oooo00Co00000?ooo`3oool0oooo1000000F0?ooo`030000003oool0oooo00<0
+oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`0;0?ooo`03o`00003oool0oooo00<0
+00000`3oool00ol00000oooo0?ooo`0;0?ooo`030000003oool0oooo00@0oooo00<000000?ooo`3o
+ool0E03oool005@0oooo00<000000?ooo`3oool02@3oool00`000000oooo0?ooo`0:0?ooo`03o`00
+003oool0000000800000603oool00ol0000000000?ooo`050?ooo`030000003oool0oooo00<0oooo
+00<000000?ooo`3oool0403oool300000003o`00003oool0oooo00/0oooo00<000000?ooo`3oool0
+103oool00`000000oooo0?ooo`1D0?ooo`00D`3oool2000000X0oooo00<000000?ooo`3oool01P3o
+ool00ol00000oooo0?ooo`04000001/0oooo00<000000?ooo`3oool01@3oool00`000000oooo0?oo
+o`030?ooo`030000003oool0oooo01<0oooo0`00000<0?ooo`050000003oool0oooo0?ooo`000000
+0P3oool00`000000oooo0?ooo`1C0?ooo`00DP3oool2000000/0oooo00<000000?ooo`3oool01@3o
+ool4000001h0oooo00<00000o`00003oool01@3oool00`000000oooo0?ooo`050?ooo`030000003o
+ool0oooo00/0oooo00?o00000?ooo`3oool01`3oool2000000X0oooo00<000000?ooo`3oool00P3o
+ool010000000oooo0?ooo`00001D0?ooo`00DP3oool00`000000oooo0?ooo`0:0?ooo`030000003o
+ool0oooo0080oooo0`0000020?ooo`03o`00003ooooo000001H0oooo1?l000020?ooo`03o`000000
+003o000000;o0000103oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo00X0oooo00?o
+00000?ooo`3oool00P3oool00ol00000oooo0?ooo`040?ooo`<000001`3oool00`000000oooo0?oo
+o`030?ooo`030000003oool0000005@0oooo001A0?ooo`030000003oool0oooo00X0oooo00<00000
+0?ooo`0000000`0000050?ooo`;o00001P3oool2o`0000<0oooo1?l000020?ooo`Co0000203oool0
+0`000000ooooo`0000050?ooo`03o`000000003o000000<0oooo0ol000000`3oool000000?ooo`0<
+0?ooo`05o`00003oool0oooo0?ooool000002@3oool3000000D0oooo00<000000?ooo`3oool01@3o
+ool00`000000oooo0?ooo`1A0?ooo`00D03oool00`000000oooo0?ooo`0:0?ooo`<000002@3oool4
+o`0000<0oooo00?o00000?ooo`3oool0503oool00`000000ooooo`0000070?ooo`030000003oool0
+oooo00D0oooo00?o00000?ooo`0000001?l000090?ooo`03o`00003ooooo000000d0oooo0`000002
+0?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool0D03oool004l0oooo0P00000;0?oo
+o`030000003oool0000000L0oooo0_l000000`3ooooo0000o`00000K0?ooo`040000003oool0oooo
+o`0000L0oooo00<000000?ooo`3oool0203oool00`000000oooo0?ooo`030?ooo`Co00005P3oool3
+000000H0oooo00<000000?ooo`000000DP3oool004l0oooo00<000000?ooo`3oool0203oool20000
+0080oooo00<000000?ooo`3oool0103oool01ol00000oooo0?ooo`3ooooo00000?ooool000006@3o
+ool00`000000oooo0?ooo`090?ooo`030000003oool0oooo00P0oooo00<000000?ooo`3oool02@3o
+ool5o`000180oooo0P0000040?ooo`040000003oool0oooo00000540oooo001>0?ooo`030000003o
+ool0oooo00L0oooo0P0000040?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool0603o
+ool00`000000oooo0?ooo`0:0?ooo`030000003oool0oooo00T0oooo00<000000?ooo`3oool02@3o
+ool2o`000080oooo00?o00000?ooo`3oool03`3oool00`000000oooo000000040?ooo`030000003o
+ool000000540oooo001=0?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3oool01@3oool0
+0`00003o0000o`00000R0?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool01@3oool0
+0`000000oooo0?ooo`0:0?ooo`030000003oool0oooo00L0oooo00Co00000?ooo`3ooooo0000103o
+ool2o`0000d0oooo00@000000?ooo`3oool000001P3oool00`000000oooo0?ooo`1>0?ooo`00C03o
+ool00`000000oooo0?ooo`060?ooo`800000203oool00`000000oooo0?ooo`0;0?ooo`03o`00003o
+ool0oooo01<0oooo00<000000?ooo`3oool00`3oool00ol00000oooo0?ooo`050?ooo`030000003o
+ool0oooo00X0oooo00<000000?ooo`3oool02P3oool00ol00000oooo0?ooo`040?ooo`03o`00003o
+ool0oooo00X0oooo00D000000?ooo`3oool0oooo000000060?ooo`030000003oool0oooo04d0oooo
+001<0?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool0103oool2o`000080oooo00<0
+00000?ooo`3oool01P3oool00ol00000oooo0?ooo`030?ooo`03o`00003oool0oooo0140oooo00<0
+00000?ooo`3oool0103oool00ol00000oooo0?ooo`050?ooo`030000003oool0oooo00/0oooo00<0
+00000?ooo`3oool0703oool00`000000oooo0?ooo`030?ooo`070000003oool0oooo0?ooo`000000
+oooo0000001?0?ooo`00B`3oool00`000000oooo0?ooo`040?ooo`8000001@3oool2o`0000@0oooo
+00<000000?ooo`3oool01P3oool00ol00000oooo0?ooo`040?ooo`03o`00003oool0oooo00l0oooo
+00<000000?ooo`3oool01@3oool00ol00000oooo0?ooo`050?ooo`030000003oool0oooo00`0oooo
+00<000000?ooo`3oool00`3oool00ol00000oooo0?ooo`0<0?ooo`?o00001P3oool00`000000oooo
+0?ooo`040?ooo`070000003oool0oooo0?ooo`000000oooo0000001>0?ooo`00BP3oool00`000000
+oooo0?ooo`030?ooo`8000003@3oool00`000000oooo0?ooo`050?ooo`03o`00003oool0oooo01H0
+oooo00<000000?ooo`3oool03P3oool00`000000oooo0?ooo`0<0?ooo`030000003oool0oooo0080
+oooo00?o00000?ooo`3oool00`3oool00ol00000oooo0?ooo`0:0?ooo`03o`00003oool0oooo00<0
+oooo00<000000?ooo`3oool01@3oool01`000000oooo0?ooo`3oool000000?ooo`000000C@3oool0
+04T0oooo00<000000?ooo`3oool00`3oool00`000000oooo0?ooo`030?ooo`;o0000203oool00`00
+0000oooo0?ooo`050?ooo`03o`00003oool0oooo01H0oooo00<000000?ooo`3oool03P3oool00`00
+0000oooo0?ooo`0=0?ooo`040000003oool0ooooo`0000H0oooo00?o00000?ooo`3oool03@3oool2
+o`0000030?ooo`000000oooo00L0oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`1;
+0?ooo`00B03oool2000000<0oooo0P0000050?ooo`03o`00003oool0oooo00T0oooo00<000000?oo
+o`3oool03P3oool00ol00000oooo0?ooo`0;0?ooo`030000003oool0oooo00L0oooo00?o00000?oo
+o`3oool01@3oool00`000000oooo0?ooo`0>0?ooo`030000003oool0oooo00L0oooo00?o00000?oo
+o`3oool03P3oool00ol0000000000?ooo`080?ooo`030000003oool0oooo0080oooo00<000000?oo
+o`3oool0BP3oool004P0oooo00D000000?ooo`3oool0oooo000000020?ooo`;o00003`3oool00`00
+0000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00X0oooo00<000000?ooo`3oool0203oool00ol0
+0000oooo0?ooo`050?ooo`030000003oool0oooo00h0oooo00<000000?ooo`3oool01`3oool00ol0
+0000oooo0?ooo`0?0?ooo`030000003oool0oooo00P0oooo0P0000000`3oool000000000001<0?oo
+o`00A`3oool00`000000oooo0?ooo`0200000080oooo00?o00000?ooo`3oool03`3oool00`000000
+oooo0?ooo`040?ooo`03o`00003oool0oooo00P0oooo00?o00000?ooo`3oool0203oool00`000000
+oooo0?ooo`090?ooo`03o`00003oool0oooo00D0oooo00<000000?ooo`3oool03P3oool00ol00000
+00000?ooo`0H0?ooo`040000003oool0oooo0?ooo`;o0000203oool010000000oooo00000000001;
+0?ooo`00AP3oool2000000030?ooo`000000oooo01D0oooo00<000000?ooo`3oool0103oool00ol0
+0000oooo0?ooo`0B0?ooo`030000003oool0oooo00X0oooo00?o00000?ooo`3oool01@3oool00`00
+0000oooo0?ooo`0=0?ooo`04o`00003oool0oooo000001P0oooo00<000000?ooo`3oool00`3oool0
+0ol00000oooo0?ooo`060?ooo`040000003oool00000000004X0oooo00160?ooo`<0000000<0oooo
+o`000?l00000503oool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo0180oooo00<00000
+0?ooo`3oool04`3oool00`000000oooo0?ooo`0<0?ooo`05o`00003oool0oooo0?ooo`000000203o
+ool00ol00000oooo0?ooo`0=0?ooo`030000003oool0oooo00d0oooo00<000000?ooo`000000BP3o
+ool004@0oooo0`0000000`3ooooo0000o`00000F0?ooo`030000003oool0oooo00<0oooo00?o0000
+0?ooo`3oool02`3oool00ol00000oooo0?ooo`040?ooo`030000003oool0oooo01<0oooo00<00000
+0?ooo`3oool04@3oool00`000000oooo0?ooo`050?ooo`03o`00003oool0oooo00d0oooo00<00000
+0?ooo`3oool01P3oool3o`0000D0oooo00<000000?ooo`000000B@3oool004@0oooo00<00000o`00
+003oool06P3oool00`000000oooo0?ooo`0A0?ooo`03o`00003oool0oooo0080oooo00<000000?oo
+o`3oool0303oool00ol00000oooo0?ooo`050?ooo`030000003oool0oooo00X0oooo00?o00000?oo
+o`3oool01@3oool00`000000oooo0?ooo`040?ooo`03o`00003oool0oooo00d0oooo00<000000?oo
+o`3oool02@3oool00ol00000oooo0?ooo`030?ooo`<00000B03oool004<0oooo0P00000L0?ooo`03
+0000003oool0oooo0180oooo00Co00000?ooo`3oool000003`3oool00ol00000oooo0?ooo`040?oo
+o`030000003oool0oooo00X0oooo00?o00000?ooo`3oool01P3oool00`000000oooo0?ooo`040?oo
+o`03o`00003oool0oooo00d0oooo00<000000?ooo`3oool0303oool2o`000080oooo0P0000180?oo
+o`00@`3oool00`00003o00000000000K0?ooo`050000003oool0oooo0?ooool000004P3oool00`00
+0000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool02@3oool00ol0
+0000oooo0?ooo`080?ooo`030000003oool0oooo0180oooo00<000000?ooo`3oool03`3oool00ol0
+0000oooo0?ooo`02000004L0oooo00140?ooo`0400000?l000000000000001T0oooo00D000000?oo
+o`3oool0ooooo`00000A0?ooo`030000003oool0oooo00l0oooo00?o00000?ooo`3oool0103oool0
+0`000000oooo0?ooo`0E0?ooo`030000003oool0oooo0140oooo00<000000?ooo`3oool04`3oool0
+0`000000oooo0?ooo`150?ooo`00A@3oool010000000oooo0?ooo`000002o`0001H0oooo00D00000
+0?ooo`3oool0ooooo`00000A0?ooo`0300000?l00000oooo01H0oooo00<000000?ooo`3oool05@3o
+ool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`3oool04P3o
+ool2o`0000030000003oool0oooo04@0oooo00150?ooo`070000003oool0oooo0?ooo`000000oooo
+o`00000F0?ooo`040000003oool0ooooo`000100oooo00@000000?ooo`3ooooo00005P3oool00`00
+0000oooo0?ooo`070?ooo`03o`00003oool0oooo00`0oooo00<000000?ooo`3oool00P3oool00ol0
+0000oooo0?ooo`0;0?ooo`030000003oool0oooo01@0oooo0P0000150?ooo`00AP3oool200000080
+oooo0P00000F0?ooo`030000003oool0oooo0100oooo00<000000?ooo`3oool00P3oool00ol00000
+oooo0?ooo`0<0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool01P3oool00ol00000
+oooo0?ooo`0>0?ooo`050000003oool0oooo0?ooool000003@3oool00`000000oooo0?ooo`0@0?oo
+o`;o000000@0oooo0000003oool00000A@3oool004H0oooo0P0000040?ooo`040000003ooooo0000
+o`000180oooo00<000000?ooo`3oool03`3oool00`000000oooo0?ooo`0B0?ooo`03o`00003oool0
+oooo00@0oooo00<000000?ooo`3oool01@3oool00ol00000oooo0?ooo`0?0?ooo`050000003oool0
+oooo0?ooool00000303oool00`000000oooo0?ooo`0?0?ooo`;o00000P3oool00`000000oooo0000
+00160?ooo`00A`3oool2000000@0oooo0P0000000`3ooooo00000?ooo`0@0?ooo`030000003ooooo
+000000h0oooo00<000000?ooo`3oool04`3oool00ol00000oooo0?ooo`040?ooo`030000003oool0
+oooo01P0oooo00<000000?ooo`3oool03@3oool00`000000oooo0?ooo`0;0?ooo`;o00001@3oool0
+0`000000oooo000000170?ooo`00B03oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo
+0100oooo00<000000?ooool000003@3oool00`000000oooo0?ooo`070?ooo`03o`00003oool0oooo
+00X0oooo00?o00000?ooo`3oool0103oool00`000000oooo0?ooo`0I0?ooo`030000003oool0oooo
+00`0oooo00<000000?ooo`3oool02P3oool00ol00000oooo0?ooo`030?ooo`8000000P3oool00`00
+0000oooo0?ooo`150?ooo`00B03oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo00?o
+0000303oool00`00003o00000?ooo`0=0?ooo`030000003oool0oooo00L0oooo00?o00000?ooo`3o
+ool04@3oool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo01<0oooo00@000000?ooo`3o
+oooo00002`3oool00`000000oooo0?ooo`0?0?ooo`050000003oool000000?ooo`000000B03oool0
+04T0oooo0P0000060?ooo`8000000`3oool00ol00000oooo0?ooo`0:0?ooo`030000003oool0oooo
+00/0oooo00<000000?ooo`3oool02@3oool00ol00000oooo0?ooo`0@0?ooo`030000003oool0oooo
+0080oooo00?o00000?ooo`3oool05@3oool00`000000ooooo`00000;0?ooo`030000003oool0oooo
+00H0oooo0_l000060?ooo`050000003oool000000?ooo`000000B@3oool004X0oooo0P0000070?oo
+o`030000003oool0oooo00<0oooo00?o00000?ooo`3oool01`3oool00`000000oooo0?ooo`0:0?oo
+o`030000003oool0oooo01d0oooo00D000000?ooo`3oool0ooooo`00000I0?ooo`030000003ooooo
+000000X0oooo00<000000?ooo`3oool0103oool2o`0000H0oooo0P0000001@3oool000000?ooo`3o
+ool0000004T0oooo001:0?ooo`030000003oool0000000L0oooo0P0000040?ooo`03o`00003oool0
+oooo00H0oooo00<000000?ooo`3oool02@3oool00`000000oooo0?ooo`0G0?ooo`03o`00003oool0
+oooo00@0oooo00<000000?ooo`3oool06`3oool00`000000ooooo`0000090?ooo`040000003oool0
+oooo0?ooo`;o00002@3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo04P0oooo001;
+0?ooo`030000003oool0oooo00P0oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?ooo`04
+0?ooo`03o`0000000000oooo00T0oooo00<000000?ooo`3oool03P3oool00ol00000oooo0?ooo`07
+0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooool00000703oool00`000000oooo0?ooo`08
+0?ooo`040000003ooooo0000o`0000X0oooo00@000000?ooo`3oool000000P3oool00`000000oooo
+0?ooo`190?ooo`00B`3oool00`000000oooo0?ooo`090?ooo`8000001@3oool3o`0000030?ooool0
+0000000000X0oooo00<000000?ooo`3oool03`3oool00ol00000oooo0?ooo`050?ooo`03o`00003o
+ool0oooo00D0oooo00<000000?ooool000007@3oool00`000000oooo0?ooo`050?ooo`;o000000<0
+00000?ooo`3oool02P3oool010000000oooo0?ooo`0000030?ooo`030000003oool0oooo04T0oooo
+001<0?ooo`030000003oool0000000X0oooo00<000000?ooo`3oool01@3oool2o`0000030000003o
+ool0oooo00L0oooo00<000000?ooo`3oool04@3oool00ol00000oooo0?ooo`0<0?ooo`0300000?l0
+0000oooo01d0oooo00<000000?ooo`3oool00`3oool2o`000080oooo00<000000?ooo`3oool0203o
+ool200000080oooo00D000000?ooo`3oool0oooo0000001<0?ooo`00C@3oool00`000000oooo0000
+000:0?ooo`030000003oool0oooo00D0oooo0_l000000`000000oooo0?ooo`050?ooo`030000003o
+ool0oooo0240oooo00<000000?ooo`3oool07@3oool01?l000000000o`000?l000060?ooo`030000
+003oool0oooo00L0oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`1;0?ooo`00C@3o
+ool010000000oooo0?ooo`00000:0?ooo`8000001`3oool010000000oooo0?ooo`3oool2o`000003
+0?ooo`000000oooo02<0oooo00<000000?ooo`3oool07P3oool00ol0000000000?ooo`060?ooo`03
+0000003oool0oooo00H0oooo00<000000?ooo`3oool01P3oool00`000000oooo0?ooo`1;0?ooo`00
+CP3oool00`000000oooo0?ooo`0<0?ooo`030000003oool0oooo00@0oooo00<000000?ooo`3oool0
+0`3oool00`000000oooo0?ooo`0F0?ooo`03o`00003oool0oooo0080oooo00?o00000?ooo`3oool0
+0`3oool00ol00000oooo0000000L0?ooo`?o00000P3oool00`000000oooo0?ooo`040?ooo`030000
+003oool0oooo00H0oooo00<000000?ooo`3oool00P3oool01@000000oooo0?ooo`3oool0000004h0
+oooo001?0?ooo`030000003oool0oooo00`0oooo0P0000020?ooo`03o`00003oool0000000@0oooo
+00<000000?ooo`3oool00P3oool4o`000180oooo00Go00000?ooo`3oool0ooooo`0000040?ooo`04
+o`00003oool0oooo000001D0oooo1?l000090?ooo`030000003oool0oooo00<0oooo00<000000?oo
+o`3oool0103oool2000000@0oooo00D000000?ooo`3oool0oooo0000001?0?ooo`00C`3oool01000
+0000oooo0?ooo`00000=0?ooo`050000003ooooo00000?ooo`000000103oool00`000000oooo0?oo
+o`080?ooo`?o00003P3oool01?l00000oooo0?ooool000030?ooo`05o`00003oool0oooo0?ooo`00
+00004@3oool2o`0000`0oooo00Go00000?ooo`3oool0oooo000000040?ooo`030000003oool0oooo
+00<0oooo00<000000?ooo`3oool00`3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo
+04d0oooo001@0?ooo`040000003oool0oooo000000d0oooo00@000000?ooool0000000000`3oool0
+0`000000oooo0?ooo`0<0?ooo`03o`00003oool0oooo00h0oooo00?o00000?ooo`3oool0103oool0
+0`000000oooo0?ooo`0:0?ooo`;o00000P3oool2o`0000h0oooo00Go00000?ooo`3oool0oooo0000
+00040?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0203oool00`000000oooo0?oo
+o`1>0?ooo`00D@3oool010000000oooo0?ooo`00000=0?ooo`80000000@0oooo0000003oool00000
+4P3oool4o`000140oooo00<000000?ooo`3oool0103oool2o`000080oooo0_l0000D0?ooo`03o`00
+003oool0oooo0080oooo00D000000?ooo`3oool0oooo000000020?ooo`8000002P3oool00`000000
+oooo0?ooo`1?0?ooo`00D@3oool00`000000oooo0?ooo`0@0?ooo`<000006@3oool3o`0000@0oooo
+00Co00000?ooo`3ooooo0000103oool00`00003o0000o`0000020?ooo`;o00006P3oool00ol00000
+oooo0?ooo`030?ooo`060000003oool0oooo0000003oool000001`3oool00`000000oooo0?ooo`02
+0?ooo`030000003oool0oooo04l0oooo001B0?ooo`030000003oool0oooo0100oooo1@00000I0?oo
+o`03o`00003oool0oooo00Ko00000P3oool00ol0000000000?ooo`0U0?ooo`050000003oool00000
+0?ooo`0000001`3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo0500oooo001B0?oo
+o`050000003oool0oooo0?ooo`000000303oool00ol00000oooo000000040?ooo`L000005P3oool3
+o`0000D0oooo00<000000?ooo`3oool09@3oool3000000L0oooo00<000000?ooo`3oool00P3oool0
+0`000000oooo0?ooo`1A0?ooo`00D`3oool01@000000oooo0?ooo`3oool0000000/0oooo00Co0000
+0000003oool000002P3oool7000000h0oooo00Co00000?ooo`3oool0oooo0_l000030?ooo`030000
+003oool0oooo01d0oooo00Co00000?ooo`3oool0oooo1P00000=0?ooo`030000003oool0oooo0540
+oooo001D0?ooo`050000003oool0oooo0?ooo`0000002`3oool010000000oooo0?ooo`00000@0?oo
+o`L000003@3oool01?l00000oooo0?ooo`00000I0?ooo`X000001@3oool00`000000oooo0?ooo`04
+0?ooo`030000003oool0oooo00<0oooo00<000000?ooo`3oool0DP3oool005@0oooo00<000000?oo
+o`3oool03@3oool01@000000oooo0?ooo`3oool0000001H0oooo1`0000020?ooo`03o`00003oool0
+oooo0080oooo00?o00000?ooo`0000003P3oool;000000H0oooo00?o00000?ooo`3oool01@3oool2
+000000D0oooo00<000000?ooo`3oool0103oool00`000000oooo0?ooo`1B0?ooo`00E@3oool00`00
+0000oooo0?ooo`0;0?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool05`3oool01?l0
+0000oooo0?ooo`3oool700000080oooo00<000000?ooo`3oool00P3oool:00000140oooo00?o0000
+0?ooo`3oool0103oool00`000000oooo000000040?ooo`030000003oool0oooo00@0oooo00<00000
+0?ooo`3oool0D`3oool005H0oooo00D000000?ooo`3oool0oooo000000080?ooo`030000003oool0
+oooo00<0oooo00<000000?ooo`3oool05@3oool00ol00000oooo0?ooo`040?ooo`03o`00003oool0
+oooo0080oooo1`00000Q0?ooo`040000003oool0oooo000000X0oooo00<000000?ooo`3oool0E03o
+ool005H0oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`050?ooo`0300000?l00000
+oooo00@0oooo00<000000?ooo`3oool04@3oool00ol00000oooo0?ooo`070?ooo`03o`00003oool0
+oooo00@0oooo00@000000?ooo`3ooooo00008@3oool01@000000oooo0?ooo`3oool0000000X0oooo
+00<000000?ooo`3oool0E03oool005L0oooo00<000000?ooo`3oool00P3oool00`000000oooo0?oo
+o`030?ooo`030000003ooooo000000H0oooo00<000000?ooo`3oool03`3oool00ol00000oooo0?oo
+o`0?0?ooo`030000003oool0oooo01`0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?oo
+o`020?ooo`030000003oool0000000L0oooo00<000000?ooo`3oool0E@3oool005L0oooo00<00000
+0?ooo`3oool0203oool010000000oooo0?ooool000060?ooo`030000003oool0oooo00d0oooo00?o
+00000?ooo`3oool0403oool00`000000oooo0?ooo`030?ooo`;o00005`3oool01Ol00000oooo0?oo
+o`3oool0000000D0oooo00<000000?ooo`0000001P3oool00`000000oooo0?ooo`1F0?ooo`00F03o
+ool00`000000oooo0?ooo`030?ooo`040000003oool0oooo000000<0oooo00?o00000?ooo`3oool0
+103oool00`000000oooo0?ooo`0I0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool0
+1@3oool00ol00000oooo0?ooo`0D0?ooo`04o`00003oool0oooo000000H0oooo0P0000070?ooo`03
+0000003oool0oooo05H0oooo001I0?ooo`030000003oool0oooo0080oooo00@000000?ooo`3oool0
+00002`3oool00`000000oooo0?ooo`080?ooo`;o00003P3oool00ol00000oooo0?ooo`040?ooo`03
+0000003oool0oooo01`0oooo00?o00000?ooo`0000001`3oool00`000000oooo0?ooo`050?ooo`03
+0000003oool0oooo05L0oooo001I0?ooo`030000003oool0oooo00<0oooo00<000000?ooo`000000
+303oool00`000000oooo0?ooo`060?ooo`03o`00003oool0oooo00l0oooo00?o00000?ooo`3oool0
+0`3oool00`000000oooo0?ooo`080?ooo`03o`00003oool0oooo0180oooo00<000000?ooo`3oool0
+103oool010000000oooo0?ooo`0000050?ooo`030000003oool0oooo05P0oooo001J0?ooo`030000
+003oool0oooo0080oooo0P00000>0?ooo`030000003oool0oooo01L0oooo00?o00000?ooo`3oool0
+0`3oool00`000000oooo0?ooo`090?ooo`03o`00003oool0oooo0140oooo00<000000?ooo`3oool0
+0`3oool01@000000oooo0?ooo`3oool0000000D0oooo00<000000?ooo`3oool0F03oool005/0oooo
+00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo00H0oooo
+00@000000?ooo`3oool0oooo0_l0000I0?ooo`030000003oool0oooo00/0oooo00?o00000?ooo`3o
+ool03`3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo0080oooo00<000000?ooo`3o
+ool00P3oool00`000000oooo0?ooo`1I0?ooo`00F`3oool00`000000oooo0?ooo`020?ooo`800000
+103oool00ol00000oooo0?ooo`070?ooo`030000003ooooo000001/0oooo00<000000?ooo`3oool0
+3P3oool2o`0000`0oooo00<000000?ooo`3oool02@3oool01@000000oooo0?ooo`3oool0000005`0
+oooo001L0?ooo`060000003oool0oooo0000003oool00000103oool00ol00000oooo0?ooo`080?oo
+o`030000003oool0oooo01D0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`0@0?oo
+o`03o`00003oool0oooo00P0oooo00<00000o`00003oool02P3oool01@000000oooo0?ooo`3oool0
+000005`0oooo001L0?ooo`040000003oool0oooo00000080oooo00<000000?ooo`3oool02@3oool2
+o`000080oooo00<000000?ooo`3oool0503oool00ol00000oooo0?ooo`020?ooo`030000003oool0
+oooo0140oooo00?o00000?ooo`3oool01P3oool00`000000ooooo`0000040?ooo`030000003oool0
+oooo00@0oooo00@000000?ooo`3oool00000G@3oool005d0oooo00<000000?ooo`0000000`3oool0
+0`000000oooo0?ooo`070?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool0503oool0
+0ol00000oooo0?ooo`020?ooo`030000003oool0oooo01T0oooo00<000000?ooo`3oool0103oool0
+0`000000oooo0?ooo`050?ooo`030000003oool0000005h0oooo001N0?ooo`800000303oool00ol0
+0000oooo0?ooo`040?ooo`030000003oool0oooo01<0oooo00?o00000?ooo`3oool00P3oool00`00
+0000oooo0?ooo`0C0?ooo`?o00000P3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo
+00H0oooo00<000000?ooo`000000GP3oool005l0oooo0`0000030?ooo`030000003ooooo000000`0
+oooo00<000000?ooo`3oool05`3oool00`000000oooo0?ooo`0F0?ooo`03o`0000000000oooo00l0
+oooo0P00001O0?ooo`00H@3oool2000000<0oooo00@00000o`000?l0003o00002`3oool00`000000
+oooo0?ooo`0F0?ooo`030000003oool0oooo01H0oooo00<000000?ooo`3oool00`3oool00ol00000
+00000?ooo`080?ooo`800000H03oool006<0oooo1@00000=0?ooo`030000003oool0oooo0140oooo
+00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`0E0?ooo`040000003oool0oooo0?ooo`;o
+000000<0oooo0000003oool00`3oool4000000030?ooo`000000oooo0640oooo001T0?ooo`030000
+003oool0oooo00@000002`3oool00`000000oooo0?ooo`0@0?ooo`03o`00003oool0oooo0080oooo
+00<000000?ooo`3oool05@3oool00`000000oooo0?ooo`020?ooo`D000001@3oool2000006<0oooo
+001U0?ooo`8000000`3oool2000000<0oooo0P0000060?ooo`030000003oool0oooo00l0oooo00?o
+00000?ooo`3oool00P3oool00`000000oooo0?ooo`0D0?ooo`040000003oool0oooo0?ooo`<00000
+203oool00`000000oooo0?ooo`1S0?ooo`00I`3oool00`000000oooo0?ooo`070?ooo`030000003o
+ool0oooo00@0oooo00<000000?ooo`3oool03P3oool00ol00000oooo0?ooo`020?ooo`030000003o
+ool0oooo01<0oooo0`0000030?ooo`030000003oool0oooo00D0oooo0P00001V0?ooo`00J03oool2
+00000080oooo0P0000070?ooo`8000000P3oool00`000000oooo0?ooo`0B0?ooo`030000003oool0
+oooo00h0oooo0P0000020?ooo`800000303oool00`000000oooo0?ooo`1V0?ooo`00JP3oool01@00
+0000oooo0?ooo`3oool0000000P0oooo00<000000?ooo`000000503oool00`000000oooo0?ooo`0<
+0?ooo`8000000`3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo00D0oooo0P00001Y
+0?ooo`00J`3oool200000080oooo00<000000?ooo`3oool0203oool400000100oooo00<000000?oo
+o`3oool01P3oool4000000H0oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`050?oo
+o`030000003oool0oooo06T0oooo001]0?ooo`030000003oool0oooo00/0oooo00<000000?ooo`3o
+ool00`3oool2000000H0oooo00Go00000?ooo`3oool0oooo000000050?ooo`8000002`3oool00`00
+0000oooo0?ooo`020?ooo`030000003oool0oooo00@0oooo0P00001/0?ooo`00KP3oool200000003
+0?ooo`000000oooo00T0oooo00<000000?ooo`3oool0103oool00`000000oooo0?ooo`030?ooo`04
+o`00003oool0oooo0?ooo`8000000P3oool2000000`0oooo00<000000?ooo`3oool02@3oool00`00
+0000oooo0?ooo`1/0?ooo`00L03oool00`000000oooo000000090?ooo`030000003oool0oooo00P0
+oooo0P0000000ol00000oooo0000000200000100oooo00<000000?ooo`3oool00P3oool00`000000
+oooo0?ooo`030?ooo`800000K`3oool00740oooo00<000000?ooo`0000002@3oool00`000000oooo
+0?ooo`090?ooo`05o`00003oool0oooo0?ooo`000000403oool01@000000oooo0?ooo`3oool00000
+00D0oooo00<000000?ooo`3oool0K`3oool00780oooo0P00000:0?ooo`030000003oool0oooo00`0
+oooo00<000000?ooo`3oool03@3oool01@000000oooo0?ooo`3oool0000000@0oooo0P00001b0?oo
+o`00M03oool00`000000oooo000000080?ooo`030000003oool0oooo00/0oooo00<000000?ooo`3o
+ool0303oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo0780oooo001e0?ooo`<00000
+1`3oool00`000000oooo0?ooo`0;0?ooo`030000003oool0oooo00/0oooo00@000000?ooo`3oool0
+0000103oool2000007D0oooo001g0?ooo`8000001`3oool00`000000oooo0?ooo`070?ooo`040000
+003oool0oooo000000`0oooo00@000000?ooo`3oool00000103oool00`000000oooo0?ooo`1e0?oo
+o`00N03oool2000000L0oooo00<000000?ooo`3oool01P3oool010000000oooo0?ooo`00000;0?oo
+o`040000003oool0oooo000000<0oooo0P00001h0?ooo`00NP3oool3000000D0oooo00<000000?oo
+o`3oool01@3oool010000000oooo0?ooo`00000:0?ooo`030000003oool0oooo00@0oooo00<00000
+0?ooo`3oool0N03oool007/0oooo00<000000?ooo`000000103oool00`000000oooo0?ooo`080?oo
+o`030000003oool0oooo00L0oooo00<000000?ooo`0000000`3oool2000007/0oooo001l0?ooo`80
+00001@3oool00`000000oooo0?ooo`070?ooo`030000003oool0oooo00H0oooo00<000000?ooo`00
+00000`3oool00`000000oooo0?ooo`1k0?ooo`00OP3oool00`000000oooo000000030?ooo`030000
+003oool0oooo00H0oooo00<000000?ooo`3oool01@3oool00`000000oooo000000020?ooo`800000
+OP3oool007l0oooo0`0000030?ooo`030000003oool0oooo00<0oooo00<000000?ooo`0000001`3o
+ool01@000000oooo0?ooo`3oool000000800oooo00210?ooo`8000000`3oool00`000000oooo0?oo
+o`020?ooo`030000003oool0000000H0oooo00<000000?ooo`3oool00P0000210?ooo`00PP3oool2
+00000080oooo00<000000?ooo`3oool00P3oool2000000H0oooo00@000000?ooo`3oool00000P`3o
+ool008@0oooo0P0000000`3oool000000?ooo`030?ooo`030000003oool0oooo00<0oooo00@00000
+0?ooo`0000000000Q03oool008D0oooo0P0000000`3oool000000?ooo`020?ooo`030000003oool0
+oooo0080oooo00<000000?ooo`000000QP3oool008L0oooo00<000000?ooo`0000000P3oool01000
+0000oooo0?ooo`3oool3000008L0oooo00280?ooo`8000000P3oool00`000000oooo0?ooo`020000
+08T0oooo00290?ooo`80000000<0oooo0000003oool00P00002:0?ooo`00R`3oool3000008`0oooo
+002<0?ooo`030000003oool0oooo08/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.52449 .58154 m
+.65716 .54666 L
+s
+.52449 .58154 m
+.6287 .43004 L
+s
+.51504 .42409 m
+.52449 .58154 L
+s
+.39887 .44065 m
+.52449 .58154 L
+s
+.37696 .55717 m
+.52449 .58154 L
+s
+.39229 .6633 m
+.52449 .58154 L
+s
+.51621 .68981 m
+.52449 .58154 L
+s
+.63722 .65607 m
+.52449 .58154 L
+s
+.51504 .42409 m
+.6287 .43004 L
+s
+.51504 .42409 m
+.5 .27523 L
+s
+.39887 .44065 m
+.51504 .42409 L
+s
+.39887 .44065 m
+.5 .27523 L
+s
+.37696 .55717 m
+.39887 .44065 L
+s
+.35344 .36915 m
+.39887 .44065 L
+s
+.24764 .51045 m
+.39887 .44065 L
+s
+.24764 .51045 m
+.37696 .55717 L
+s
+.39229 .6633 m
+.37696 .55717 L
+s
+.6287 .43004 m
+.76219 .48914 L
+s
+.6287 .43004 m
+.65716 .54666 L
+s
+.64983 .35382 m
+.6287 .43004 L
+s
+.5 .27523 m
+.6287 .43004 L
+s
+.65716 .54666 m
+.76219 .48914 L
+s
+.63722 .65607 m
+.65716 .54666 L
+s
+.5 .27523 m
+.64983 .35382 L
+s
+.35344 .36915 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .27523 m
+.62164 .31558 L
+s
+.48166 .28534 m
+.5 .27523 L
+s
+.35086 .33037 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.51621 .68981 m
+.39229 .6633 L
+s
+.5 .75807 m
+.51621 .68981 L
+s
+.63722 .65607 m
+.51621 .68981 L
+s
+.39229 .6633 m
+.24764 .51045 L
+s
+.39229 .6633 m
+.34093 .65519 L
+s
+.5 .75807 m
+.39229 .6633 L
+s
+.35344 .36915 m
+.35086 .33037 L
+s
+.24764 .51045 m
+.35344 .36915 L
+s
+.63722 .65607 m
+.76219 .48914 L
+s
+.63722 .65607 m
+.5 .75807 L
+s
+.63722 .65607 m
+.66292 .64546 L
+s
+.64983 .35382 m
+.76219 .48914 L
+s
+.62164 .31558 m
+.64983 .35382 L
+s
+.0035 w
+[ ] 0 setdash
+.24764 .51045 m
+.35086 .33037 L
+s
+.24764 .51045 m
+.31124 .44396 L
+s
+.34093 .65519 m
+.24764 .51045 L
+s
+.33929 .58737 m
+.24764 .51045 L
+s
+.62164 .31558 m
+.76219 .48914 L
+s
+.65479 .42808 m
+.76219 .48914 L
+s
+.63128 .57704 m
+.76219 .48914 L
+s
+.66292 .64546 m
+.76219 .48914 L
+s
+.33929 .58737 m
+.34093 .65519 L
+s
+.5 .75807 m
+.34093 .65519 L
+s
+.35086 .33037 m
+.46539 .38473 L
+s
+.35086 .33037 m
+.48166 .28534 L
+s
+.31124 .44396 m
+.35086 .33037 L
+s
+.66292 .64546 m
+.5 .75807 L
+s
+.66292 .64546 m
+.63128 .57704 L
+s
+.65479 .42808 m
+.62164 .31558 L
+s
+.46539 .38473 m
+.62164 .31558 L
+s
+.48166 .28534 m
+.62164 .31558 L
+s
+.48166 .28534 m
+.46539 .38473 L
+s
+.5 .75807 m
+.33929 .58737 L
+s
+.5 .75807 m
+.47989 .60148 L
+s
+.63128 .57704 m
+.5 .75807 L
+s
+.31124 .44396 m
+.46539 .38473 L
+s
+.33929 .58737 m
+.31124 .44396 L
+s
+.33929 .58737 m
+.46539 .38473 L
+s
+.47989 .60148 m
+.33929 .58737 L
+s
+.46539 .38473 m
+.65479 .42808 L
+s
+.63128 .57704 m
+.65479 .42808 L
+s
+.63128 .57704 m
+.46539 .38473 L
+s
+.63128 .57704 m
+.47989 .60148 L
+s
+.47989 .60148 m
+.46539 .38473 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00Roooool4o`0008_ooooo0028ooooo`?o00000_oo
+ool2000000?o0000R?ooool008Gooooo1?l00002ooooo`80000000?ooooo00000?ooool00_ooool3
+o`0008Gooooo0022ooooo`So000000<00000ooooo`0000001?ooool300000004ooooool0003o0000
+o`0008;ooooo001oooooo`Ko00000_ooool00ol0003ooooo00000005o`0000Gooooo00@00000oooo
+oooooooooooo0ol0001oooooo`00OOooool5o`000003ooooo`000000000000;ooooo00?o0000oooo
+ooooool00_ooool00`00003oooooooooo`05o`0000Oooooo0ol0001looooo`00N_ooool5o`0000?o
+oooo00<00000ooooooooool00_ooool00ol0003oooooooooo`07ooooo`0300000?oooooooooo00Go
+00001Oooool3o`0007Wooooo001gooooo`Go00002_ooool00ol0003ooooo00000009ooooo`030000
+0?oooooooooo00Cooooo1Ol00003ooooo`?o0000M_ooool007Cooooo1Ol00006ooooo`0300000?oo
+oooooooo00Cooooo00?o000000000?ooool01?ooool00`00003oooooooooo`0<ooooo`8000001Ol0
+00001?oooooo0000o`000?l0001cooooo`00LOooool5o`0000Sooooo00<00000ooooooooool01Ooo
+ool00ol0003oooooooooo`04ooooo`0300000?oooooooooo00Cooooo00<00000ooooooooool01ooo
+ool00`00003oooooooooo`02ooooo`Oo0000L?ooool006oooooo1?l0000:ooooo`0300000?oooooo
+oooo00Kooooo00?o0000ooooooooool01?ooool00`00003oooooooooo`04ooooo`0300000?oooooo
+oooo00Sooooo00<00000ooooooooool01_ooool5o`0006gooooo001/ooooo`Co00002_ooool00`00
+003oooooooooo`09ooooo`03o`000?oooooooooo00Cooooo00<00000ooooooooool01Oooool00`00
+003oooooooooo`0:ooooo`0300000?oooooooooo00Sooooo0_l0001[ooooo`00JOooool4o`0000co
+oooo00<00000ooooooooool02?ooool00`00003o0000ooooo`0?ooooo`0300000?oooooooooo00[o
+oooo00<00000ooooooooool01Oooool2o`000003ooooool00000000006[ooooo001Vooooo`Co0000
+3_ooool00`00003oooooooooo`09ooooo`0300000?l0003ooooo01gooooo00@00000oooooooooooo
+oooo0ol00003ooooo`;o000000<00000ooooooooool0Ioooool006?ooooo1?l0000Looooo`030000
+0?oooooo000000Oooooo00<00000ooooooooool02?ooool00`00003oooooooooo`0;ooooo`;o0000
+00<00000ooooooooool01?ooool2o`0006Wooooo001Rooooo`;o00004?ooool2000000gooooo00<0
+0000ooooool000001oooool00`00003oooooooooo`09ooooo`0300000?oooooooooo00Sooooo0_l0
+0003ooooo`0300000?oooooooooo00?ooooo00?o0000ooooool00000J?ooool006;ooooo00Co0000
+ooooool0003o00003?ooool20000017ooooo00?o0000ooooooooool01_ooool00`00003ooooooooo
+o`09ooooo`0300000?oooooooooo00Gooooo0_l00006ooooo`0300000?oooooooooo00;ooooo00Co
+0000oooooooooooo0000Ioooool0067ooooo00?o000000000?ooool00_ooool2o`0001gooooo00?o
+0000ooooooooool01_ooool00`00003oooooooooo`0?ooooo`;o00002oooool200000004ooooool0
+003oooooo`0006Oooooo001Qooooo`03o`000000003ooooo00Cooooo0_l00005ooooo`8000004?oo
+ool01000003oooooooooool0000Hooooo`?o00003oooool01@00003o0000oooooooooooo000006Ko
+oooo001Pooooo`;o000000<00000ooooooooool01Oooool2o`0000;ooooo00<00000ooooooooool0
+4?ooool01000003oooooooooool0000Fooooo`;o00004oooool01Ol0003ooooooooooooooooo0000
+06Gooooo001Oooooo`;o000000?ooooo00000?ooool02?ooool2o`0001;ooooo00D00000oooooooo
+ooooooooo`000009ooooo`0300000?oooooooooo00Sooooo0_l00002ooooo`0300000?oooooooooo
+013ooooo00?o0000ooooo`0000000P0000000ol0003oooooooooo`1Rooooo`00Goooool2o`0000Wo
+oooo00@00000oooooooooooooooo0_l0000Dooooo`03o`000?oooooooooo00Oooooo00<00000oooo
+ooooool01_ooool2o`0000Gooooo00<00000ooooooooool04?ooool01?l0003oooooooooooooool2
+o`0006?ooooo001Nooooo`03o`000?oooooo000000Sooooo00<00000ooooooooool01?ooool2o`00
+01;ooooo00?o0000ooooooooool01oooool00`00003oooooooooo`04ooooo`;o00006_ooool00ol0
+003oooooooooo`02ooooo`;o0000H_ooool005kooooo0_l00003ooooo`0300000?oooooooooo00;o
+oooo00<00000ooooooooool01oooool2o`0000[ooooo00<00000ooooooooool00oooool00ol0003o
+ooooooooo`07ooooo`0400000?ooooooooooooooo`?o00007?ooool00ol0003oooooooooo`02oooo
+o`0300000?l0003ooooo067ooooo001Mooooo`03o`000?oooooo000000?ooooo00<00000oooooooo
+ool03_ooool2o`0000Oooooo00<00000ooooooooool00oooool00ol0003oooooooooo`0:ooooo`;o
+00003_ooool00`00003oooooooooo`0?ooooo`04o`000?oooooooooo000000;ooooo00?o0000oooo
+ooooool0Goooool005gooooo00?o0000ooooool000000oooool30000013ooooo0_l00004ooooo`03
+00000?oooooooooo00Cooooo00?o0000ooooooooool02?ooool2o`00017ooooo00<00000oooooooo
+ool03_ooool01?l0003oooooooooo`000003ooooo`03o`000?oooooooooo05kooooo001Looooo`03
+o`000?oooooo000000Cooooo00?o0000ooooooooool04_ooool2o`0000Wooooo00?o0000oooooooo
+ool01_ooool2o`0001Cooooo00<00000ooooooooool03Oooool00ol0003oooooooooo`05ooooo`03
+o`000?oooooooooo05gooooo001Kooooo`04o`000?ooooooooooo`0000Cooooo00<00000oooooooo
+ool05?ooool2o`0000Oooooo00?o0000ooooooooool01?ooool2o`0000?ooooo00<00000oooooooo
+ool08?ooool00ol0003oooooooooo`05ooooo`0300000?l0003ooooo05gooooo001Kooooo`04o`00
+0?ooooooooooo`0000Gooooo00<00000ooooooooool05?ooool00`00003o0000o`000005ooooo`04
+o`000?ooooooooooooooo`?o00001Oooool00`00003oooooooooo`0Booooo`0300000?oooooooooo
+00cooooo00?o000000000?ooool01Oooool00ol0003oooooooooo`1Looooo`00F_ooool01?l0003o
+ooooooooool00003ooooo`0400000?oooooooooo000001Kooooo00<00000ooooooooool00_l00002
+ooooo`03o`000?oooooooooo00;o00002?ooool00`00003oooooooooo`0Booooo`0300000?oooooo
+oooo00cooooo00?o000000000?ooool01_ooool00ol0003oooooooooo`1Kooooo`00F_ooool01?l0
+003oooooooooool00002ooooo`0300000?oooooooooo01Oooooo00<00000ooooooooool00oooool5
+o`00023ooooo00<00000ooooooooool02oooool00ol000000000ooooo`07ooooo`03o`000?oooooo
+oooo05[ooooo001Iooooo`07o`000?ooooooooooooooool0003ooooo00000006ooooo`0300000?oo
+oooooooo013ooooo00<00000ooooooooool01Oooool4o`00023ooooo00<00000ooooooooool02ooo
+ool00ol000000000ooooo`08ooooo`03o`000?oooooooooo05Wooooo001Iooooo`04o`000?oooooo
+ooooo`0000Wooooo00<00000ooooooooool05Oooool3o`000004ooooool0003oooooooooo`Go0000
+:_ooool00ol0003oooooooooo`07ooooo`0300000?l0003ooooo05Wooooo001Hooooo`05o`000?oo
+ooooooooooooool000002_ooool00`00003oooooooooo`0=ooooo`0400000?ooooooooooooooo`?o
+00000oooool3o`0000Kooooo1?l000000oooool00000ooooo`0Gooooo`0300000?oooooooooo00Wo
+oooo00?o0000ooooooooool02?ooool00`00003o0000ooooo`1Hooooo`00Eoooool00ol0003ooooo
+ooooo`02ooooo`03o`000000003ooooo00Wooooo00<00000ooooooooool03?ooool01000003ooooo
+o`000?l00005ooooo`05o`000?oooooo0000ooooool000002Oooool4o`0001Kooooo00<00000oooo
+ooooool02?ooool00`00003o0000ooooo`0:ooooo`03o`000?oooooooooo05Oooooo001Gooooo`06
+o`000?ooooooooooooooool0000000006Oooool3o`0000Oooooo00?o0000ooooool000000_ooool0
+0ol0003oooooooooo`08ooooo`0300000?oooooo000000Co00004_ooool00`00003oooooooooo`07
+ooooo`0300000?oooooo000000_ooooo00?o0000ooooooooool0E_ooool005Kooooo00?o0000oooo
+ooooool00_ooool00ol0003oooooooooo`0Eooooo`?o000000<00000ooooooooool01_ooool01?l0
+003oooooooooool00003ooooo`03o`000?oooooooooo00Oooooo00<00000ooooooooool01?ooool4
+o`0001Oooooo00@00000oooooooooooo00003?ooool00ol0003oooooooooo`1Eooooo`00E_ooool0
+0ol0003oooooooooo`02ooooo`03o`000?oooooooooo00_ooooo00<00000ooooooooool01Oooool2
+o`0000cooooo00Co0000oooooooooooo00001?ooool00ol0003oooooooooo`0Aooooo`Go00004_oo
+ool01000003oooooooooool0000=ooooo`03o`000?oooooooooo05Cooooo001Eooooo`03o`000?oo
+oooooooo00;ooooo00?o0000ooooooooool03Oooool01000003oooooooooooooool3o`0000gooooo
+00Go0000ooooooooooooooooo`000005ooooo`03o`000?oooooooooo01Gooooo1?l00008ooooo`03
+00000?oooooooooo00Kooooo00?o0000ooooooooool03?ooool00ol0003oooooooooo`1Cooooo`00
+EOooool01_l0003oooooooooooooool00000o`00013ooooo0ol00006ooooo`0300000?oooooooooo
+00Kooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo
+00Cooooo00<00000ooooooooool04Oooool5o`0000?ooooo00<00000ooooooooool01oooool00ol0
+003oooooooooo`0;ooooo`03o`000?oooooooooo05?ooooo001Dooooo`03o`000?oooooooooo00;o
+oooo00<00000o`000?ooool03?ooool3o`0000Wooooo00<00000ooooooooool01_ooool00ol0003o
+ooooooooo`03ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool01?ooool00`00003o
+ooooooooo`0Fooooo`Co000000D00000oooooooooooooooo00000004ooooo`03o`000?oooooooooo
+00cooooo00?o0000ooooooooool0D_ooool005?ooooo00?o0000ooooooooool00_ooool00`00003o
+0000ooooo`0;ooooo`;o00002oooool00`00003oooooooooo`06ooooo`03o`000?oooooooooo00Co
+oooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`03ooooo`0300000?oooooooooo01[o
+oooo1?l000000`00003oooooooooo`02ooooo`03o`000?oooooooooo00gooooo00?o0000oooooooo
+ool0DOooool005?ooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`07ooooo`?o0000
+1oooool00`00003oooooooooo`0<ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool0
+1?ooool01000003o0000ooooooooool6000000;ooooo10000003ooooo`<000004?ooool00`00003o
+0000o`000003o`000003ooooool0003ooooo00kooooo00?o0000ooooooooool0D?ooool005;ooooo
+00?o0000ooooooooool01?ooool00ol0003oooooooooo`04ooooo`?o00002_ooool00`00003ooooo
+ooooo`0;ooooo`03o`000?oooooooooo00Gooooo00?o00000000000000000_ooool2000000;ooooo
+00Go0000oooooooooooooooo0000000Booooo`@000000_ooool4000000;ooooo0_l000000`00003o
+ooooooooo`02ooooo`?o00003oooool00ol0003oooooooooo`1?ooooo`00D_ooool01ol0003ooooo
+ooooooooool00000ooooool000001Oooool2o`0000kooooo00@00000ooooooooool000002?ooool0
+1?l0003oooooooooooooool2000000;ooooo00<00000o`000?ooool02?ooool01?l0003ooooooooo
+o`00000Oooooo`0300000?ooool0000000Cooooo00Co0000ooooool0003o00003_ooool00ol0003o
+ooooooooo`1>ooooo`00DOooool01Ol0003oooooooooooooool0000000;ooooo00?o0000oooooooo
+ool00ol0000Cooooo`0300000?oooooooooo00;ooooo0`0000000ooooooo0000ooooo`02000000Go
+oooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`0Nooooo`0500000?ooool00000oooo
+o`0000000oooool01?l0003oooooooooooooool2o`0000cooooo00?o0000ooooooooool0C_ooool0
+057ooooo00Co0000ooooooooool000000oooool3o`0001Gooooo0`000006ooooo`03o`000?oooooo
+oooo00Oooooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`0Oooooo`0300000?oooooo
+oooo00;ooooo00<00000o`000?ooool01?ooool00ol0003oooooooooo`0:ooooo`03o`000?oooooo
+oooo04gooooo001@ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool05?ooool30000
+00Oooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo
+02Cooooo00?o0000ooooo`0000001Oooool2o`0000_ooooo00?o0000ooooooooool0C?ooool0053o
+oooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`0Booooo`80000000Cooooo00000?oo
+ool000001_ooool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo00[ooooo00?o00000000
+0?ooool06_ooool00`00003oooooooooo`06ooooo`03o`000?oooooooooo00;ooooo0P000003oooo
+o`;o00002_ooool00ol0003oooooooooo`1;ooooo`00Coooool01?l0003oooooooooo`000003oooo
+o`;o00004?ooool2000000Gooooo00<00000ooooooooool01Oooool00ol0003oooooooooo`09oooo
+o`03o`000?oooooooooo00_ooooo00?o0000ooooooooool06?ooool00`00003oooooooooo`03oooo
+o`0500000?ooooooooooooooool000001_ooool00`00003oooooooooo`02ooooo`;o00002Oooool0
+0ol0003oooooooooo`1:ooooo`00C_ooool01?l0003oooooooooo`000003ooooo`03o`000?oooooo
+000000oooooo00<00000ooooooooool03Oooool00ol0003oooooooooo`09ooooo`03o`000?oooooo
+oooo00_ooooo00<00000o`000?ooool05oooool00`00003oooooooooo`04ooooo`0500000?oooooo
+ooooooooool000001oooool00`00003oooooooooo`03ooooo`;o00001oooool00ol000000000oooo
+o`1:ooooo`00C_ooool00ol0003ooooo00000003ooooo`05o`000?ooooooooooooooool000006ooo
+ool00`00003oooooo`00000<ooooo`03o`000?oooooooooo00_ooooo00<00000ooooool000007_oo
+ool01@00003ooooooooooooooooo000000[ooooo0`000002ooooo`;o00001_ooool00ol0003ooooo
+ooooo`19ooooo`00COooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo00;ooooo00?o
+0000ooooooooool02?ooool2000000Wooooo00<00000ooooooooool01?ooool00ol0003ooooooooo
+o`0;ooooo`03o`000?oooooooooo00kooooo00?o0000ooooooooool06oooool01@00003ooooooooo
+oooooooo000000gooooo00D00000ooooooooooooooooo`000006ooooo`03o`000?oooooooooo04So
+oooo001=ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool00oooool00ol0003ooooo
+ooooo`06ooooo`8000002oooool00`00003oooooooooo`04ooooo`03o`000000003ooooo00_ooooo
+00?o0000ooooooooool03oooool00ol0003oooooooooo`0Aooooo`0300000?oooooooooo00[ooooo
+00?o0000ooooooooool03_ooool01000003oooooo`000?l00005ooooo`03o`000?oooooooooo04Oo
+oooo001<ooooo`03o`000?ooool0000000;ooooo00?o0000ooooooooool01?ooool00ol0003ooooo
+ooooo`03ooooo`0300000?oooooooooo00gooooo00<00000ooooooooool00oooool00ol0003ooooo
+ooooo`0<ooooo`03o`000?oooooooooo00_ooooo00<00000ooooooooool00_ooool00ol0003ooooo
+ooooo`0@ooooo`0300000?oooooooooo00Wooooo00?o0000ooooooooool04?ooool00`00003ooooo
+ooooo`02o`0000Cooooo00?o0000ooooooooool0A_ooool004cooooo00Go000000000?oooooooooo
+o`000007ooooo`03o`000?oooooooooo00;ooooo00<00000ooooooooool03_ooool00`00003ooooo
+ooooo`03ooooo`03o`000?oooooooooo00gooooo00?o0000ooooooooool02_ooool00`00003ooooo
+ooooo`02ooooo`03o`000?oooooooooo00oooooo00<00000ooooooooool02?ooool00`00003ooooo
+o`00000Cooooo`0400000?ooooooooooooooo`;o00000oooool00ol0003oooooooooo`15ooooo`00
+Boooool01Ol000000000oooooooooooo000000Wooooo00Co0000ooooooooool000005_ooool00ol0
+003oooooooooo`02ooooo`0300000?oooooooooo00Wooooo00?o0000ooooooooool02_ooool00`00
+003oooooooooo`03ooooo`03o`000?oooooooooo01Wooooo00<00000ooooool000005_ooool30000
+00;o000000?oooooo`000?ooool0A_ooool004[ooooo00Go0000ooooooooooooooooo`000008oooo
+o`80000000?o0000ooooooooool05_ooool00ol0003oooooooooo`04ooooo`0300000?oooooooooo
+00Sooooo00?o0000ooooooooool02_ooool00`00003oooooooooo`04ooooo`03o`000?oooooooooo
+01Wooooo00<00000o`000?ooool06?ooool01@00003oooooo`000?oooooo000004Kooooo001:oooo
+o`04o`000?ooooooooooo`0000Sooooo00@00000oooooooooooo00004oooool00`00003ooooooooo
+o`02ooooo`03o`000?oooooooooo00Gooooo00<00000ooooooooool01oooool00ol0003ooooooooo
+o`0Booooo`03o`000?oooooooooo00[ooooo00<00000ooooooooool02oooool00`00003o0000oooo
+o`0Kooooo`?o0000AOooool004Wooooo00Co000000000?oooooo00003?ooool00ol0003ooooooooo
+o`0Aooooo`0500000?ooooooooooooooool000004_ooool00ol0003oooooooooo`0Cooooo`03o`00
+0?oooooooooo00Sooooo00<00000ooooooooool03Oooool00ol0003oooooooooo`0Looooo`;o0000
+A?ooool004Wooooo00?o000000000?l000001_ooool2000000Gooooo00?o0000ooooooooool04Ooo
+ool01000003oooooooooool0000;ooooo`0300000?oooooooooo00Gooooo00?o0000ooooooooool0
+2_ooool00`00003oooooooooo`07ooooo`03o`000?oooooooooo00Kooooo00<00000ooooooooool0
+3_ooool00ol0003oooooooooo`0Mooooo`;o0000@oooool004Sooooo00?o000000000?l000001Ooo
+ool2000000Sooooo00?o0000ooooooooool04?ooool01000003oooooooooool0000<ooooo`030000
+0?oooooooooo00Cooooo00?o0000ooooooooool02_ooool00`00003oooooooooo`08ooooo`03o`00
+0?oooooooooo01Gooooo00?o000000000?ooool07?ooool01000003o000000000?l00013ooooo`00
+B?ooool2o`0000;ooooo0P00000<ooooo`03o`000?oooooooooo01;ooooo00?o0000ooooooooool0
+3?ooool00`00003oooooooooo`03ooooo`03o`000?oooooooooo00[ooooo00<00000ooooooooool0
+2Oooool00ol0003oooooooooo`0Dooooo`03o`000000003ooooo01_ooooo0_l000000`00003o0000
+ooooo`13ooooo`00Aoooool2o`0000;ooooo00<00000ooooooooool03?ooool00ol0003ooooooooo
+o`0Booooo`03o`000?oooooooooo01;ooooo00?o0000ooooooooool02_ooool00`00003ooooooooo
+o`09ooooo`03o`000?oooooooooo00;ooooo00<00000ooooooooool03oooool00ol000000000oooo
+o`0Hooooo`80000000Co0000oooooooooooo0000AOooool004Kooooo0_l0000Booooo`03o`000?oo
+oooooooo00oooooo00<00000ooooool000005Oooool00ol0003oooooooooo`0Gooooo`05o`000?oo
+ooooooooooooo`0000004Oooool00ol000000000ooooo`0Gooooo`0300000?l0003o000000?ooooo
+00?o0000ooooooooool0@oooool004Kooooo00?o00000000000000004Oooool00ol0003ooooooooo
+o`0?ooooo`0300000?l0003ooooo017ooooo00D00000ooooooooooooooooo`00000Jooooo`03o`00
+0?ooool0000001;ooooo00?o0000ooooooooool05oooool01_l0003oooooooooooooool00000o`00
+04Kooooo0015ooooo`;o000000<00000ooooooooool04Oooool00ol0003oooooooooo`0>ooooo`03
+00000?l0003ooooo01;ooooo00@00000oooooooooooo00003Oooool00`00003oooooooooo`0;oooo
+o`03o`000000003ooooo017ooooo00?o0000ooooooooool04oooool2000000;o00000oooool00`00
+003o0000ooooo`16ooooo`00AOooool01?l000000000o`000000000Booooo`03o`000?oooooooooo
+00kooooo00?o0000ooooooooool04oooool00`00003oooooo`00000=ooooo`0300000?oooooooooo
+00cooooo00?o0000ooooooooool04?ooool00ol0003ooooo0000000Aooooo`80000000?oooooo`00
+0?ooool00oooool00`00003oooooo`000017ooooo`00A_ooool00ol000000000o`000002ooooo`<0
+00003Oooool00ol0003oooooooooo`0>ooooo`03o`000?oooooooooo01Gooooo00?o0000oooooooo
+ool02oooool00`00003oooooooooo`0:ooooo`0400000?ooooooooooo`00013ooooo00Co0000oooo
+ooooool000004_ooool2o`0000Kooooo00?o0000ooooooooool0A_ooool004Oooooo00?o0000oooo
+ool000001?ooool00`00003oooooooooo`0:ooooo`03o`000?oooooooooo00gooooo00?o0000oooo
+ooooool05_ooool00ol0003oooooooooo`0;ooooo`0300000?oooooooooo00[ooooo00D00000oooo
+ooooooooooooo`00000?ooooo`05o`000?ooooooooooooooo`0000003?ooool2000000;ooooo00?o
+0000ooooooooool01_ooool00ol0003oooooooooo`16ooooo`00Aoooool01?l0003oooooooooool0
+0006ooooo`8000002?ooool00ol0003oooooooooo`0<ooooo`03o`000000003ooooo01Oooooo00<0
+0000o`000?ooool05oooool00`00003oooooooooo`03ooooo`03o`000?oooooooooo00cooooo00Go
+0000oooooooooooooooo0000000;ooooo`0300000?oooooooooo00;o00001_ooool00`00003ooooo
+o`000019ooooo`00B?ooool00ol0003ooooo00000002o`0000Kooooo00<00000ooooooooool01_oo
+ool00ol0003oooooooooo`0;ooooo`03o`000000003ooooo01Sooooo00?o0000ooooooooool05Ooo
+ool00`00003oooooooooo`04ooooo`03o`000?oooooooooo00cooooo00?o0000ooooooooool03ooo
+ool00ol0003oooooooooo`05ooooo`0300000?oooooo000004[ooooo0018ooooo`06o`000?oooooo
+oooo00000?oooooo00002?ooool3000000?ooooo00?o0000ooooooooool02_ooool00ol0003ooooo
+0000000Iooooo`03o`000000003ooooo01gooooo00?o0000ooooooooool02oooool00ol0003ooooo
+ooooo`09ooooo`8000000_ooool2o`0000Oooooo00@00000oooooooooooo0000B_ooool004Wooooo
+00Ko0000ooooooooool00000ooooool0000:ooooo`0400000?ooooooooooo`0000cooooo00?o0000
+ooooo`0000006Oooool00ol0003oooooooooo`0:ooooo`0300000?oooooooooo00Kooooo00<00000
+ooooooooool02?ooool00ol0003oooooooooo`0:ooooo`05o`000?ooooooooooooooo`0000001_oo
+ool01@00003ooooooooooooooooo000000_ooooo00?o0000ooooooooool0BOooool004[ooooo00?o
+0000ooooooooool00_ooool00ol0003oooooooooo`0:ooooo`03o`0000000000000000Wooooo00?o
+0000ooooooooool06_ooool01?l0003oooooooooo`000009ooooo`0300000?oooooooooo00Kooooo
+00<00000ooooooooool02Oooool00ol0003oooooooooo`09ooooo`05o`000?ooooooooooooooo`00
+00002Oooool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo04[ooooo001:ooooo`07o`00
+0?ooooooooooooooo`00003oooooo`00000;ooooo`04o`000?oooooooooo000000Oooooo00?o0000
+ooooooooool06oooool01Ol0003oooooooooooooool0000000Sooooo00<00000ooooooooool01Ooo
+ool00`00003oooooooooo`0;ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool00ooo
+ool01000003ooooo000000000003ooooo`;o00002Oooool01000003oooooooooool0001<ooooo`00
+Boooool01ol0003oooooooooooooool00000ooooool000002oooool00ol0003oooooooooo`02oooo
+o`<000000_ooool01?l0003oooooooooo`00000Jooooo`03o`000?oooooooooo00;ooooo00<00000
+ooooooooool03Oooool00`00003oooooooooo`0<ooooo`03o`000?oooooooooo00Kooooo00?o0000
+ooooooooool00_ooool2o`00000300000?oooooooooo00;ooooo00?o0000ooooooooool02Oooool0
+0`00003oooooo`00001=ooooo`00C?ooool01_l0003oooooooooooooool00000ooooo`;o00002Ooo
+ool00ol0003oooooooooo`05ooooo`0300000?l0003ooooo00;ooooo00<00000ooooooooool06?oo
+ool00ol0003oooooooooo`0Rooooo`03o`000?oooooooooo00Gooooo00?o000000000?ooool01ooo
+ool2o`0000_ooooo00<00000ooooool00000C_ooool004cooooo00?o0000ooooooooool01Oooool0
+0ol0003oooooooooo`06ooooo`03o`000?oooooooooo00Gooooo00Go0000oooooooooooooooo0000
+000Kooooo`03o`000?oooooooooo02;ooooo00?o0000ooooooooool01?ooool00`00003o0000oooo
+o`07ooooo`03o`000?oooooooooo00gooooo00?o0000ooooooooool0C?ooool004gooooo00?o0000
+ooooooooool01Oooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00Gooooo00?o0000
+ooooooooool00_l00002000001Wooooo00?o0000ooooooooool01?ooool00`00003oooooooooo`03
+ooooo`0300000?oooooooooo00?ooooo00<00000ooooooooool04?ooool01?l0003ooooo00000000
+0003ooooo`03o`000?oooooooooo00Cooooo0_l0000?ooooo`03o`000?oooooooooo04gooooo001>
+ooooo`05o`000?ooooooooooooooo`0000000oooool00ol0003oooooooooo`04ooooo`03o`000?oo
+oooooooo00Cooooo00?o0000ooooooooool01Oooool00`00003oooooooooo`03000001?ooooo00?o
+0000ooooooooool01Oooool00`00003oooooooooo`02ooooo`0300000?oooooooooo00;ooooo00<0
+0000ooooooooool03Oooool2000000;ooooo00<00000o`000?ooool01?ooool00ol0003ooooooooo
+o`02ooooo`0300000?l0003ooooo00gooooo00@00000oooooooooooo0000Coooool004kooooo00?o
+0000ooooooooool00_ooool01@00003ooooooooooooooooo000000Kooooo00?o0000ooooooooool0
+0oooool00ol0003oooooooooo`0;ooooo`0400000?ooooooooooooooo`8000003Oooool00ol0003o
+ooooooooo`06ooooo`0300000?oooooooooo00;ooooo00@00000ooooooooool000003_ooool20000
+00Kooooo00?o0000ooooooooool00_ooool01?l0003oooooooooooooool2o`0000kooooo00@00000
+oooooooooooo0000D?ooool004oooooo00?o0000ooooooooool00_ooool01000003ooooooooooooo
+ool2o`0000Cooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`04ooooo`0300000?oo
+oooooooo00_ooooo00@00000oooooooooooooooo0P000007ooooo`03o`000?oooooooooo00_ooooo
+00<00000ooooooooool02oooool2000000_ooooo00Co0000oooooooooooo00000oooool00ol0003o
+oooo0000000=ooooo`0400000?ooooooooooo`00057ooooo001?ooooo`03o`000?oooooooooo00So
+oooo00Go0000ooooooooooooooooo`000003ooooo`03o`000?oooooooooo00Gooooo00<00000oooo
+ooooool04Oooool01000003oooooooooooooool300000003o`000?oooooooooo00Sooooo00<00000
+ooooooooool03?ooool2000000kooooo00Co0000ooooool0003ooooo0_l00002ooooo`0300000?oo
+oooooooo00kooooo00?o0000ooooooooool0Coooool0053ooooo00?o0000ooooooooool01?ooool0
+1@00003ooooooooooooooooo000000;ooooo00Go0000ooooooooooooooooo`000007ooooo`030000
+0?oooooooooo01Sooooo00?o0000ooooooooool00`000006ooooo`0400000?oooooooooo000000Co
+oooo1000000Cooooo`?o00005?ooool00ol0003oooooooooo`1@ooooo`00DOooool00ol0003ooooo
+ooooo`03ooooo`0300000?oooooooooo00;ooooo00?o0000ooooool000000_ooool00ol0003ooooo
+ooooo`0Rooooo`03o`000?oooooooooo00;ooooo00<00000ooooooooool00`0000000oooool00000
+o`000003000001Oooooo1?l0000Aooooo`0400000?ooooooooooo`0005?ooooo001Aooooo`03o`00
+0?oooooooooo00Cooooo00<00000ooooooooool00_ooool01Ol0003oooooo`000?oooooo000002Co
+oooo00?o0000ooooooooool02?ooool01000003o0000o`000?l0000Cooooo`Ko00000oooool00ol0
+003oooooooooo`02ooooo`0300000?oooooooooo00Wooooo00D00000ooooooooooooooooo`00001C
+ooooo`00D_ooool00ol0003oooooooooo`09ooooo`?o00009Oooool00ol0003oooooooooo`0Ioooo
+o`Ko00002?ooool00ol0003oooooo`000003ooooo`0300000?oooooooooo00Sooooo00D00000oooo
+ooooooooooooo`00001Dooooo`00Doooool00ol0003oooooooooo`09ooooo`Ko00001_ooool00`00
+003oooooooooo`0Hooooo`03o`000?oooooooooo00Kooooo0P000005ooooo`8000000oooool7o`00
+00gooooo00Co0000oooooooooooo00000oooool00`00003oooooooooo`0;ooooo`03o`000?oooooo
+oooo05?ooooo001Cooooo`03o`000?oooooooooo00Gooooo00D00000ooooooooooooooooo`000005
+ooooo`[o00005oooool00ol0003oooooooooo`04ooooo`8000001?ooool00`00003oooooo`000005
+o`0001?ooooo00?o0000ooooooooool00_ooool01?l0003oooooooooo`00000=ooooo`03o`000?oo
+oooooooo05?ooooo001Dooooo`03o`000?oooooooooo00Gooooo00<00000ooooooooool00_l0000:
+ooooo`0400000?ooooooooooooooo`Wo00003_ooool00ol0003oooooooooo`06ooooo`Ko00001?oo
+ool00`00003oooooooooo`0Booooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool02Ooo
+ool01@00003ooooooooooooooooo000005Kooooo001Eooooo`03o`000?oooooooooo00Gooooo00D0
+0000ooooool0003oooooo`000009ooooo`0300000?oooooooooo00[ooooo2_l00004ooooo`03o`00
+0?oooooooooo00Ko00000oooool00`00003oooooooooo`0Hooooo`03o`000?oooooooooo00Cooooo
+00?o0000ooooooooool02?ooool01@00003ooooooooooooooooo000005Kooooo001Eooooo`03o`00
+0?oooooooooo00Oooooo00Co0000oooooooooooo00007oooool7o`00000300000?oooooooooo00Ko
+oooo00<00000ooooooooool01oooool2000000kooooo00?o0000ooooooooool01Oooool00ol00000
+0000ooooo`07ooooo`0500000?ooooooooooooooool00000Eoooool005Kooooo00?o0000oooooooo
+ool01_ooool01Ol0003ooooooooooooooooo000002;ooooo00?o0000ooooo`0000005Oooool00`00
+003oooooooooo`0;ooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool02Oooool00ol0
+003oooooooooo`1Fooooo`00E_ooool00ol0003oooooooooo`06ooooo`03o`000000003ooooo00;o
+oooo00?o0000ooooooooool01Oooool00`00003oooooooooo`0Fooooo`0300000?l0003ooooo02?o
+oooo00?o0000ooooooooool01oooool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo05Ko
+oooo001Gooooo`03o`000?oooooooooo00Gooooo00?o0000ooooo`0000000oooool00ol0003ooooo
+ooooo`04ooooo`0300000?oooooooooo01Gooooo00<00000ooooool000002oooool00`00003ooooo
+ooooo`0<ooooo`0300000?oooooooooo00Kooooo00?o0000ooooooooool02?ooool00`00003o0000
+ooooo`04ooooo`0500000?ooooooooooooooool00000FOooool005Sooooo00?o0000ooooooooool0
+1?ooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo00?ooooo00<00000ooooooooool0
+5?ooool01000003oooooooooool0000;ooooo`0300000?oooooooooo00gooooo00<00000oooooooo
+ool01?ooool00ol0003oooooooooo`0:ooooo`03o`000?oooooooooo00;ooooo00D00000oooooooo
+ooooooooo`00001Jooooo`00F?ooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo00Go
+oooo00?o0000ooooooooool00_ooool00`00003oooooooooo`0Hooooo`03o`000?oooooooooo00So
+oooo00<00000ooooooooool03_ooool00`00003oooooooooo`03ooooo`03o`000?oooooooooo00[o
+oooo00Go0000oooooooooooooooo00000004ooooo`03o`000?oooooooooo05Sooooo001Iooooo`03
+o`000?oooooooooo00?ooooo00Go0000oooooooooooooooo00000004ooooo`03o`000?oooooooooo
+01Cooooo0P000006ooooo`03o`000?oooooooooo00Sooooo00<00000ooooooooool04Oooool00`00
+003oooooo`00000;ooooo`0400000?ooooooooooo`0000Kooooo00?o0000ooooooooool0FOooool0
+05[ooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`02ooooo`0300000?oooooooooo
+00;ooooo00?o0000ooooooooool04Oooool2000000Sooooo00?o0000ooooooooool07Oooool00ol0
+003oooooooooo`0:ooooo`0400000?ooooooooooo`0000Gooooo00?o0000ooooooooool0F_ooool0
+05[ooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`03ooooo`0300000?oooooooooo
+00;ooooo00?o0000ooooo`0000006_ooool00ol0003oooooooooo`0Looooo`03o`000?ooool00000
+00_ooooo00D00000ooooooooooooooooo`000004ooooo`03o`000?oooooooooo05[ooooo001Koooo
+o`05o`000?ooooooooooooooool000002oooool00ol000000000ooooo`0<ooooo`8000002oooool0
+0ol0003oooooooooo`08ooooo`0300000?oooooooooo017ooooo00?o0000ooooooooool02oooool0
+1@00003oooooooooo`00003o000000?ooooo00?o0000ooooooooool0Foooool005cooooo00Co0000
+oooooooooooo00002?ooool01P00003ooooooooooooooooo0000000000[ooooo0P00000=ooooo`03
+o`000?oooooooooo00Sooooo00<00000ooooooooool04?ooool00ol0003oooooooooo`03ooooo`80
+00002Oooool01000003oooooooooool00002ooooo`03o`000?oooooooooo05_ooooo001Looooo`04
+o`000?ooooooooooo`0000Sooooo00<00000ooooooooool00_ooool00ol0003oooooooooo`0Goooo
+o`03o`000?oooooooooo00Oooooo00<00000ooooooooool04?ooool00ol0003oooooooooo`06oooo
+o`0300000?oooooooooo00Wooooo00?o0000ooooool00000G_ooool005gooooo00?o0000ooooool0
+00002Oooool00`00003oooooooooo`02ooooo`03o`000?oooooooooo00Cooooo00<00000oooooooo
+ool04?ooool00ol0003oooooooooo`06ooooo`0300000?oooooooooo013ooooo00?o0000oooooooo
+ool03?ooool00`00003oooooooooo`03ooooo`;o0000Goooool005gooooo00?o0000ooooool00000
+3_ooool00ol0003oooooooooo`03ooooo`0300000?oooooooooo017ooooo00?o0000ooooooooool0
+6?ooool00ol0003oooooooooo`0:ooooo`80000000?ooooo0000000000000oooool00ol0003ooooo
+ooooo`1Oooooo`00G_ooool2o`0000gooooo00<00000ooooool000000oooool00`00003ooooooooo
+o`0Booooo`03o`000?oooooooooo01Oooooo00?o0000ooooooooool03Oooool4000000;o0000H_oo
+ool005oooooo0_l000000`00003oooooooooo`08ooooo`8000000_ooool00ol0003oooooooooo`0E
+ooooo`03o`000?oooooooooo00Kooooo00<00000ooooooooool03Oooool00ol0003oooooooooo`0>
+ooooo`80000000?oooooo`000?ooool0Hoooool0067ooooo00Co0000oooooooooooooooo10000002
+ooooo`D0000000?oooooo`000?ooool05Oooool00ol0003oooooooooo`06ooooo`0300000?oooooo
+oooo00gooooo00?o0000ooooooooool03?ooool2000000;ooooo00?o0000ooooooooool0Hoooool0
+06;ooooo0_l0000:ooooo`0500000?ooool0000000000?l000005Oooool00ol0003oooooooooo`06
+ooooo`0300000?oooooooooo00cooooo00?o0000ooooooooool01oooool4000000;ooooo00@00000
+ooooool0003o0000I_ooool006Cooooo00?o0000ooooooooool02?ooool01@00003oooooooooo`00
+003o000001Cooooo00?o0000ooooooooool01_ooool00`00003oooooooooo`0;ooooo`03o`000?oo
+oooooooo00Cooooo0P000009ooooo`03o`000?oooooooooo06Kooooo001Uooooo`;o00002Oooool0
+1P00003ooooooooooooooooo0000ooooo`<000004?ooool00ol0003oooooooooo`0Booooo`03o`00
+0?oooooooooo00?ooooo0P000007ooooo`8000000_l0001Yooooo`00Ioooool2o`0000cooooo00?o
+0000ooooooooool01?ooool3000000[ooooo00?o0000ooooooooool04_ooool01?l0003ooooo0000
+00000009ooooo`80000000?oooooo`000?ooool0J_ooool006Wooooo00?o0000ooooooooool01ooo
+ool01000003oooooooooool0000;ooooo`8000001Oooool00ol0003oooooooooo`0Aooooo`03o`00
+00000000000000cooooo0_l0001/ooooo`00J_ooool2o`0000Sooooo00@00000oooooooooooo0000
+3?ooool01P00003oooooooooooooool00000o`0000Oooooo00<00000ooooooooool01?ooool40000
+0003o`000?oooooooooo00Wooooo0P0000000ooooooo0000ooooo`1]ooooo`00K?ooool00ol0003o
+ooooooooo`06ooooo`0400000?ooooooooooo`00013ooooo00?o000000000?ooool01Oooool00`00
+003oooooooooo`02000000Kooooo00?o0000ooooooooool02?ooool01000003oooooo`000?l0001_
+ooooo`00KOooool2o`0000[ooooo00?o0000ooooooooool03Oooool00ol0003oooooooooo`02oooo
+o`H000001oooool00ol0003oooooooooo`08ooooo`0300000?oooooo0000077ooooo001_ooooo`03
+o`000?oooooooooo00Gooooo00@00000oooooooooooo00003_ooool00ol0003oooooooooo`05oooo
+o`0300000?oooooooooo00Kooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`1`oooo
+o`00L?ooool2o`0000Kooooo00@00000oooooooooooo00003Oooool00ol0003oooooooooo`04oooo
+o`0300000?oooooooooo00Kooooo00?o0000ooooooooool01oooool2000000;o0000Loooool007;o
+oooo00?o0000ooooooooool01?ooool01000003oooooooooool0000=ooooo`03o`000?oooooooooo
+00cooooo00?o0000ooooooooool01_ooool00`00003oooooo`00001eooooo`00Loooool2o`0000So
+oooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo00Ko
+oooo00<00000o`000?l00000M_ooool007Gooooo0_l00005ooooo`0300000?l0003ooooo00_ooooo
+00?o0000ooooooooool00_ooool00`00003oooooooooo`05ooooo`03o`000?oooooooooo00Oooooo
+00?o0000ooooooooool0M_ooool007Oooooo00?o0000ooooooooool00oooool00`00003o0000oooo
+o`0:ooooo`03o`000?oooooooooo00;ooooo00<00000ooooooooool01Oooool00ol0003ooooooooo
+o`04ooooo`0300000?l0003o000007Wooooo001hooooo`;o00001?ooool00`00003o0000ooooo`09
+ooooo`03o`000?oooooooooo00;ooooo00<00000ooooooooool01?ooool00ol0003oooooooooo`03
+ooooo`80000000?o0000ooooooooool0NOooool007[ooooo00?o0000ooooooooool00oooool00ol0
+003oooooooooo`07ooooo`03o`000?oooooooooo00;ooooo00<00000ooooooooool00oooool00ol0
+003oooooooooo`05ooooo`03o`000?oooooooooo07[ooooo001kooooo`;o00001?ooool00ol0003o
+ooooooooo`06ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool00_ooool2000000;o
+0000OOooool007gooooo00Ko0000oooooooooooooooo00000?l00008ooooo`03o`000?oooooooooo
+00Kooooo00Oo0000oooooooooooooooo00000?oooooo000007oooooo001nooooo`;o00000oooool0
+0ol0003oooooooooo`05ooooo`04o`000?oooooooooo000000Cooooo00Go0000oooooooooooooooo
+00000002o`00083ooooo0020ooooo`05o`000?ooooooooooooooool000001_ooool01?l0003ooooo
+ooooo`000003ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0P?ooool0087ooooo
+0_l00002ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooo`0000000oooool01?l0003ooooo
+ooooooooool2o`0008?ooooo0023ooooo`04o`000?ooool00000o`0000Cooooo00?o0000ooooo`00
+00000oooool01?l0003oooooooooool00025ooooo`00Q?ooool2o`000003ooooool0003ooooo00;o
+oooo00?o0000ooooooooool00_ooool01?l0003oooooo`000?l00026ooooo`00Q_ooool3o`0000;o
+oooo00Oo0000ooooooooooooooooo`000?oooooo000008Sooooo0028ooooo`;o00000_ooool00ol0
+00000000ooooo`02o`0008Wooooo0029ooooo`;o000000?oooooo`00000000000_l0002:ooooo`00
+Roooool3o`0008cooooo002<ooooo`03o`000?oooooooooo08_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooo
+oa_ooooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.56256 .57912 m
+.68009 .53652 L
+s
+.56256 .57912 m
+.64695 .41988 L
+s
+.53835 .42212 m
+.56256 .57912 L
+s
+.42318 .44701 m
+.56256 .57912 L
+s
+.40674 .56343 m
+.56256 .57912 L
+s
+.41824 .66762 m
+.56256 .57912 L
+s
+.54135 .68857 m
+.56256 .57912 L
+s
+.65684 .64913 m
+.56256 .57912 L
+s
+.42318 .44701 m
+.5 .27523 L
+s
+.42318 .44701 m
+.53835 .42212 L
+s
+.40674 .56343 m
+.42318 .44701 L
+s
+.36084 .38051 m
+.42318 .44701 L
+s
+.26321 .52582 m
+.42318 .44701 L
+s
+.53835 .42212 m
+.64695 .41988 L
+s
+.53835 .42212 m
+.5 .27523 L
+s
+.26321 .52582 m
+.40674 .56343 L
+s
+.41824 .66762 m
+.40674 .56343 L
+s
+.64695 .41988 m
+.76097 .47154 L
+s
+.64695 .41988 m
+.68009 .53652 L
+s
+.64718 .34153 m
+.64695 .41988 L
+s
+.5 .27523 m
+.64695 .41988 L
+s
+.41824 .66762 m
+.26321 .52582 L
+s
+.41824 .66762 m
+.34918 .66239 L
+s
+.54135 .68857 m
+.41824 .66762 L
+s
+.5 .75807 m
+.41824 .66762 L
+s
+.36084 .38051 m
+.5 .27523 L
+s
+.36084 .38051 m
+.33546 .34355 L
+s
+.26321 .52582 m
+.36084 .38051 L
+s
+.68009 .53652 m
+.76097 .47154 L
+s
+.65684 .64913 m
+.68009 .53652 L
+s
+.5 .27523 m
+.64718 .34153 L
+s
+.33546 .34355 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .27523 m
+.59455 .30616 L
+s
+.45357 .28826 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.5 .75807 m
+.54135 .68857 L
+s
+.65684 .64913 m
+.54135 .68857 L
+s
+.0035 w
+[ ] 0 setdash
+.26321 .52582 m
+.33546 .34355 L
+s
+.26321 .52582 m
+.29275 .45797 L
+s
+.34918 .66239 m
+.26321 .52582 L
+s
+.32295 .59653 m
+.26321 .52582 L
+s
+.65684 .64913 m
+.76097 .47154 L
+s
+.65684 .64913 m
+.5 .75807 L
+s
+.65684 .64913 m
+.66028 .63762 L
+s
+.64718 .34153 m
+.76097 .47154 L
+s
+.59455 .30616 m
+.64718 .34153 L
+s
+.32295 .59653 m
+.34918 .66239 L
+s
+.5 .75807 m
+.34918 .66239 L
+s
+.33546 .34355 m
+.41264 .38951 L
+s
+.33546 .34355 m
+.45357 .28826 L
+s
+.29275 .45797 m
+.33546 .34355 L
+s
+.59455 .30616 m
+.76097 .47154 L
+s
+.62074 .41788 m
+.76097 .47154 L
+s
+.60215 .57046 m
+.76097 .47154 L
+s
+.66028 .63762 m
+.76097 .47154 L
+s
+.45357 .28826 m
+.59455 .30616 L
+s
+.45357 .28826 m
+.41264 .38951 L
+s
+.5 .75807 m
+.32295 .59653 L
+s
+.5 .75807 m
+.4491 .60337 L
+s
+.60215 .57046 m
+.5 .75807 L
+s
+.66028 .63762 m
+.5 .75807 L
+s
+.29275 .45797 m
+.41264 .38951 L
+s
+.32295 .59653 m
+.29275 .45797 L
+s
+.66028 .63762 m
+.60215 .57046 L
+s
+.62074 .41788 m
+.59455 .30616 L
+s
+.41264 .38951 m
+.59455 .30616 L
+s
+.32295 .59653 m
+.41264 .38951 L
+s
+.4491 .60337 m
+.32295 .59653 L
+s
+.41264 .38951 m
+.62074 .41788 L
+s
+.60215 .57046 m
+.62074 .41788 L
+s
+.4491 .60337 m
+.41264 .38951 L
+s
+.60215 .57046 m
+.4491 .60337 L
+s
+.60215 .57046 m
+.41264 .38951 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00R_ooool5o`0008_ooooo0025ooooo`Go00000_oo
+ool2o`000004ooooool0003o0000o`0008Sooooo0021ooooo`Co000000Coooooo`000?oooooooooo
+0ol00002ooooo`04o`000?ooooooooooooooo`?o0000QOooool007kooooo1Ol00004ooooo`;o0000
+0_ooool00ol0003oooooo`000005ooooo`03o`000?oooooo000000;o0000P_ooool007cooooo0_l0
+00001?oooooo0000ooooooooool8o`0000?ooooo00Co0000oooooooooooo00000oooool01?l0003o
+ooooooooooooool3o`0007oooooo001jooooo`;o00000_ooool01?l0003oooooo`000?l00002oooo
+o`;o00001?ooool8o`0000Gooooo0ol000001?oooooo0000o`000?l0001looooo`00N?ooool2o`00
+00;ooooo0ol00004ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool01Oooool6o`00
+00?ooooo00Co0000oooooooooooooooo0ol0001iooooo`00M_ooool2o`0000;ooooo0_l00002oooo
+o`05o`000?ooooooooooooooool000001_ooool00ol0003oooooooooo`0;ooooo`Oo00000oooool3
+o`0007Kooooo001dooooo`;o00001oooool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo
+00?ooooo00?o0000ooooooooool03Oooool9o`0007?ooooo001booooo`;o00000_ooool2o`0000Go
+oooo00Co0000oooooooooooo00001oooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo
+00Cooooo00?o0000ooooooooool01oooool00ol0003oooooooooo`03ooooo`Co0000LOooool0073o
+oooo0_l00003ooooo`03o`000?oooooooooo00Cooooo00Co0000oooooooooooo00003oooool00ol0
+003oooooooooo`04ooooo`03o`000?oooooooooo00[ooooo0ol000001?oooooo0000o`000?l0001`
+ooooo`00KOooool5o`0000[ooooo00?o0000ooooool000004?ooool00ol0003oooooooooo`05oooo
+o`03o`000?oooooooooo00Oooooo0ol000001Ooooooo0000ooooool0003ooooo00?o0000K_ooool0
+06_ooooo0_l00002ooooo`03o`000?oooooooooo00Wooooo00?o0000ooooooooool02Oooool00ol0
+003oooooooooo`0Eooooo`;o00001oooool01Ol0003oooooo`000?oooooo000006gooooo001Yoooo
+o`Co00003_ooool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo00oooooo00Co0000oooo
+oooooooooooo0_l00009ooooo`Co000000?oooooo`000?l00000Joooool006Oooooo1?l0000?oooo
+o`;o00002_ooool00ol0003oooooooooo`07ooooo`03o`000?oooooooooo00Oooooo0ol0000;oooo
+o`03o`000?oooooooooo00;o00000_ooool2o`0006Wooooo001Uooooo`;o00004_ooool2o`0001Go
+oooo00?o0000ooooooooool01Oooool4o`0000cooooo00?o0000ooooooooool00_ooool3o`000003
+ooooool0003ooooo06Oooooo001Sooooo`Co00004oooool00ol0003oooooooooo`0Dooooo`03o`00
+0?oooooooooo00;ooooo0_l0000@ooooo`03o`000?oooooooooo00?ooooo00Co0000ooooool0003o
+oooo0_l0001Vooooo`00HOooool4o`00013ooooo0_l00002ooooo`03o`000?oooooooooo00Sooooo
+00?o0000ooooooooool02_ooool00ol0003oooooooooo`02o`0000Sooooo00?o0000ooooooooool0
+2?ooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0
+Hoooool005oooooo0_l0000Cooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool02?oo
+ool00ol0003oooooooooo`0;ooooo`;o00002oooool00ol0003oooooooooo`07ooooo`03o`000?oo
+oooooooo00Cooooo00?o0000ooooooooool00ol0001Tooooo`00G_ooool2o`0001Wooooo00?o0000
+ooooooooool01oooool00ol0003oooooooooo`09ooooo`?o00003_ooool00ol0003oooooooooo`06
+ooooo`03o`000?oooooooooo00Gooooo00Go0000ooooooooooooooooo`00001Tooooo`00G_ooool0
+0ol0003oooooo`00000@ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool02?ooool0
+0ol0003oooooooooo`07ooooo`;o00000_ooool00ol0003oooooooooo`0Eooooo`03o`000?oooooo
+oooo00Kooooo00?o0000ooooooooool00_l0001Sooooo`00GOooool01?l0003oooooooooooooool2
+o`0000gooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`0@ooooo`;o00001?ooool0
+0ol0003oooooooooo`0Fooooo`03o`000?oooooooooo00Kooooo00Go0000ooooool0003oooooo`00
+001Rooooo`00GOooool01?l0003oooooooooool00002ooooo`;o00002_ooool00ol0003ooooooooo
+o`05ooooo`03o`000?oooooooooo00kooooo0ol00007ooooo`03o`000?oooooooooo00gooooo00?o
+0000ooooooooool01Oooool00ol0003oooooooooo`07ooooo`05o`000?ooooooooooooooool00000
+HOooool005gooooo00Co0000oooooooooooo00001?ooool00ol0003oooooooooo`0?ooooo`03o`00
+0?oooooooooo00Sooooo00Co0000oooooooooooooooo0_l0000:ooooo`03o`000?oooooooooo00ko
+oooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`08ooooo`05o`000?oooooooooooooo
+ool00000H?ooool005cooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`02ooooo`;o
+00001?ooool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo00Sooooo00Co0000ooooool0
+003o00007_ooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo00Wooooo00Go0000oooo
+ooooooooooooo`00001Oooooo`00G?ooool00ol0003oooooooooo`09ooooo`;o000000?oooooo`00
+0?ooool02Oooool00ol0003oooooooooo`08ooooo`?o00009oooool00ol0003oooooooooo`07oooo
+o`03o`000?oooooo000000?ooooo00?o0000ooooooooool0G?ooool005_ooooo0_l0000=ooooo`03
+o`000?oooooooooo00Wooooo00?o0000ooooooooool01_ooool3o`00017ooooo00?o0000oooooooo
+ool04?ooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo00Oooooo00Co0000oooooooo
+oooo00000_ooool00ol0003oooooooooo`1Looooo`00Foooool00ol0003oooooooooo`05ooooo`03
+o`000?oooooooooo00Gooooo0_l00008ooooo`03o`000?oooooooooo00Gooooo0_l0000Dooooo`03
+o`000?oooooooooo017ooooo00Go0000ooooooooooooooooo`000009ooooo`05o`000?oooooooooo
+ooooool000000_ooool00ol0003oooooooooo`1Kooooo`00F_ooool2o`0000Sooooo00Co0000oooo
+ool0003o00001Oooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00?ooooo0_l0000G
+ooooo`03o`000?oooooooooo017ooooo00Co0000oooooooooooo00003_ooool01?l0003ooooooooo
+ool0001Looooo`00F_ooool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo00Kooooo0_l0
+0004ooooo`03o`000?oooooooooo00;ooooo0_l00004ooooo`03o`000?oooooooooo01;ooooo00?o
+0000ooooooooool05?ooool00ol0003oooooooooo`0=ooooo`04o`000?ooooooooooo`0005_ooooo
+001Jooooo`03o`000?oooooooooo00Wooooo00?o0000ooooooooool01oooool2o`0000;ooooo00?o
+0000ooooool000000_l00006ooooo`03o`000?oooooooooo02Wooooo0_l0000?ooooo`04o`000?oo
+ooooooooo`0005[ooooo001Iooooo`;o00003?ooool00ol0003oooooooooo`08ooooo`04o`000?oo
+oooo0000o`0000Sooooo00?o0000ooooooooool0:oooool00ol0003oooooooooo`06ooooo`03o`00
+0?oooooooooo00Gooooo00Co0000oooooooooooo0000FOooool005Wooooo00?o0000ooooooooool0
+1oooool00ol0003oooooooooo`0<ooooo`Ko00007?ooool00ol0003oooooooooo`0Eooooo`;o0000
+1oooool00ol0003oooooooooo`06ooooo`04o`000?ooooooooooo`0005Sooooo001Hooooo`;o0000
+2Oooool00ol0003oooooooooo`0:ooooo`;o000000Coooooo`000?oooooo00000_ooool7o`0001Go
+oooo00?o0000ooooooooool05Oooool00ol0003oooooooooo`06ooooo`03o`000?oooooooooo00Oo
+oooo00Co0000oooooooooooo0000Eoooool005Sooooo0_l00008ooooo`03o`000?oooooooooo00Co
+oooo00?o0000ooooooooool00oooool00ol0003oooooooooo`02o`0000;ooooo00?o0000oooooooo
+ool01?ooool00ol0003oooooo`000006o`0000oooooo00?o0000ooooooooool05Oooool00ol0003o
+ooooooooo`05ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooool00000Eoooool005Sooooo
+00?o0000ooooooooool03oooool00ol0003oooooooooo`02o`0000?ooooo0_l00003ooooo`03o`00
+0?oooooooooo00?ooooo00?o0000ooooooooool01_ooool8o`0000Oooooo00?o0000ooooooooool0
+5Oooool00ol0003oooooo`00000Aooooo`03o`000?oooooo000005Kooooo001Gooooo`;o00004_oo
+ool2o`0000Cooooo00Co0000oooooooooooo00000oooool01Ol0003ooooooooooooooooo0000017o
+oooo1ol0000Hooooo`04o`000?ooooooooooo`00017ooooo00?o0000ooooool00000EOooool005Oo
+oooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`06ooooo`;o00001_ooool01?l0003o
+ooooooooool00004ooooo`03o`000?oooooo000001Wooooo2?l0000@ooooo`05o`000?oooooooooo
+ooooool000000oooool00ol0003oooooooooo`0;ooooo`03o`000?oooooo000005Cooooo001Foooo
+o`;o00002?ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00;ooooo00Go0000oooo
+ooooooooooooo`000002ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool06Oooool0
+0ol0003oooooooooo`04ooooo`Oo00002Oooool00ol0003oooooooooo`05ooooo`03o`000?oooooo
+oooo00cooooo00?o0000ooooool00000Doooool005Kooooo0_l00007ooooo`03o`000?oooooooooo
+00Cooooo0_l00005ooooo`04o`000?ooooooooooo`0000?ooooo00?o0000ooooooooool01?ooool0
+0ol0003oooooooooo`0Hooooo`03o`000?oooooooooo00_ooooo1ol00003ooooo`03o`000?oooooo
+oooo00?ooooo0_l0000?ooooo`03o`000?oooooo000005;ooooo001Fooooo`03o`000?oooooooooo
+00Gooooo00?o0000ooooooooool00oooool2o`0000Sooooo00?o0000ooooool000000oooool00ol0
+003oooooooooo`03ooooo`03o`000?oooooo000001[ooooo00?o0000ooooooooool04Oooool5o`00
+00Gooooo0_l0000?ooooo`03o`000?oooooo0000057ooooo001Eooooo`;o00002oooool2o`0000_o
+oooo00?o0000ooooooooool00oooool00ol0003oooooooooo`02ooooo`04o`000?ooooooooooo`00
+01Sooooo1Ol00002ooooo`Co00000_ooool4o`0000;ooooo1?l000000ooooooo0000o`000003o`00
+00;ooooo00?o0000ooooool000003oooool2o`00057ooooo001Eooooo`;o00001Oooool00ol0003o
+ooooooooo`02ooooo`03o`000?oooooooooo00_ooooo00?o0000ooooooooool00oooool01Ol0003o
+oooooooooooooooo000000Cooooo00?o0000ooooooooool03oooool2o`0000?ooooo00?o0000oooo
+ool000005_ooool00ol0003oooooooooo`02ooooo`Co000000?oooooo`000?ooool03_ooool2o`00
+053ooooo001Dooooo`;o00001_ooool00ol0003oooooooooo`02o`0000gooooo00Go0000oooooooo
+ooooooooo`000002ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool03Oooool00ol0
+003oooooooooo`05ooooo`03o`000?oooooooooo01Cooooo00?o0000ooooooooool01Oooool2o`00
+00?ooooo0_l0000<ooooo`;o0000Coooool005Cooooo0_l00005ooooo`04o`000?oooooo0000o`00
+00oooooo00Go0000ooooooooooooooooo`000002ooooo`03o`000?oooooooooo00Sooooo00?o0000
+ooooooooool01_ooool3o`0000_ooooo00?o0000ooooooooool05?ooool00ol0003oooooooooo`07
+ooooo`?o00000_ooool00ol0003oooooooooo`0:ooooo`;o0000C_ooool005?ooooo0_l00006oooo
+o`;o00004Oooool00ol0003oooooooooo`02ooooo`03o`000?oooooo000000_ooooo00?o0000oooo
+ooooool00_l0000Wooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool01Oooool2o`00
+00kooooo0_l0001=ooooo`00Doooool2o`0000Gooooo0_l0000Aooooo`03o`000?oooooooooo00Go
+oooo00Co0000oooooooooooo00001Oooool2o`0000;ooooo0_l0000Yooooo`03o`000?oooooooooo
+00?ooooo00Go0000ooooooooooooooooo`000005ooooo`?o000000?oooooo`000?l000002Oooool2
+o`0004cooooo001Cooooo`;o00000oooool2o`0001?ooooo00?o0000ooooooooool01_ooool2o`00
+00Cooooo0_l00005ooooo`03o`000?oooooooooo01;ooooo00?o0000ooooooooool04_ooool00ol0
+003oooooooooo`02ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool01_ooool4o`00
+00Wooooo0_l0001;ooooo`00D_ooool2o`0000;ooooo0_l000000ooooooo0000ooooo`0Aooooo`03
+o`000?oooooooooo00Oooooo1?l0000:ooooo`03o`000?oooooooooo017ooooo00?o0000oooooooo
+ool04_ooool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo00Sooooo0_l000001?oooooo
+0000o`000?l00005ooooo`;o0000B_ooool005;ooooo0_l000001Ooooooo0000oooooooooooo0000
+01?ooooo00?o0000ooooooooool01oooool2o`0000gooooo0_l0000Aooooo`03o`000?oooooooooo
+01;ooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`0:ooooo`?o000000?oooooo`00
+0?ooool01?ooool00ol0003oooooooooo`18ooooo`00DOooool01?l0003oooooo`000?l00002oooo
+o`03o`000?oooooooooo017ooooo00?o0000ooooooooool01?ooool2o`0000;ooooo00?o0000oooo
+ool000003_ooool00ol0003oooooooooo`0>ooooo`03o`000?oooooooooo01;ooooo00Co0000oooo
+oooooooo00005oooool2o`0000Kooooo00?o0000ooooooooool0Aoooool0057ooooo0_l0000Hoooo
+o`03o`000?oooooooooo00;ooooo0_l00004ooooo`03o`000?oooooooooo00oooooo00?o0000oooo
+ooooool08_ooool01?l0003oooooooooool0000Iooooo`Co00000oooool00ol0003oooooooooo`16
+ooooo`00DOooool2o`0001Sooooo00?o0000ooooooooool02Oooool01Ol0003ooooooooooooooooo
+000000gooooo00?o0000ooooooooool08Oooool00ol0003oooooo`000009ooooo`03o`000?oooooo
+oooo017ooooo0ol00002ooooo`03o`000?oooooooooo04Gooooo001@ooooo`?o00000_ooool00ol0
+003oooooooooo`0Booooo`04o`000?oooooo0000o`0000Wooooo00?o0000ooooooooool00_ooool0
+0ol0003oooooooooo`0;ooooo`03o`000?oooooooooo00cooooo00?o0000ooooooooool04Oooool0
+0ol0003oooooooooo`09ooooo`03o`000?oooooooooo01Cooooo1?l00016ooooo`00D?ooool2o`00
+0004ooooool0003oooooo`0001Cooooo0_l0000:ooooo`;o00001Oooool00ol0003oooooooooo`0;
+ooooo`03o`000?oooooooooo00_ooooo00?o0000ooooooooool04?ooool00ol0003oooooooooo`0:
+ooooo`03o`000?oooooooooo01Kooooo0ol00015ooooo`00Coooool2o`0000;ooooo0_l0000Boooo
+o`?o00003?ooool2o`0001Cooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`0@oooo
+o`;o00002oooool00ol0003oooooooooo`0Hooooo`;o0000A?ooool004oooooo0_l00002ooooo`03
+o`000?oooooooooo013ooooo00Co0000oooooooooooo00002oooool00ol0003oooooo`00000Eoooo
+o`03o`000?oooooooooo00Wooooo00?o0000ooooooooool04?ooool2o`0002Gooooo0ol00014oooo
+o`00Coooool01Ol0003ooooooooooooooooo0000017ooooo00Co0000oooooooooooo00003_ooool0
+0ol0003oooooooooo`05ooooo`03o`000?oooooooooo00cooooo00?o0000ooooooooool06oooool0
+0ol0003oooooooooo`0Rooooo`Co0000AOooool004kooooo0_l00002ooooo`;o00003Oooool2o`00
+00Gooooo00?o0000ooooooooool03Oooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo
+00cooooo00?o0000ooooooooool06_ooool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo
+01;ooooo0_l000001?oooooo0000ooooool00015ooooo`00C_ooool01?l0003oooooooooool00002
+ooooo`03o`000?oooooooooo00Wooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`0=
+ooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool03?ooool00ol0003oooooooooo`07
+ooooo`03o`000?oooooooooo00oooooo00?o0000ooooooooool02oooool00ol0003oooooooooo`0A
+ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0A?ooool004gooooo0_l000000ooo
+oooo0000ooooo`02ooooo`03o`000?oooooooooo013ooooo00?o0000ooooooooool02oooool01?l0
+003oooooooooool0000Hooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool03oooool0
+0ol0003oooooooooo`0<ooooo`03o`000?oooooooooo00kooooo0_l000001Ooooooo0000oooooooo
+oooo000004Oooooo001=ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool01Oooool2
+o`0000Wooooo00?o0000ooooooooool02oooool01?l0003oooooooooool0000;ooooo`03o`000?oo
+oooooooo00_ooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`0=ooooo`03o`000?oo
+oooo000000kooooo00?o0000ooooooooool03Oooool01?l0003oooooooooool00003ooooo`03o`00
+0?oooooooooo04Gooooo001<ooooo`;o00001_ooool00ol0003oooooooooo`03ooooo`;o00002_oo
+ool00ol0003oooooooooo`0;ooooo`05o`000?ooooooooooooooool000003?ooool00ol0003ooooo
+ooooo`0;ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool03Oooool2o`0001gooooo
+0_l00002ooooo`05o`000?ooooooooooooooool00000B?ooool004cooooo0ol00005ooooo`03o`00
+0?oooooooooo00oooooo00?o0000ooooooooool02oooool00ol0003oooooooooo`02ooooo`03o`00
+0?oooooooooo00[ooooo00?o0000ooooooooool02oooool00ol0003oooooooooo`0Booooo`03o`00
+0?oooooo000001cooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`16ooooo`00C?oo
+ool00ol0003oooooo`000006ooooo`?o00003Oooool00ol0003oooooooooo`0Aooooo`03o`000?oo
+oooooooo01Wooooo00?o0000ooooooooool04oooool00ol0003oooooooooo`0>ooooo`03o`000?oo
+oooooooo00Oooooo0_l00002ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool0Aooo
+ool004_ooooo0ol00007ooooo`03o`000?oooooooooo00gooooo00?o0000ooooooooool04Oooool0
+0ol0003oooooooooo`0<ooooo`03o`000?oooooooooo00_ooooo00?o0000ooooooooool04_ooool0
+0ol0003oooooooooo`0>ooooo`03o`000?oooooooooo00Gooooo0_l00003ooooo`03o`000?oooooo
+oooo00?ooooo00?o0000ooooooooool0B?ooool004_ooooo00?o0000ooooooooool00oooool2o`00
+00;ooooo00?o0000ooooooooool03Oooool00ol0003oooooooooo`0<ooooo`03o`000?oooooooooo
+00;ooooo00?o0000ooooooooool03Oooool00ol0003oooooooooo`0;ooooo`;o00000_ooool00ol0
+003oooooooooo`0:ooooo`04o`000?ooooooooooo`00017ooooo00?o0000ooooooooool00oooool0
+0ol0003oooooooooo`02ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool0B?ooool0
+04[ooooo0_l00004ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool03?ooool00ol0
+003oooooooooo`0=ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool03_ooool00ol0
+003oooooooooo`0<ooooo`03o`000?oooooo000000cooooo00Co0000oooooooooooo00004Oooool0
+1?l0003oooooooooooooool2o`0000_ooooo00?o0000ooooooooool0BOooool004[ooooo0_l00003
+ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool03?ooool00ol0003oooooooooo`0<
+ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool07Oooool2o`0000_ooooo00Go0000
+ooooooooooooooooo`00000Dooooo`03o`000?oooooooooo00;ooooo0_l00007ooooo`03o`000?oo
+oooooooo04Wooooo001:ooooo`?o00002Oooool00ol0003oooooooooo`0:ooooo`03o`000?oooooo
+oooo00gooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`0@ooooo`03o`000?oooooo
+oooo00_ooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`02ooooo`03o`000?oooooo
+oooo013ooooo0_l00003ooooo`;o00002?ooool00ol0003oooooooooo`1:ooooo`00BOooool3o`00
+00[ooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`0Dooooo`03o`000?oooooooooo
+017ooooo00?o0000ooooooooool02oooool00ol0003oooooooooo`0<ooooo`03o`000?oooooooooo
+00oooooo0_l0000=ooooo`;o0000C?ooool004Wooooo0_l000000ooooooo0000ooooo`08ooooo`03
+o`000?oooooooooo00Wooooo00?o0000ooooooooool05Oooool00ol0003oooooooooo`0Booooo`03
+o`000?oooooooooo00_ooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`0>ooooo`;o
+000000?oooooo`000?ooool03?ooool00ol0003oooooooooo`1;ooooo`00B_ooool2o`0000?ooooo
+0ol00004ooooo`03o`000?oooooooooo00Wooooo00?o0000ooooooooool03_ooool00ol0003ooooo
+ooooo`04ooooo`03o`000?oooooooooo01kooooo00Co0000oooooooooooo00001_ooool00ol0003o
+ooooooooo`02ooooo`03o`000?oooooooooo00cooooo0_l00003ooooo`04o`000?oooooo0000o`00
+00Wooooo00?o0000ooooooooool0C?ooool004_ooooo0_l00005ooooo`03o`000?oooooooooo00?o
+00002_ooool00ol0003oooooooooo`0>ooooo`03o`000?oooooooooo00Cooooo00?o0000oooooooo
+ool07_ooool01Ol0003ooooooooooooooooo000000Cooooo00?o0000ooooooooool00oooool00ol0
+003oooooooooo`0;ooooo`03o`000?oooooooooo00?ooooo0_l0000;ooooo`03o`000?oooooooooo
+04cooooo001;ooooo`;o00002_ooool2o`0000Sooooo00?o0000ooooooooool03oooool00ol0003o
+ooooooooo`05ooooo`03o`000?oooooooooo01?ooooo00?o0000ooooooooool02?ooool01Ol0003o
+oooooooooooooooo000000;ooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`09oooo
+o`;o00001?ooool2o`000003ooooool0003ooooo00Wooooo00?o0000ooooooooool0COooool004co
+oooo0ol00008ooooo`04o`000?ooooooooooooooo`?o00000oooool00ol0003oooooooooo`0?oooo
+o`03o`000?oooooooooo00Gooooo00?o0000ooooooooool05?ooool00ol0003oooooooooo`0<oooo
+o`03o`000?oooooooooo00Kooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`03oooo
+o`04o`000?ooooooooooo`0000[ooooo0_l0001?ooooo`00COooool3o`0000Oooooo00?o0000oooo
+ooooool01?ooool00ol0003oooooo`00000Jooooo`03o`000?oooooooooo01Gooooo00?o0000oooo
+ooooool03?ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00Kooooo0_l000000ooo
+oooo0000o`00000Aooooo`03o`000?oooooooooo04kooooo001=ooooo`04o`000?oooooo0000o`00
+00Kooooo00?o0000ooooooooool01_ooool5o`0001Kooooo00?o0000ooooooooool09?ooool2o`00
+00Kooooo00?o0000ooooooooool01Oooool01?l0003oooooooooool0000Booooo`;o0000D?ooool0
+04kooooo0_l00007ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool01Oooool3o`00
+00Sooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`0Hooooo`03o`000?oooooooooo
+00?ooooo00?o0000ooooooooool00oooool00ol0003oooooo`000005ooooo`03o`000?oooooooooo
+00?ooooo0ol0000;ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool0Coooool004ko
+oooo00?o0000ooooool000000_ooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo00Co
+oooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00Oo
+oooo00?o0000ooooooooool06?ooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo00;o
+oooo00Go0000ooooooooooooooooo`000004ooooo`04o`000?ooooooooooooooo`?o00003Oooool0
+0ol0003oooooooooo`06ooooo`03o`000?oooooooooo053ooooo001?ooooo`03o`000?oooooo0000
+00;ooooo00Go0000ooooooooooooooooo`000006ooooo`03o`000?oooooooooo00_ooooo1?l00000
+0ooooooo0000ooooo`08ooooo`03o`000?oooooooooo01Wooooo00?o0000ooooooooool00_ooool0
+1?l0003oooooooooool00005ooooo`05o`000?ooooooooooo`000?ooool00ol0000?ooooo`03o`00
+0?oooooooooo00Kooooo0_l0001Booooo`00D?ooool00ol0003oooooo`000002ooooo`04o`000?oo
+ooooooooo`0000Gooooo00?o0000ooooooooool04Oooool4o`0000;ooooo0ol000000ooooooo0000
+ooooo`0Oooooo`03o`000?oooooooooo00Oooooo00?o0000ooooool000000ol0000@ooooo`03o`00
+0?oooooooooo00Kooooo00?o0000ooooooooool0DOooool0053ooooo00Co0000oooooooooooo0000
+1?ooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo01[ooooo0_l000000ooooooo0000
+o`000002o`0001Sooooo00?o0000ooooooooool02?ooool2o`000004ooooool0003o0000o`0001[o
+oooo0_l0001Cooooo`00DOooool01?l0003oooooooooool00003ooooo`03o`000?oooooooooo00;o
+oooo00?o0000ooooooooool04_ooool00ol0003oooooooooo`07ooooo`03o`000?oooooooooo00Go
+oooo1?l00002ooooo`?o00003_ooool01Ol0003ooooooooooooooooo000000?ooooo0_l00002oooo
+o`?o00006oooool00ol0003oooooooooo`1Booooo`00D_ooool00ol0003oooooo`000004ooooo`05
+o`000?ooooooooooooooool000005?ooool00ol0003oooooooooo`07ooooo`03o`000?oooooooooo
+00kooooo00Co0000oooooooooooooooo0ol00008ooooo`;o000000Coooooo`000?l0003ooooo1Ol0
+0002ooooo`03o`000?oooooooooo013ooooo00?o0000ooooooooool01Oooool00ol0003ooooooooo
+o`1Cooooo`00D_ooool01?l0003oooooooooool00003ooooo`;o000000?oooooo`000?ooool05?oo
+ool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo01Oooooo0ol00003ooooo`Go00001_oo
+ool00ol0003oooooo`00000Aooooo`03o`000?oooooooooo00Cooooo0_l0001Eooooo`00Doooool0
+1?l0003oooooooooool00002ooooo`04o`000?ooooooooooo`0001Gooooo00?o0000ooooooooool0
+2?ooool00ol0003oooooooooo`0Hooooo`Oo00002Oooool01?l0003oooooooooool0000@ooooo`03
+o`000?oooooooooo00Cooooo00?o0000ooooooooool0E?ooool005Cooooo00Ko0000oooooooooooo
+0000ooooool00002ooooo`03o`000?oooooooooo01kooooo00?o0000ooooooooool04oooool5o`00
+00?ooooo00Go0000ooooooooooooooooo`000007ooooo`03o`000?oooooooooo00;ooooo00?o0000
+ooooooooool03Oooool00ol0003oooooooooo`03ooooo`;o0000E_ooool005Cooooo00Co0000oooo
+oooooooooooo0_l000001?oooooo0000ooooool0000Oooooo`03o`000?oooooooooo00oooooo1?l0
+0007ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool00oooool00ol0003ooooooooo
+o`0Booooo`03o`000?oooooooooo05Gooooo001Eooooo`04o`000?ooooooooooooooo`?o00000_oo
+ool00ol0003oooooooooo`0Booooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool02_oo
+ool5o`0000Sooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`02ooooo`;o00000_oo
+ool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo013ooooo0_l0001Gooooo`00E_ooool0
+1?l0003oooooooooooooool:o`0000oooooo00?o0000ooooooooool02?ooool00ol0003ooooooooo
+o`04ooooo`Go00003?ooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo00Cooooo0_l0
+0008ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool00_ooool2o`0005Sooooo001F
+ooooo`07o`000?ooooooooooooooool0003oooooo`000007oooooa;o00002?ooool00ol0003ooooo
+o`000004o`00013ooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`06ooooo`03o`00
+0?oooooooooo00Oooooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`02ooooo`03o`00
+0?oooooooooo05Oooooo001Gooooo`07o`000?ooooooooooooooool0003oooooo`000003ooooo`;o
+00004?ooool00ol0003oooooooooo`0:o`00017ooooo0_l00009ooooo`03o`000?oooooooooo00Go
+oooo00Co0000oooooooooooo00002?ooool00ol0003oooooooooo`08ooooo`04o`000?oooooooooo
+ooooo`;o0000FOooool005Oooooo00Go0000ooooooooooooooooo`000002ooooo`03o`000?oooooo
+oooo00;ooooo00?o0000ooooooooool06?ooool00ol0003oooooooooo`0?ooooo`03o`000?oooooo
+oooo017ooooo00Go0000ooooooooooooooooo`000008ooooo`03o`000?oooooooooo00Oooooo00Go
+0000ooooooooooooooooo`00001Jooooo`00F?ooool01?l0003oooooooooool00003ooooo`03o`00
+0?oooooooooo01cooooo00?o0000ooooooooool03_ooool00ol0003oooooooooo`0Aooooo`03o`00
+0?oooooooooo00?ooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`09ooooo`;o0000
+F_ooool005Wooooo00Co0000oooooooooooo00000oooool00ol0003oooooooooo`0@ooooo`03o`00
+0?oooooooooo00Wooooo00?o0000ooooooooool06_ooool00ol0003oooooooooo`04ooooo`03o`00
+0?oooooooooo00gooooo00?o0000ooooooooool01oooool2o`0005_ooooo001Iooooo`04o`000?oo
+ooooooooo`0000Cooooo00Go0000ooooooooooooooooo`00000=ooooo`03o`000?oooooooooo00Wo
+oooo00?o0000ooooooooool02Oooool2o`0000oooooo00?o0000ooooooooool00oooool00ol0003o
+ooooooooo`07ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool00oooool00ol0003o
+ooooooooo`02o`0005_ooooo001Jooooo`04o`000?ooooooooooo`0000Cooooo00Go0000oooooooo
+ooooooooo`00000=ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool02?ooool00ol0
+003oooooooooo`0>ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool02?ooool00ol0
+003oooooooooo`04ooooo`03o`000?oooooooooo00?ooooo00Co0000ooooool0003o0000G?ooool0
+05_ooooo00?o0000ooooool000001Oooool01Ol0003ooooooooooooooooo000000cooooo00?o0000
+ooooooooool02Oooool00ol0003oooooooooo`0Hooooo`03o`000?oooooooooo00?ooooo00?o0000
+ooooooooool02_ooool00ol0003oooooooooo`04ooooo`05o`000?ooooooooooooooool000000_oo
+ool00ol0003oooooooooo`1Kooooo`00Foooool01?l0003oooooooooool00005ooooo`03o`000?oo
+oooooooo01Wooooo00?o0000ooooooooool00oooool2o`0001Wooooo00?o0000ooooooooool04_oo
+ool01Ol0003oooooooooool0003ooooo00;o0000GOooool005cooooo00?o0000ooooool000001_oo
+ool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo01?ooooo00?o0000ooooooooool00_oo
+ool00ol0003oooooooooo`0Hooooo`03o`000?oooooooooo00kooooo0_l00004ooooo`03o`000?oo
+oooooooo00;o0000G_ooool005gooooo0_l00007ooooo`;o00000oooool00ol0003oooooooooo`06
+ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool05_ooool00ol0003oooooooooo`02
+ooooo`03o`000?oooooooooo017ooooo00?o0000ooooooooool00_ooool01?l0003oooooo`000?l0
+001Nooooo`00GOooool00ol0003oooooo`000008ooooo`05o`000?ooooooooooooooool000001ooo
+ool00ol0003oooooooooo`0:ooooo`;o00005oooool00ol0003oooooooooo`02ooooo`03o`000?oo
+oooooooo01Kooooo0ol0001Oooooo`00G_ooool2o`0000Wooooo00?o0000ooooooooool02?ooool0
+0ol0003oooooooooo`0:ooooo`03o`000?oooooooooo01Kooooo00Go0000ooooooooooooooooo`00
+000Gooooo`;o000000?oooooo`000?ooool0Goooool005kooooo00?o0000ooooool000002Oooool0
+1Ol0003ooooooooooooooooo000000Gooooo00?o0000ooooooooool02Oooool00ol0003oooooo`00
+000Gooooo`05o`000?ooooooooooooooool000005oooool4o`00063ooooo001Oooooo`;o00002_oo
+ool01Ol0003ooooooooooooooooo000000cooooo0_l00004ooooo`03o`000?oooooooooo01Sooooo
+00?o0000ooooooooool05?ooool2o`000003ooooool0003o0000067ooooo001Pooooo`;o00002_oo
+ool01Ol0003ooooooooooooooooo000000[ooooo00?o0000ooooooooool01?ooool00ol0003ooooo
+ooooo`0Hooooo`03o`000?oooooooooo01?ooooo00Co0000ooooo`00003o0000Hoooool0063ooooo
+0_l0000;ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool00_ooool00ol0003ooooo
+ooooo`06ooooo`03o`000?oooooooooo01?ooooo00Co0000oooooooooooo00005?ooool00`00003o
+0000ooooo`02o`0006Cooooo001Qooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool0
+0_ooool00ol0003oooooo`00000=ooooo`03o`000?oooooooooo01?ooooo00Co0000oooooooooooo
+00004oooool2o`000003ooooool0003ooooo06Gooooo001Rooooo`;o00000_ooool4o`0000;ooooo
+1?l00004ooooo`Co00002oooool00ol0003oooooooooo`0Cooooo`03o`000?oooooo000000oooooo
+0P000002ooooo`04o`000?ooooooooooo`0006Oooooo001Tooooo`03o`000?oooooooooo00Sooooo
+0_l000000ooooooo0000o`000005o`0000_ooooo00?o0000ooooooooool04_ooool2o`0000oooooo
+00H00000ooooooooooooooooo`000?ooool2o`0006Sooooo001Uooooo`;o00002_ooool01Ol0003o
+oooooooooooooooo000000?ooooo00?o0000ooooooooool00ol00005ooooo`03o`000?oooooooooo
+01?ooooo00?o0000ooooooooool02Oooool2000000Cooooo0_l000000ooooooo0000ooooo`1Yoooo
+o`00Ioooool00ol0003oooooooooo`08ooooo`05o`000?ooooooooooooooool000002?ooool01?l0
+003oooooooooooooool2o`0001Cooooo00?o0000ooooooooool02?ooool2000000Gooooo00Co0000
+ooooool0003o0000Joooool006Sooooo0_l00009ooooo`;o00000_ooool00ol0003oooooooooo`0;
+ooooo`04o`000?ooooooooooooooo`;o00003Oooool2o`0000Kooooo0P000008ooooo`03o`000?oo
+oooo000006gooooo001Zooooo`;o00002Oooool00ol0003oooooooooo`0=ooooo`03o`000?oooooo
+oooo00?ooooo00Co0000oooooooooooooooo0_l00007ooooo`03o`000?oooooooooo00?ooooo0P00
+0008ooooo`;o000000?oooooo`000?ooool0KOooool006cooooo00?o0000ooooooooool01oooool0
+1Ol0003ooooooooooooooooo000000[ooooo00?o0000ooooooooool02Oooool00ol0003ooooooooo
+o`04ooooo`04o`000?ooool00000000000_ooooo00Co0000ooooool0003o0000Koooool006gooooo
+0_l00008ooooo`04o`000?ooooooooooo`0000[ooooo00?o0000ooooooooool03Oooool3o`000080
+00003?ooool00ol0003oooooo`00001aooooo`00Koooool00ol0003oooooooooo`06ooooo`04o`00
+0?ooooooooooo`0000[ooooo00?o0000ooooooooool03_ooool00ol0003oooooooooo`0:ooooo`Co
+0000L_ooool0073ooooo0_l00007ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool0
+3Oooool00ol000000000ooooo`0:ooooo`03o`000?oooooo000007Cooooo001booooo`03o`000?oo
+oooooooo00Gooooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`0=ooooo`03o`000?oo
+oooooooo00Wooooo0ol0001eooooo`00Loooool2o`0000Kooooo00Co0000oooooooooooo00002?oo
+ool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo00Wooooo0_l0001gooooo`00MOooool0
+0ol0003oooooooooo`04ooooo`04o`000?ooooooooooo`0000Oooooo00?o0000ooooooooool02_oo
+ool00ol0003oooooooooo`08ooooo`?o0000N?ooool007Kooooo0_l00005ooooo`04o`000?oooooo
+ooooo`0000Kooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`07ooooo`?o0000NOoo
+ool007Sooooo0_l00004ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool02?ooool0
+0ol000000000ooooo`07ooooo`;o0000Noooool007[ooooo00?o0000ooooooooool00_ooool2o`00
+0003ooooool0003ooooo00Cooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`05oooo
+o`?o0000O?ooool007_ooooo0_l00004ooooo`03o`000?oooooo000000Cooooo00?o0000oooooooo
+ool01oooool00ol0003oooooooooo`05ooooo`;o0000O_ooool007gooooo00?o0000ooooooooool0
+0_ooool00ol0003oooooo`000004ooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool0
+1?ooool2o`0007oooooo001nooooo`;o00000oooool00ol0003oooooooooo`03ooooo`03o`000?oo
+oooooooo00Gooooo00?o0000ooooooooool00oooool2o`00087ooooo0020ooooo`05o`000?oooooo
+ooooooooool000001?ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00;ooooo0_l0
+0022ooooo`00POooool2o`0000;ooooo0_l00003ooooo`03o`000?oooooooooo00?ooooo00?o0000
+ooooooooool00_ooool2o`0008?ooooo0023ooooo`03o`000?oooooooooo00;o00000_ooool00ol0
+003oooooooooo`02ooooo`0400000?l0003oooooooooo`;o0000QOooool008Cooooo0_l000001Ooo
+oooo0000o`000?oooooo000000Cooooo00?o0000ooooooooool00_l00026ooooo`00Q_ooool3o`00
+00;ooooo00Co0000oooooooooooo00000_ooool00ol0003oooooooooo`26ooooo`00R?ooool4o`00
+0003ooooo`00003o000000;o0000ROooool008Wooooo0ol000001?oooooo0000o`000?l0002:oooo
+o`00Roooool3o`0008cooooo002<ooooo`03o`000?oooooooooo08_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.59954 .57459 m
+.69877 .5249 L
+s
+.59954 .57459 m
+.66153 .40832 L
+s
+.5608 .41844 m
+.59954 .57459 L
+s
+.44915 .45153 m
+.59954 .57459 L
+s
+.43837 .56787 m
+.59954 .57459 L
+s
+.44591 .6707 m
+.59954 .57459 L
+s
+.56558 .68627 m
+.59954 .57459 L
+s
+.67262 .64122 m
+.59954 .57459 L
+s
+.44915 .45153 m
+.5 .27523 L
+s
+.44915 .45153 m
+.5608 .41844 L
+s
+.43837 .56787 m
+.44915 .45153 L
+s
+.37205 .39097 m
+.44915 .45153 L
+s
+.28463 .53964 m
+.44915 .45153 L
+s
+.28463 .53964 m
+.43837 .56787 L
+s
+.44591 .6707 m
+.43837 .56787 L
+s
+.5608 .41844 m
+.66153 .40832 L
+s
+.5608 .41844 m
+.5 .27523 L
+s
+.37205 .39097 m
+.5 .27523 L
+s
+.37205 .39097 m
+.32583 .35751 L
+s
+.28463 .53964 m
+.37205 .39097 L
+s
+.44591 .6707 m
+.28463 .53964 L
+s
+.44591 .6707 m
+.36151 .669 L
+s
+.56558 .68627 m
+.44591 .6707 L
+s
+.5 .75807 m
+.44591 .6707 L
+s
+.28463 .53964 m
+.32583 .35751 L
+s
+.36151 .669 m
+.28463 .53964 L
+s
+.0035 w
+[ ] 0 setdash
+.28463 .53964 m
+.28173 .47266 L
+s
+.31287 .60622 m
+.28463 .53964 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.66153 .40832 m
+.75109 .45378 L
+s
+.66153 .40832 m
+.69877 .5249 L
+s
+.63975 .32946 m
+.66153 .40832 L
+s
+.5 .27523 m
+.66153 .40832 L
+s
+.5 .27523 m
+.63975 .32946 L
+s
+.32583 .35751 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .27523 m
+.56363 .2992 L
+s
+.42732 .29358 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.5 .75807 m
+.56558 .68627 L
+s
+.67262 .64122 m
+.56558 .68627 L
+s
+.69877 .5249 m
+.75109 .45378 L
+s
+.67262 .64122 m
+.69877 .5249 L
+s
+.0035 w
+[ ] 0 setdash
+.31287 .60622 m
+.36151 .669 L
+s
+.5 .75807 m
+.36151 .669 L
+s
+.67262 .64122 m
+.75109 .45378 L
+s
+.67262 .64122 m
+.5 .75807 L
+s
+.67262 .64122 m
+.65243 .6299 L
+s
+.32583 .35751 m
+.36409 .39816 L
+s
+.32583 .35751 m
+.42732 .29358 L
+s
+.28173 .47266 m
+.32583 .35751 L
+s
+.63975 .32946 m
+.75109 .45378 L
+s
+.56363 .2992 m
+.63975 .32946 L
+s
+.28173 .47266 m
+.36409 .39816 L
+s
+.31287 .60622 m
+.28173 .47266 L
+s
+.42732 .29358 m
+.56363 .2992 L
+s
+.42732 .29358 m
+.36409 .39816 L
+s
+.5 .75807 m
+.31287 .60622 L
+s
+.5 .75807 m
+.42038 .60681 L
+s
+.56879 .56558 m
+.5 .75807 L
+s
+.65243 .6299 m
+.5 .75807 L
+s
+.31287 .60622 m
+.36409 .39816 L
+s
+.42038 .60681 m
+.31287 .60622 L
+s
+.56363 .2992 m
+.75109 .45378 L
+s
+.58146 .41029 m
+.75109 .45378 L
+s
+.56879 .56558 m
+.75109 .45378 L
+s
+.65243 .6299 m
+.75109 .45378 L
+s
+.58146 .41029 m
+.56363 .2992 L
+s
+.36409 .39816 m
+.56363 .2992 L
+s
+.65243 .6299 m
+.56879 .56558 L
+s
+.42038 .60681 m
+.36409 .39816 L
+s
+.56879 .56558 m
+.42038 .60681 L
+s
+.36409 .39816 m
+.58146 .41029 L
+s
+.56879 .56558 m
+.58146 .41029 L
+s
+.56879 .56558 m
+.36409 .39816 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00R_ooool4o`00000300000?oooooooooo08Wooooo
+0026ooooo`Co000000@00000ooooo`00000000000ol00029ooooo`00P_ooool4o`0000;ooooo0P00
+00001Oooool00000ooooooooool0000000;ooooo0_l000000`00003oooooooooo`24ooooo`00O_oo
+ool4o`0000;ooooo0P000002ooooo`0300000?oooooooooo00;ooooo00<00000ooooooooool00ooo
+ool3o`0008Cooooo001jooooo`Co00001Oooool00`00003oooooooooo`07ooooo`0500000?oooooo
+ooooooooo`0000001?ooool3o`00000300000?oooooooooo07kooooo001gooooo`co00001oooool0
+1@00003oooooooooooooool0000000?ooooo00<00000ooooooooool01?ooool2o`0007oooooo001f
+ooooo`03o`000?oooooo000000Gooooo0P000003oooooa?o00001Oooool3o`0007cooooo001doooo
+o`;o000000?oooooo`000?ooool01?ooool00`00003oooooooooo`05ooooo`0300000?oooooooooo
+00;ooooo00<00000ooooooooool02Oooool:o`0007[ooooo001booooo`;o00000_ooool00ol0003o
+ooooooooo`0;ooooo`0300000?oooooooooo00?ooooo00<00000ooooooooool02Oooool00`00003o
+ooooooooo`02ooooo`;o000000?oooooo`000?ooool00ol0001gooooo`00LOooool00ol0003ooooo
+ooooo`02ooooo`04o`000?ooool00000000001Kooooo00<00000ooooooooool01?ooool01000003o
+ooooo`000?l00003ooooo`05o`000?ooooooooooo`000?ooool00ol0001dooooo`00Koooool2o`00
+00Cooooo00?o0000ooooo`0000002Oooool00`00003oooooooooo`0<ooooo`0300000?oooooooooo
+00Cooooo0_l00005ooooo`05o`000?ooooooooooooooool000000oooool2o`0007;ooooo001^oooo
+o`03o`000?oooooooooo00;ooooo0P0000000ol0003oooooooooo`08ooooo`0300000?oooooooooo
+00Kooooo00<00000ooooooooool01Oooool01000003oooooooooooooool2o`0000Sooooo00Co0000
+oooooooooooooooo0_l00003ooooo`?o0000Koooool006cooooo0_l00003ooooo`80000000?ooooo
+o`000?ooool02Oooool00`00003oooooooooo`07ooooo`0300000?oooooooooo00Gooooo00@00000
+ooooool0003o00001Oooool2000000?ooooo00?o0000ooooooooool00oooool00ol0003ooooooooo
+o`03ooooo`;o0000KOooool006[ooooo0_l00007ooooo`03o`000?oooooooooo01;ooooo00<00000
+ooooooooool01_ooool2o`0000Wooooo00@00000oooooooooooo00001_ooool00ol0003ooooooooo
+o`04ooooo`?o000000<00000ooooooooool0Ioooool006Wooooo00Co0000oooooooooooooooo0P00
+0004ooooo`03o`000?oooooooooo00Kooooo00<00000ooooooooool02Oooool00`00003ooooooooo
+o`03ooooo`?o00003_ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00Kooooo0ol0
+001Wooooo`00Ioooool2o`0000?ooooo00<00000ooooooooool00oooool00ol0003oooooooooo`06
+ooooo`0300000?oooooooooo00kooooo0_l00004ooooo`0300000?oooooooooo00[ooooo00?o0000
+ooooooooool01_ooool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo06Cooooo001Uoooo
+o`;o00002_ooool00ol0003oooooooooo`06ooooo`0300000?oooooooooo00gooooo0_l00006oooo
+o`0300000?oooooooooo00[ooooo00?o000000000?ooool01oooool2o`0000Sooooo00?o0000oooo
+ooooool0I?ooool006Cooooo00Co0000oooooooooooooooo0P000007ooooo`03o`000?oooooooooo
+01?ooooo00<00000o`000?l000002Oooool00`00003oooooooooo`0:ooooo`03o`000000003ooooo
+00Sooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`1Sooooo`00H_ooool2o`0000;o
+oooo0P000008ooooo`03o`000?oooooooooo00Gooooo00<00000ooooooooool02oooool2o`0001So
+oooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`05ooooo`0300000?l0003ooooo06?o
+oooo001Qooooo`03o`0000000000000000cooooo00?o0000ooooooooool01?ooool00`00003ooooo
+ooooo`0:ooooo`;o000000<00000ooooooooool05oooool00ol0003oooooooooo`0:ooooo`03o`00
+0?oooooooooo00Kooooo00?o0000ooooooooool0HOooool005oooooo0_l000000`00003ooooooooo
+o`0;ooooo`03o`000?oooooooooo00Cooooo00<00000ooooooooool02Oooool2o`0000;ooooo00<0
+0000ooooooooool03?ooool00`00003oooooooooo`08ooooo`04o`000?ooooooooooooooo`800000
+2?ooool2o`0000Oooooo00?o0000ooooooooool0H?ooool005gooooo0_l0000?ooooo`03o`000?oo
+oooooooo00oooooo0_l0000Cooooo`0300000?oooooooooo00Sooooo00?o0000ooooooooool00ooo
+ool00`00003oooooooooo`07ooooo`03o`000?oooooooooo00;ooooo00@00000oooooooooooo0000
+HOooool005cooooo00?o00000000000000003oooool00ol0003oooooooooo`02ooooo`0300000?oo
+oooooooo00Sooooo0_l0000Fooooo`0300000?oooooooooo00Oooooo00?o0000ooooooooool03_oo
+ool01Ol0003oooooooooooooool0000000?ooooo00?o0000ooooooooool0G_ooool005_ooooo00?o
+000000000?ooool03oooool00ol0003oooooooooo`02ooooo`0300000?oooooooooo00Oooooo0_l0
+0007ooooo`0300000?oooooooooo00kooooo00<00000ooooooooool02?ooool00ol0003ooooooooo
+o`05ooooo`0300000?oooooooooo00Kooooo00Go0000oooooooooooooooo00000003ooooo`03o`00
+0?oooooooooo05gooooo001Kooooo`;o000000<00000ooooooooool03Oooool01Ol0003ooooooooo
+ooooool0000000Sooooo0_l00009ooooo`0300000?oooooooooo01Wooooo00?o0000ooooooooool0
+1_ooool00`00003oooooooooo`06ooooo`;o000000?ooooo00000?ooool00oooool00ol0003ooooo
+ooooo`1Looooo`00F_ooool01Ol0003oooooooooool00000000000gooooo00?o0000ooooooooool0
+2Oooool2o`0000_ooooo00<00000ooooooooool06Oooool00ol0003oooooooooo`07ooooo`030000
+0?oooooooooo00Oooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`1Kooooo`00F_oo
+ool01Ol0003ooooooooooooooooo000000cooooo00Go0000oooooooooooooooo00000006ooooo`;o
+00003Oooool00`00003oooooooooo`0?ooooo`0300000?oooooooooo00Oooooo00?o0000oooooooo
+ool04_ooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo05[ooooo001Jooooo`03o`00
+0?oooooooooo00;ooooo00?o0000ooooo`0000002Oooool01?l0003oooooooooo`000004ooooo`?o
+00008Oooool00`00003oooooooooo`07ooooo`03o`000?oooooooooo00Wooooo0P000008ooooo`03
+o`000?oooooooooo00Cooooo00?o0000ooooooooool0FOooool005Wooooo00?o0000ooooooooool0
+1?ooool00ol0003ooooo00000007ooooo`04o`000?oooooooooo000000?ooooo0_l0000Uooooo`03
+00000?oooooooooo00Kooooo00?o0000ooooooooool02oooool00`00003oooooooooo`05ooooo`03
+00000?l0003o000000Cooooo00?o0000ooooooooool0FOooool005Wooooo00?o000000000?ooool0
+1Oooool00ol0003ooooo00000005ooooo`03o`000?oooooooooo00?ooooo0_l0000Cooooo`030000
+0?oooooooooo017ooooo00<00000ooooooooool01_ooool00ol0003oooooooooo`0<ooooo`030000
+0?oooooooooo00Cooooo00@00000oooooooooooo00001?ooool00ol0003oooooooooo`1Hooooo`00
+FOooool00ol000000000ooooo`06ooooo`03o`000?oooooooooo00Cooooo00Co000000000?oooooo
+oooo0_l0000Eooooo`0300000?oooooooooo01_ooooo00?o0000ooooooooool04_ooool01@00003o
+oooooooooooooooo000000Cooooo00?o0000ooooooooool0Eoooool005Sooooo00?o000000000?oo
+ool02?ooool00ol0003oooooooooo`0200000003o`000000003ooooo00;o00005_ooool00`00003o
+ooooooooo`0Looooo`03o`000?oooooooooo00gooooo00<00000ooooooooool01oooool00ol0003o
+ooooooooo`02ooooo`03o`000?oooooooooo05Kooooo001Hooooo`03o`000000003ooooo00Wooooo
+00Co0000oooooooooooooooo0ol0000Hooooo`0300000?oooooooooo01Cooooo00<00000oooooooo
+ool01Oooool00ol0003oooooooooo`0>ooooo`0300000?oooooooooo00Oooooo00?o0000oooooooo
+ool00_ooool00ol0003oooooooooo`1Eooooo`00Eoooool00ol0003oooooooooo`0;ooooo`05o`00
+0?oooooo0000o`0000000000<?ooool00`00003oooooooooo`05ooooo`03o`000?oooooooooo00oo
+oooo00D00000oooooooooooooooo00000005ooooo`;o00000oooool00ol0003oooooooooo`1Doooo
+o`00Eoooool00ol0003oooooooooo`0;ooooo`[o0000;?ooool00`00003oooooooooo`04ooooo`03
+o`000?oooooooooo01?ooooo00<00000ooooooooool01Oooool01Ol0003ooooooooooooooooo0000
+05Gooooo001Gooooo`03o`000000003ooooo00[ooooo00Go0000ooooool000000000o`000006oooo
+o`oo00001?ooool00`00003oooooooooo`0Mooooo`03o`000?oooooooooo01;ooooo00<00000oooo
+o`0000001oooool01Ol0003ooooooooooooooooo000005Cooooo001Fooooo`03o`000?ooool00000
+00[ooooo00Co0000oooooooooooo00000_ooool01Ol0003oooooooooooooool00000013ooooo3ol0
+000Fooooo`03o`000?oooooooooo01;ooooo0P000008ooooo`05o`000?ooooooooooooooool00000
+Doooool005Kooooo00?o0000ooooo`0000002Oooool01_l0003oooooooooool0003oooooo`0000;o
+oooo00Go0000oooooooooooooooo0000000Booooo`0300000?oooooooooo00Wooooo3ol00007oooo
+o`03o`000?oooooooooo017ooooo10000008ooooo`;o00000_ooool00ol0003oooooooooo`1@oooo
+o`00E_ooool00ol0003ooooo00000008ooooo`07o`000?ooooooooooooooool0003oooooo`000003
+ooooo`05o`000?ooooooooooooooo`0000004Oooool00`00003oooooooooo`0Hooooo`[o00002_oo
+ool3000000?ooooo00H00000ooooooooool00000ooooo`000009ooooo`04o`000?ooooooooooo`00
+057ooooo001Eooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool00_ooool00ol0003o
+ooooo`000004ooooo`;o0000;_ooool00`00003oooooooooo`04ooooo`03o`0000000000000000Co
+00000`00000=ooooo`0300000?ooool0000000Wooooo00?o0000ooooool00000DOooool005Gooooo
+00?o0000ooooooooool01oooool00ol0003oooooooooo`02ooooo`0400000?l0003oooooo`0000Ko
+oooo00Go0000oooooooooooooooo0000000Yooooo`D000000_ooool00ol0003oooooooooo`04oooo
+o`Co00003?ooool00`00003oooooooooo`02ooooo`8000001_ooool00ol0003oooooo`00001@oooo
+o`00E?ooool01?l0003oooooooooo`000006ooooo`03o`000?oooooooooo00;ooooo00<00000o`00
+0?ooool00_ooool00ol0003oooooooooo`04ooooo`05o`000?ooooooooooooooo`0000003?ooool0
+0`00003oooooooooo`0Hooooo`0300000?ooool0000000Gooooo00?o0000ooooooooool02?ooool4
+o`0000Kooooo00<00000ooooooooool01_ooool00`00003oooooooooo`04ooooo`?o0000Coooool0
+05Cooooo00Co0000ooooooooool000001Oooool00ol0003oooooooooo`02ooooo`0300000?oooooo
+000000?ooooo00?o0000ooooooooool01Oooool01Ol0003oooooooooooooool0000000_ooooo00<0
+0000ooooooooool04_ooool4000000Gooooo00<00000ooooooooool00_ooool00ol0003ooooooooo
+o`0<ooooo`Co00000_ooool00`00003oooooooooo`0?ooooo`;o0000C_ooool005Cooooo00?o0000
+ooooo`0000001Oooool00ol0003oooooooooo`05ooooo`05o`000?ooooooooooooooool000002?oo
+ool2o`0000cooooo00<00000ooooooooool03oooool2000000_ooooo00<00000ooooooooool00_oo
+ool00ol0003oooooooooo`0@ooooo`Co000000?ooooo00000?ooool01oooool3000000Cooooo0_l0
+001=ooooo`00Doooool01?l0003oooooooooo`000003ooooo`;o00002?ooool00ol0003ooooooooo
+o`02ooooo`03o`000?oooooooooo00Oooooo00Go0000oooooooooooooooo0000000Gooooo`800000
+4Oooool00ol0003oooooooooo`0Eooooo`Co00002Oooool00`00003oooooooooo`02ooooo`;o0000
+C?ooool005?ooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`05ooooo`0300000?oo
+oooo000000Gooooo00?o0000ooooooooool02?ooool01Ol0003oooooooooooooool0000001;ooooo
+0P00000Eooooo`03o`000?oooooooooo01Oooooo00<00000ooooool000000ol0000;ooooo`;o0000
+Boooool005?ooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`06ooooo`0300000?oo
+oooo000000Gooooo00?o0000ooooooooool02Oooool01Ol0003oooooooooooooool00000013ooooo
+00<00000ooooooooool04_ooool01000003oooooooooool0000Iooooo`0300000?oooooooooo00?o
+oooo1?l00004ooooo`8000000_ooool2o`0004[ooooo001Booooo`06o`000?ooooooooooooooo`00
+003o00002?ooool01000003oooooooooool00005ooooo`03o`000?oooooooooo00[ooooo00?o0000
+ooooooooool01Oooool00`00003oooooooooo`04ooooo`8000006?ooool01000003oooooooooool0
+000Cooooo`0300000?oooooooooo00gooooo1?l00002ooooo`0500000?ooooooooooooooool00000
+BOooool005;ooooo00Go0000ooooooooooooooooo`000008ooooo`0500000?ooooooooooooooool0
+00001_ooool00ol0003oooooooooo`0:ooooo`;o00000_ooool4000000Gooooo00<00000oooooooo
+ool06?ooool01000003oooooooooool0000Cooooo`0300000?oooooooooo017ooooo1?l000001?oo
+ool0000000000?l00018ooooo`00DOooool01Ol0003ooooooooooooooooo000000cooooo00?o0000
+ooooooooool01Oooool00ol0003oooooooooo`0<ooooo`03o`000?oooooooooo00;ooooo0`00000N
+ooooo`0400000?ooooooooooo`0001;ooooo00<00000ooooooooool01Oooool00`00003ooooooooo
+o`0>ooooo`Go0000Aoooool0057ooooo00Go0000oooooooooooo000000000007ooooo`0300000?oo
+oooooooo00;ooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`0=ooooo`03o`000?oo
+oooooooo00<000008_ooool00ol0003oooooooooo`0Hooooo`0300000?oooooooooo01;ooooo0_l0
+0016ooooo`00DOooool00ol0003oooooo`000009ooooo`0300000?oooooooooo00;ooooo00?o0000
+ooooooooool01Oooool00ol0003oooooooooo`0>ooooo`06o`000000003ooooo00000?ooool00000
+8Oooool00ol0003oooooooooo`0Iooooo`0300000?oooooooooo00oooooo0_l000000ooooooo0000
+ooooo`15ooooo`00D?ooool00ol0003oooooo`000009ooooo`0300000?oooooooooo00?ooooo00?o
+0000ooooooooool01_ooool00ol0003oooooooooo`0:ooooo`0500000?ooooooooooooooool00000
+8oooool00`00003oooooo`00000Aooooo`0300000?oooooooooo00Oooooo00<00000ooooooooool0
+3_ooool01?l0003oooooooooool00017ooooo`00D?ooool2o`0000;ooooo00<00000ooooooooool0
+1Oooool00`00003oooooooooo`02ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool0
+2Oooool00`00003oooooooooo`03ooooo`;o00000oooool2000001cooooo00<00000ooooool00000
+4Oooool00`00003oooooooooo`0Fooooo`;o000000Cooooo00000?oooooo0000Aoooool0053ooooo
+00Go0000oooooooooooooooo0000000<ooooo`03o`000?oooooooooo00Oooooo00?o0000oooooooo
+ool02?ooool00`00003oooooooooo`06ooooo`03o`000?oooooooooo00;ooooo00<00000oooooooo
+ool06_ooool00`00003o0000ooooo`0?ooooo`0300000?oooooooooo01Gooooo0_l00003ooooo`03
+00000?l0003o000004Oooooo001?ooooo`03o`000?oooooooooo00;ooooo00<00000ooooooooool0
+2_ooool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo00?ooooo0P000009ooooo`040000
+0?ooooooooooo`0000Cooooo00<00000ooooooooool06Oooool00ol0003oooooooooo`0?ooooo`03
+00000?oooooooooo00Wooooo00<00000ooooooooool02?ooool00ol0003oooooooooo`02ooooo`03
+00000?l0003o000004Sooooo001?ooooo`03o`000?oooooooooo00;ooooo00<00000ooooooooool0
+0oooool00`00003oooooooooo`04ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool0
+0_ooool00`00003oooooooooo`09ooooo`0500000?ooooooooooooooool000007oooool00ol0003o
+ooooooooo`0Kooooo`0300000?oooooooooo00Kooooo0_l00006ooooo`;o0000B?ooool004oooooo
+00?o0000ooooooooool02?ooool00`00003oooooooooo`03ooooo`03o`000?oooooooooo00Wooooo
+00Go0000oooooooooooooooo0000000<ooooo`0300000?oooooooooo00;ooooo0_l00003ooooo`03
+00000?oooooooooo01Oooooo00?o0000ooooooooool07?ooool00`00003oooooooooo`03ooooo`;o
+00001oooool2o`0004Wooooo001?ooooo`;o00002?ooool00`00003oooooooooo`04ooooo`03o`00
+0?oooooooooo00Wooooo00?o000000000?ooool03_ooool00`00003oooooooooo`04ooooo`05o`00
+0?ooooooooooooooo`0000006?ooool00ol000000000ooooo`0>ooooo`0300000?oooooooooo00_o
+oooo00<00000ooooooooool00_ooool00ol0003oooooooooo`05ooooo`0400000?oooooo0000o`00
+04Wooooo001?ooooo`;o00000_ooool00`00003oooooooooo`0:ooooo`03o`000?oooooooooo00Wo
+oooo00<00000o`000?ooool05_ooool01Ol0003oooooooooooooool0000001Oooooo00?o00000000
+0?ooool03_ooool00`00003oooooooooo`0>ooooo`;o00001oooool01000003oooooo`000?l0001:
+ooooo`00Coooool2o`0000;ooooo00<00000ooooooooool02_ooool00ol0003oooooooooo`08oooo
+o`0300000?oooooo000001Sooooo00?o0000ooooooooool06?ooool00ol000000000ooooo`0=oooo
+o`0300000?oooooooooo00gooooo0_l00008ooooo`0300000?oooooooooo00;o0000B_ooool004oo
+oooo0_l000000oooool00000ooooo`03ooooo`0300000?oooooooooo00Gooooo00?o0000oooooooo
+ool01Oooool2000000Cooooo00?o0000ooooooooool03Oooool00`00003oooooooooo`07ooooo`03
+o`000?oooooooooo00;ooooo00<00000ooooooooool04_ooool00ol000000000ooooo`0=ooooo`03
+00000?oooooooooo00cooooo00?o000000000?ooool02_ooool00ol0003oooooo`00001:ooooo`00
+Coooool2o`000003ooooo`00003ooooo00?ooooo00<00000ooooooooool01Oooool00ol0003ooooo
+ooooo`04ooooo`0300000?oooooooooo00Cooooo00?o0000ooooooooool03Oooool00`00003ooooo
+ooooo`08ooooo`;o00000oooool00`00003oooooooooo`0Aooooo`03o`000?oooooooooo01[ooooo
+0_l000000oooool00000ooooo`09ooooo`03o`000?oooooo000004_ooooo001?ooooo`03o`000?oo
+oooo000000Cooooo00<00000ooooooooool01_ooool00ol0003oooooooooo`03ooooo`0300000?oo
+oooooooo00Kooooo00?o0000ooooooooool02oooool00`00003oooooooooo`0;ooooo`05o`000?oo
+ooooooooooooo`0000004_ooool00ol0003oooooooooo`0Hooooo`;o00001?ooool00`00003ooooo
+ooooo`04ooooo`0600000?ooooooooooo`000?oooooo0000Boooool004oooooo00?o0000ooooool0
+00001?ooool00`00003oooooooooo`05ooooo`03o`000?oooooooooo008000002oooool00ol0003o
+ooooooooo`0;ooooo`0300000?oooooooooo00cooooo00?o0000ooooooooool04oooool00ol0003o
+oooo0000000;ooooo`0300000?oooooooooo00Wooooo00?o0000ooooooooool02_ooool01P00003o
+ooooooooool0003oooooo`0004cooooo001?ooooo`03o`000?oooooo000000cooooo00?o0000oooo
+o`0000003Oooool00ol0003oooooooooo`0Kooooo`03o`000?oooooooooo00;ooooo00<00000oooo
+ooooool03Oooool00ol0003ooooo0000000;ooooo`0300000?oooooooooo00Oooooo0_l0000<oooo
+o`0700000?ooooooooooooooool0003oooooo`00001<ooooo`00Coooool00ol0003oooooo`000002
+ooooo`0300000?oooooooooo00Oooooo00?o0000ooooooooool03_ooool00ol0003oooooooooo`0K
+ooooo`03o`000?oooooooooo00;ooooo00<00000ooooooooool02oooool01Ol0003ooooooooooooo
+ool0000000Wooooo00<00000ooooooooool01_ooool2o`00017ooooo00Co0000oooooooooooo0000
+C?ooool004oooooo00?o0000ooooool000000_ooool00`00003oooooooooo`05ooooo`80000000?o
+0000ooooooooool03_ooool00ol0003oooooooooo`0:ooooo`0300000?oooooooooo00oooooo0_l0
+0003ooooo`0300000?oooooooooo00[ooooo00Go0000oooooooooooooooo00000009ooooo`030000
+0?oooooooooo00Gooooo00?o0000ooooooooool02_ooool00`00003oooooooooo`04ooooo`03o`00
+0?oooooo000004gooooo001?ooooo`05o`000?ooool00000o`00000000001_ooool200000003oooo
+ool0003ooooo013ooooo00?o0000ooooooooool02_ooool00`00003oooooooooo`0Aooooo`03o`00
+0?oooooooooo00gooooo00?o0000ooooooooool04Oooool2o`0000gooooo00<00000ooooo`000000
+0oooool01?l0003oooooooooool0001=ooooo`00Coooool01Ol0003oooooooooool00000000000Wo
+oooo00?o0000ooooooooool03oooool00ol0003oooooooooo`0:ooooo`0300000?oooooooooo01;o
+oooo00?o0000ooooooooool00_ooool00`00003oooooooooo`07ooooo`03o`000?oooooooooo00oo
+oooo0_l0000@ooooo`8000000_ooool01?l0003oooooooooool0001>ooooo`00Coooool01?l0003o
+ooooooooool00003ooooo`8000001Oooool00ol0003oooooooooo`0@ooooo`03o`000?oooooooooo
+00Wooooo00<00000ooooooooool04oooool00ol0003oooooooooo`02ooooo`0300000?oooooooooo
+00Kooooo00?o0000ooooooooool00_ooool00`00003oooooooooo`05ooooo`0500000?oooooooooo
+ooooool000004_ooool01@00003ooooooooooooooooo000000;ooooo00?o0000ooooooooool0C?oo
+ool004oooooo00Co000000000?oooooo00000_ooool00`00003oooooooooo`05ooooo`03o`000?oo
+oooooooo013ooooo00?o0000ooooooooool08?ooool00ol0003oooooooooo`02ooooo`0300000?oo
+oooooooo00Gooooo00?o0000ooooooooool00_ooool00`00003oooooooooo`05ooooo`0400000?oo
+oooo0000o`0001?ooooo00@00000oooooooooooo00000_ooool00ol0003oooooooooo`1=ooooo`00
+Coooool01?l00000000000000?l00009ooooo`03o`000?oooooooooo017ooooo00?o0000oooooooo
+ool08Oooool2o`0000[ooooo00?o0000ooooooooool00_ooool00`00003oooooooooo`04ooooo`03
+00000?l0003o0000017ooooo0P0000000oooool00000ooooo`02ooooo`04o`000?ooooooooooo`00
+04oooooo001?ooooo`05o`0000000000000000000?l000002?ooool00ol0003oooooooooo`0Aoooo
+o`03o`000?oooooooooo00Sooooo00<00000ooooooooool06?ooool01?l0003oooooooooooooool2
+000000Cooooo00?o0000ooooooooool00_ooool00`00003oooooooooo`04ooooo`03o`000?oooooo
+oooo00oooooo0P000003ooooo`0400000?ooooooooooo`0000?ooooo00?o0000ooooooooool0COoo
+ool004oooooo00Go000000000000003oooooo`000008ooooo`03o`000?oooooooooo01;ooooo00?o
+0000ooooooooool01oooool00`00003oooooooooo`0Iooooo`03o`000?oooooooooo00;ooooo00D0
+0000ooooooooooooooooo`000009ooooo`;o00003oooool00`00003oooooooooo`08ooooo`04o`00
+0?ooooooooooo`00053ooooo001?ooooo`05o`000?ooool0000000000?l000000_ooool2000000Co
+oooo00?o0000ooooooooool04_ooool00ol0003oooooooooo`07ooooo`0300000?oooooooooo01[o
+oooo00?o0000ooooooooool00_ooool01000003oooooooooool00007ooooo`;o00004?ooool00`00
+003oooooooooo`08ooooo`05o`000?ooooooooooooooool00000D?ooool0053ooooo00Co00000000
+0000003o00001?ooool01000003oooooooooool00002000001?ooooo00?o0000ooooooooool01ooo
+ool00`00003oooooooooo`0Kooooo`;o00001Oooool00ol0003oooooooooo`03ooooo`0300000?l0
+003ooooo00;ooooo00<00000ooooooooool02oooool00`00003oooooooooo`07ooooo`0300000?l0
+003ooooo00;ooooo00?o0000ooooooooool0Coooool0053ooooo00Go000000000?ooooooooooo`00
+0006ooooo`04o`000?oooooooooo000001?ooooo00?o0000ooooooooool09_ooool01Ol0003ooooo
+oooooooooooo000000Gooooo0_l00004ooooo`0300000?oooooooooo00Kooooo0P00000=ooooo`03
+00000?l0003ooooo00;ooooo00?o0000ooooooooool0Coooool0053ooooo00Go0000ooooo`00003o
+ooooo`000006ooooo`03o`000?oooooooooo00Cooooo0`00000=ooooo`03o`000?oooooooooo02Oo
+oooo00Go0000oooooooooooo000000000002ooooo`;o00000_ooool01000003oooooooooo`000008
+ooooo`0300000?oooooooooo00cooooo00<00000o`000?ooool00oooool00ol0003oooooooooo`1?
+ooooo`00DOooool01Ol000000000ooooool00000000000Gooooo00?o0000ooooooooool02_ooool4
+000000Kooooo00?o0000ooooooooool01_ooool00`00003oooooooooo`0Oooooo`06o`000?oooooo
+0000ooooo`00003o00001?ooool00`00003oooooooooo`0Hooooo`0300000?l0003ooooo00;ooooo
+00?o0000ooooooooool0D?ooool0057ooooo00Ko0000oooooooooooo0000ooooo`000003ooooo`03
+o`000?oooooooooo017ooooo100000000ol0003oooooooooo`06ooooo`0300000?oooooooooo023o
+oooo1?l0000=ooooo`8000004Oooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo053o
+oooo001Booooo`03o`000?oooooo000000Gooooo00?o0000ooooooooool05_ooool00ol000000000
+00000002000000?ooooo00<00000ooooooooool07oooool4o`0000?ooooo00<00000ooooooooool0
+0_ooool01000003oooooooooooooool2000001?ooooo00Go0000ooooooooooooooooo`00001Coooo
+o`00D_ooool01?l0003ooooo00000?l00003ooooo`0300000?l0003ooooo01Oooooo00?o0000oooo
+ooooool01?ooool2o`00008000000oooool4000001Gooooo0ol00002ooooo`03o`000?oooooo0000
+00?ooooo00D00000ooooo`00003ooooo0000000Gooooo`03o`000?oooooooooo00;ooooo00?o0000
+ooooooooool0DOooool005?ooooo00?o000000000?l000001?ooool00ol0003oooooooooo`0Foooo
+o`03o`000?oooooooooo017ooooo10000002ooooo`@000000_ooool3000000Co00000P000002oooo
+o`05o`000?ooooooooooooooool000000oooool5000001Gooooo00?o000000000?ooool00oooool0
+0ol0003oooooooooo`1Aooooo`00Doooool00ol0003oooooo`000003ooooo`03o`000?ooool00000
+01Oooooo00?o0000ooooooooool01Oooool00`00003oooooooooo`0Eooooo`?o00001_ooool01000
+003oooooo`000?ooool3000000;o000000Cooooo00000000000000005oooool00ol000000000oooo
+o`02ooooo`03o`000?oooooooooo05;ooooo001Cooooo`03o`000?oooooo000000?ooooo00?o0000
+ooooooooool06?ooool00ol0003oooooooooo`04ooooo`0300000?oooooooooo01;ooooo0ol0000;
+ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooool000000P00000Eooooo`03o`000?ooool0
+000000?ooooo00?o0000ooooooooool0D_ooool005Cooooo0_l00003ooooo`03o`000?oooooooooo
+00;ooooo00<00000ooooooooool04oooool00ol0003oooooooooo`04ooooo`0300000?oooooooooo
+00kooooo1?l0000=ooooo`03o`000?oooooooooo00Kooooo00Go000000000?oooooooooo0000000D
+ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0Doooool005Cooooo00Ko0000oooo
+ool000000000ooooool00005ooooo`0300000?oooooooooo01;ooooo00?o0000ooooooooool04_oo
+ool3o`00017ooooo00?o0000ooooooooool00oooool2000000;ooooo0_l0000Eooooo`03o`000?oo
+oooooooo00?ooooo00?o0000ooooooooool0Doooool005Gooooo0_l000000`00003o0000ooooo`06
+ooooo`0300000?oooooooooo01;ooooo00?o0000ooooooooool03Oooool4o`0001Cooooo00Co0000
+oooooooooooooooo0P000006ooooo`05o`000?ooooooooooooooo`0000004?ooool00ol0003ooooo
+00000002ooooo`03o`000?oooooooooo05Cooooo001Eooooo`;o000000?oooooo`000?ooool06ooo
+ool00ol0003oooooooooo`0:ooooo`?o00005oooool00ol0003oooooooooo`07ooooo`0500000?oo
+ooooooooooooool000000oooool00`00003oooooooooo`0<ooooo`04o`000?oooooooooo000000;o
+oooo00?o0000ooooooooool0E?ooool005Kooooo00?o0000ooooool000002_ooool00`00003ooooo
+ooooo`0?ooooo`03o`000?oooooooooo00?ooooo00@00000oooooooooooooooo0ol0000Jooooo`04
+o`000?ooool00000000000Kooooo00<00000ooooooooool00_ooool2o`0000;ooooo00<00000oooo
+ooooool02_ooool01?l0003oooooooooo`000003ooooo`03o`000?oooooooooo05Cooooo001Foooo
+o`03o`000?oooooo000000_ooooo00<00000ooooooooool03_ooool00ol0003oooooooooo`03oooo
+o`Co00007Oooool00ol000000000ooooo`07ooooo`0300000?oooooooooo00Cooooo00?o0000oooo
+ooooool03?ooool01?l0003oooooooooo`000002ooooo`03o`000?oooooooooo05Gooooo001Foooo
+o`;o00000_ooool00`00003oooooooooo`08ooooo`0300000?oooooooooo00kooooo00?o0000oooo
+ool000000_l000000`00003oooooooooo`0Mooooo`03o`000?oooooooooo00Sooooo00<00000oooo
+ooooool01Oooool01?l0003oooooooooo`000009ooooo`03o`000?oooooooooo00Cooooo00?o0000
+ooooooooool0EOooool005Oooooo8Ol00003ooooo`0300000?oooooooooo01_ooooo00<00000oooo
+ool000004oooool2o`000003ooooo`00003ooooo00Oooooo00?o0000ooooooooool00oooool00ol0
+003oooooooooo`1Fooooo`00Eoooool01Ol0003oooooo`000?ooool0000000_ooooo0`00000<oooo
+o`03o`000?oooooooooo01oooooo00@00000oooooooooooo00005Oooool00ol0003ooooo00000006
+ooooo`05o`000?ooooooooooooooo`0000000_ooool00ol0003oooooooooo`1Fooooo`00F?ooool0
+1Ol0003oooooo`000?ooool0000000gooooo00<00000ooooooooool02_ooool00ol0003ooooooooo
+o`0Mooooo`0400000?ooooooooooo`0000[ooooo00<00000ooooooooool02_ooool00ol0003ooooo
+ooooo`05ooooo`05o`000?ooooooooooooooo`0000000_ooool00ol0003oooooooooo`1Fooooo`00
+FOooool00ol0003oooooo`00000Kooooo`03o`000?oooooooooo00;ooooo00<00000ooooooooool0
+5Oooool00`00003oooooooooo`03ooooo`03o`000?oooooooooo00Sooooo00<00000ooooooooool0
+2oooool2o`0000Cooooo00?o0000ooooooooool00_ooool00`00003oooooo`00001Iooooo`00F_oo
+ool01?l0003oooooo`000?l0000Jooooo`05o`000?ooooooooooooooo`0000005_ooool00`00003o
+ooooooooo`04ooooo`03o`000?oooooooooo00Oooooo00<00000ooooooooool03_ooool01?l00000
+0000ooooool00005ooooo`0300000?oooooo000005Wooooo001Kooooo`04o`000?ooool00000o`00
+00gooooo0P00000:ooooo`05o`000?ooooooooooooooo`0000005Oooool00`00003oooooooooo`04
+ooooo`03o`000?oooooooooo00Sooooo00<00000ooooooooool03oooool00ol000000000o`000006
+ooooo`03o`000?oooooooooo05Sooooo001Looooo`04o`000?ooool00000o`0000kooooo00<00000
+ooooooooool02?ooool01?l0003oooooooooo`00000Looooo`03o`000?oooooooooo01[ooooo0ol0
+0006ooooo`03o`000?oooooooooo05Sooooo001Looooo`05o`000?oooooooooo00000?l000006?oo
+ool00ol0003oooooooooo`0Booooo`8000002Oooool00ol0003oooooooooo`0Iooooo`05o`000?oo
+ooooooooooooool000000oooool00`00003o0000ooooo`1Jooooo`00GOooool01Ol0003ooooooooo
+oooooooo000000oooooo00<00000ooooooooool01_ooool00ol0003oooooooooo`0?ooooo`800000
+2_ooool00ol0003oooooooooo`08ooooo`0300000?oooooooooo00kooooo00?o0000ooooooooool0
+0oooool2o`000003ooooo`00003o000005_ooooo001Nooooo`04o`000?ooooooooooooooo`;o0000
+3_ooool00`00003oooooooooo`05ooooo`03o`000?ooool0000001_ooooo00?o0000ooooooooool0
+2?ooool00`00003oooooooooo`0=ooooo`03o`000?oooooooooo00Kooooo00?o000000000?l00000
+Foooool005oooooo00?o000000000?ooool00_ooool00ol0003oooooooooo`0<ooooo`0300000?oo
+oooooooo00Gooooo00?o000000000?ooool02oooool2000000gooooo00?o0000ooooooooool01ooo
+ool00`00003oooooooooo`0=ooooo`03o`000?oooooooooo00Oooooo0_l0001Looooo`00H?ooool0
+0ol000000000ooooo`02ooooo`03o`000?oooooooooo01?ooooo00?o000000000?ooool02Oooool2
+000000kooooo00?o0000ooooooooool02?ooool00`00003oooooooooo`0<ooooo`03o`000?oooooo
+oooo00Kooooo00<00000o`000?ooool0GOooool0063ooooo00?o0000ooooo`0000000oooool00ol0
+003oooooooooo`0=ooooo`0300000?oooooooooo00?ooooo00?o0000ooooooooool06?ooool00ol0
+003oooooooooo`0Eooooo`;o00001Oooool200000003ooooool0003o000005oooooo001Qooooo`03
+o`000?oooooooooo00?ooooo0_l0000>ooooo`0300000?oooooooooo00;ooooo00?o0000oooooooo
+ool01Oooool00`00003oooooooooo`0@ooooo`03o`000?oooooooooo01Cooooo00?o0000oooooooo
+ool00oooool2000000;ooooo00?o0000ooooooooool0Goooool006;ooooo00?o0000ooooooooool0
+1?ooool00ol0003oooooooooo`0<ooooo`0300000?oooooooooo00;ooooo00?o0000ooooooooool0
+0oooool00`00003oooooooooo`0@ooooo`03o`000?oooooooooo00Sooooo00<00000ooooooooool0
+2Oooool01Ol0003oooooooooooooool0000000Cooooo0_l0001Rooooo`00Hoooool00ol000000000
+ooooo`04ooooo`03o`000?oooooooooo013ooooo00?o0000ooooooooool00_ooool00`00003ooooo
+ooooo`0Aooooo`03o`000?oooooooooo00Sooooo00<00000ooooooooool02?ooool01Ol0003ooooo
+ooooooooool0000000Cooooo00?o0000ooooooooool0H_ooool006Cooooo00?o0000ooooooooool0
+1?ooool00ol0003oooooooooo`0=ooooo`0400000?ooool00000o`0001Kooooo00?o0000oooooooo
+ool02?ooool00`00003oooooooooo`08ooooo`05o`000?ooooooooooooooo`0000000oooool2o`00
+06Gooooo001Uooooo`;o00001Oooool2o`0000kooooo0P0000000ol000000000ooooo`0Dooooo`03
+o`000?oooooooooo01;ooooo00?o000000000?ooool01Oooool00ol0003oooooooooo`1Uooooo`00
+Ioooool01?l000000000000000000003ooooo`03o`0000000000000000?ooooo10000002ooooo`D0
+000000?o000000000?ooool04oooool00ol0003oooooooooo`0@ooooo`;o00001_ooool2o`0006So
+oooo001Xooooo`;o00001Oooool00ol0003oooooooooo`0;ooooo`0300000?oooooo000000?ooooo
+1000000=ooooo`03o`000?oooooooooo00kooooo0P0000000ol0003oooooooooo`05ooooo`03o`00
+0?oooooooooo06Sooooo001Zooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool02_oo
+ool01000003oooooooooool00008ooooo`@000000_ooool3000000;ooooo00?o0000ooooooooool0
+2?ooool01000003oooooooooooooool200000003ooooool0003ooooo00Gooooo0_l0001[ooooo`00
+Joooool2o`0000Cooooo0_l0000;ooooo`0300000?oooooo0000017ooooo00<00000ooooool00000
+0`000007ooooo`0300000?oooooooooo00?ooooo00?o0000ooooooooool01?ooool00ol0003ooooo
+ooooo`1[ooooo`00KOooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo00Wooooo00<0
+0000ooooool000004Oooool00ol0003oooooooooo`02ooooo`0400000?ooooooooooooooo`D00000
+0oooool00ol0003oooooooooo`03ooooo`;o0000K_ooool006kooooo0_l00004ooooo`03o`000?oo
+oooooooo00_ooooo00?o0000ooooooooool03_ooool00ol0003oooooooooo`08ooooo`0300000?oo
+oooooooo00;ooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`1^ooooo`00L?ooool0
+0ol0003oooooooooo`02ooooo`03o`000?oooooooooo00Wooooo00<00000o`000?ooool03oooool0
+0ol0003oooooooooo`07ooooo`0400000?ooooooooooooooo`;o00001?ooool2o`00077ooooo001a
+ooooo`;o00000oooool00ol0003oooooooooo`08ooooo`0300000?oooooo000000kooooo00?o0000
+ooooooooool02oooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo077ooooo001coooo
+o`04o`000?ooooooooooooooo`;o00002Oooool00`00003o0000ooooo`0=ooooo`03o`000?oooooo
+oooo00[ooooo00?o0000ooooooooool00_ooool2o`0007Cooooo001dooooo`;o00000oooool00ol0
+003oooooooooo`06ooooo`0300000?oooooo000000gooooo00?o0000ooooooooool01Oooool01@00
+003ooooooooooooooooo000000Cooooo00?o0000ooooooooool0M?ooool007Kooooo00Go0000oooo
+ooooooooooooo`000009ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool01Oooool0
+1@00003ooooooooooooooooo000000Cooooo00?o0000ooooooooool0MOooool007Oooooo0_l00002
+ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`04
+ooooo`0500000?ooooooooooooooool000000oooool2o`0007Sooooo001iooooo`03o`000?oooooo
+oooo00;o00001_ooool00`00003o0000ooooo`0:ooooo`03o`000?oooooooooo00Oooooo00Go0000
+ooooooooooooooooo`00001jooooo`00N_ooool2o`0000;ooooo00?o0000ooooooooool00oooool0
+0`00003oooooo`000009ooooo`03o`000?oooooooooo00?ooooo00<00000ooooooooool00_l00002
+ooooo`;o0000Noooool007cooooo00Co0000oooooooooooo00001Oooool00`00003o0000ooooo`08
+ooooo`03o`000?oooooooooo00;ooooo00@00000oooooooooooo00000oooool00ol0003ooooooooo
+o`1kooooo`00OOooool2o`000003ooooool0003ooooo00Gooooo00?o0000ooooooooool01_ooool0
+1Ol0003oooooooooooooool0000000;ooooo00?o0000ooooooooool00_l0001nooooo`00Ooooool0
+1?l0003oooooo`000?l00004ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool01?oo
+ool01?l0003oooooooooool00020ooooo`00P?ooool2o`000003ooooool0003ooooo00;ooooo00<0
+0000o`000?ooool01Oooool00ol0003oooooooooo`03ooooo`04o`000?oooooo0000o`00087ooooo
+0022ooooo`03o`000?oooooo000000?ooooo00?o0000ooooooooool01?ooool02?l0003ooooooooo
+o`00003oooooo`000?oooooo0000Poooool008?ooooo0ol00003ooooo`03o`000?oooooooooo00;o
+oooo00Co0000ooooooooool000001?l00024ooooo`00QOooool2o`0000;ooooo00?o0000oooooooo
+ool00_ooool01_l0003ooooo00000?l0003oooooo`0008Kooooo0026ooooo`?o000000?oooooo`00
+0?ooool00_ooool00ol0003oooooo`000002o`0008Oooooo0028ooooo`?o000000@00000ooooool0
+000000000_l00029ooooo`00ROooool3o`000004ooooool0003o0000o`0008[ooooo002;ooooo`03
+o`000000003o000008cooooo002<ooooo`03o`000?oooooooooo08_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.47621 .45416 m
+.63473 .56796 L
+s
+.47621 .45416 m
+.5 .27523 L
+s
+.47621 .45416 m
+.58185 .41311 L
+s
+.47119 .57044 m
+.47621 .45416 L
+s
+.38662 .40027 m
+.47621 .45416 L
+s
+.31094 .5517 m
+.47621 .45416 L
+s
+.47119 .57044 m
+.63473 .56796 L
+s
+.31094 .5517 m
+.47119 .57044 L
+s
+.4747 .67248 m
+.47119 .57044 L
+s
+.63473 .56796 m
+.71242 .51198 L
+s
+.63473 .56796 m
+.67184 .39558 L
+s
+.58185 .41311 m
+.63473 .56796 L
+s
+.4747 .67248 m
+.63473 .56796 L
+s
+.58835 .68293 m
+.63473 .56796 L
+s
+.68388 .63248 m
+.63473 .56796 L
+s
+.58185 .41311 m
+.67184 .39558 L
+s
+.58185 .41311 m
+.5 .27523 L
+s
+.38662 .40027 m
+.5 .27523 L
+s
+.38662 .40027 m
+.32197 .37174 L
+s
+.31094 .5517 m
+.38662 .40027 L
+s
+.31094 .5517 m
+.32197 .37174 L
+s
+.31094 .5517 m
+.27803 .48748 L
+s
+.37742 .67486 m
+.31094 .5517 L
+s
+.30901 .61606 m
+.31094 .5517 L
+s
+.4747 .67248 m
+.31094 .5517 L
+s
+.4747 .67248 m
+.37742 .67486 L
+s
+.58835 .68293 m
+.4747 .67248 L
+s
+.5 .75807 m
+.4747 .67248 L
+s
+.5 .27523 m
+.67184 .39558 L
+s
+.32197 .37174 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .27523 m
+.62758 .31802 L
+s
+.5 .27523 m
+.53006 .29504 L
+s
+.40391 .30106 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.67184 .39558 m
+.73211 .43653 L
+s
+.67184 .39558 m
+.71242 .51198 L
+s
+.62758 .31802 m
+.67184 .39558 L
+s
+.5 .75807 m
+.58835 .68293 L
+s
+.68388 .63248 m
+.58835 .68293 L
+s
+.71242 .51198 m
+.73211 .43653 L
+s
+.68388 .63248 m
+.71242 .51198 L
+s
+.0035 w
+[ ] 0 setdash
+.30901 .61606 m
+.37742 .67486 L
+s
+.5 .75807 m
+.37742 .67486 L
+s
+.32197 .37174 m
+.32183 .41013 L
+s
+.32197 .37174 m
+.40391 .30106 L
+s
+.27803 .48748 m
+.32197 .37174 L
+s
+.68388 .63248 m
+.73211 .43653 L
+s
+.68388 .63248 m
+.5 .75807 L
+s
+.68388 .63248 m
+.63934 .62256 L
+s
+.62758 .31802 m
+.73211 .43653 L
+s
+.53006 .29504 m
+.62758 .31802 L
+s
+.27803 .48748 m
+.32183 .41013 L
+s
+.30901 .61606 m
+.27803 .48748 L
+s
+.40391 .30106 m
+.53006 .29504 L
+s
+.40391 .30106 m
+.32183 .41013 L
+s
+.30901 .61606 m
+.32183 .41013 L
+s
+.39483 .61165 m
+.30901 .61606 L
+s
+.5 .75807 m
+.30901 .61606 L
+s
+.5 .75807 m
+.39483 .61165 L
+s
+.53252 .56266 m
+.5 .75807 L
+s
+.63934 .62256 m
+.5 .75807 L
+s
+.53006 .29504 m
+.73211 .43653 L
+s
+.53855 .40574 m
+.53006 .29504 L
+s
+.32183 .41013 m
+.53006 .29504 L
+s
+.53855 .40574 m
+.73211 .43653 L
+s
+.53252 .56266 m
+.73211 .43653 L
+s
+.63934 .62256 m
+.73211 .43653 L
+s
+.63934 .62256 m
+.53252 .56266 L
+s
+.39483 .61165 m
+.32183 .41013 L
+s
+.53252 .56266 m
+.39483 .61165 L
+s
+.32183 .41013 m
+.53855 .40574 L
+s
+.53252 .56266 m
+.32183 .41013 L
+s
+.53252 .56266 m
+.53855 .40574 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00RP3oool5000008/0oooo00260?ooo`@0000000@0
+ooooo`000?l0003o0000100000280?ooo`00PP3oool4000000050?ooool0003o00000?ooool00000
+103oool2000000040?ooo`0000000000000008D0oooo001n0?ooo`@000000`3oool2o`000080oooo
+00?o00000?ooo`3oool01@3oool200000080oooo0`0000220?ooo`00N`3oool3000000d0oooo00Go
+00000?ooo`3oool0ooooo`0000020?ooo`03o`0000000000oooo00<0oooo0`00001o0?ooo`00M`3o
+ool4000000H0oooo0_l000040?ooo`04o`00003oool0oooo0?ooo``00000103oool3000007`0oooo
+001c0?ooo`@000000`3ooolA00000003o`00003oool0oooo0080oooo00Ko0000000000000000oooo
+0000003oool5000000<0oooo0`00001i0?ooo`00L03oool:000000`0oooo00?o00000?ooo`3oool0
+0P3oool00ol00000oooo0?ooo`020?ooo`070000003oool0oooo0?ooo`000000ooooo`0000020000
+0080oooo100000020?ooo`<00000MP3oool006l0oooo00<000000?ooo`0000002P3oool2o`0000L0
+oooo00?o00000?ooo`3oool01P3oool2000000@0oooo00H000000?ooo`3ooooo00000?ooo`000005
+0?ooo`@0000000@0oooo0000000000000000L`3oool006h0oooo00<000000?ooo`0000002P3oool0
+0ol00000oooo0?ooo`0>0?ooo`8000001P3oool01`000000oooo0?ooo`3ooooo00000?ooo`000000
+203oool700000700oooo001]0?ooo`030000003oool0000001<0oooo00?o00000?ooo`3oool0103o
+ool2000000H0oooo00?o00000?ooo`0000001P3oool2000000X0oooo1P00001]0?ooo`00K03oool0
+0`000000oooo000000080?ooo`;o00002@3oool00ol00000oooo0?ooo`040?ooo`030000003ooooo
+000000H0oooo00Co00000?ooo`3oool000001@3oool2o`0000030000003oool0oooo00/0oooo1@00
+001Z0?ooo`00J`3oool010000000oooo0?ooo`0000060?ooo`;o00002P3oool00ol00000oooo0?oo
+o`030?ooo`8000000P3oool00ol00000oooo0?ooo`050?ooo`03o`00003oool0000000L0oooo00?o
+00000000000000003`3oool2000006T0oooo001Z0?ooo`040000003oool0oooo000001L0oooo0P00
+00030?ooo`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool0203oool00`000000oooo0?oo
+o`0=0?ooo`030000003oool0oooo06L0oooo001X0?ooo`8000000P3oool00`000000oooo0?ooo`02
+0?ooo`;o0000403oool200000100oooo00<000000?ooo`3oool0203oool00ol0000000000000000>
+0?ooo`030000003oool0oooo06H0oooo001W0?ooo`050000003oool0oooo0?ooo`000000103oool0
+0ol00000oooo0?ooo`0<0?ooo`04o`00003oool0oooo00000180oooo00<000000?ooo`3oool02P3o
+ool00ol0000000000?ooo`0=0?ooo`030000003oool0oooo06D0oooo001V0?ooo`030000003oool0
+oooo0080oooo00<000000?ooo`3oool0403oool01?l00000oooo00000000000C0?ooo`030000003o
+ool0oooo00/0oooo00?o00000000003oool03@3oool00`000000oooo0?ooo`1T0?ooo`00I@3oool0
+0`000000oooo0?ooo`020?ooo`040000003ooooo0000o`0000l0oooo00?o00000000000000002P3o
+ool00ol00000oooo0?ooo`080?ooo`0300000?l00000oooo00d0oooo0P00000<0?ooo`800000I@3o
+ool006@0oooo00<000000?ooo`3oool00P3oool00`00003o0000o`00000@0?ooo`800000303oool0
+0ol00000oooo0?ooo`080?ooo`030000003oool0oooo00d0oooo0_l000000`000000oooo0?ooo`09
+0?ooo`030000003oool0000006@0oooo001S0?ooo`030000003oool0oooo0080oooo00<000000?oo
+o`3oool03`3oool00ol0000000000?ooo`0<0?ooo`03o`00003oool0oooo00T0oooo00<000000?oo
+o`3oool0403oool2000000X0oooo00<000000?ooo`000000H`3oool00640oooo0P0000030?ooo`;o
+000000<000000?ooo`3oool03P3oool2000001X0oooo00@000000?ooo`3ooooo00004@3oool00`00
+0000oooo0?ooo`070?ooo`040000003oool0oooo00000680oooo001P0?ooo`030000003oool0oooo
+0080oooo00?o00000?ooo`0000003`3oool200000003o`00003oool0oooo01T0oooo00@000000?oo
+o`3ooooo00004@3oool00ol0000000000000000:0?ooo`030000003oool0oooo0600oooo001O0?oo
+o`030000003oool0oooo00@0oooo00<000000?ooo`3oool0303oool2000001l0oooo00@000000?oo
+o`3ooooo00004P3oool00ol0000000000?ooo`090?ooo`030000003oool0oooo05l0oooo001N0?oo
+o`030000003oool0oooo00;o00000P3oool00`000000oooo0?ooo`0;0?ooo`800000503oool00ol0
+0000oooo0?ooo`0:0?ooo`050000003oool0oooo0?ooool000004P3oool00ol0000000000?ooo`06
+0?ooo`040000003oool0oooo00000600oooo001M0?ooo`040000003ooooo0000o`0000@0oooo00<0
+00000?ooo`3oool02P3oool01@000000oooo0?ooo`3ooooo00000180oooo00?o00000?ooo`3oool0
+2P3oool00`000000oooo0?ooo`0F0?ooo`8000001@3oool01@000000oooo0?ooo`3oool0000005l0
+oooo001L0?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool02@3oool2000000<0oooo
+00?o00000?ooo`3oool04@3oool00ol00000oooo0?ooo`0:0?ooo`030000003oool0oooo01H0oooo
+0_l000000`000000oooo0?ooo`030?ooo`050000003oool0oooo0?ooo`000000GP3oool005/0oooo
+00<00000o`00003oool01@3oool00`000000oooo0?ooo`080?ooo`800000103oool00ol00000oooo
+0?ooo`0B0?ooo`03o`00003oool0oooo00X0oooo00<000000?ooo`3oool00P3oool00ol00000oooo
+0?ooo`0D0?ooo`800000203oool00`000000oooo0?ooo`1K0?ooo`00FP3oool00`000000oooo0?oo
+o`060?ooo`030000003oool0oooo00H0oooo0P00000X0?ooo`030000003oool0oooo00<0oooo00?o
+00000?ooo`3oool05@3oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo05X0oooo001J
+0?ooo`0300000?l00000oooo00D0oooo00<000000?ooo`3oool01P3oool00`000000oooo0?ooo`04
+0?ooo`03o`00003oool0oooo0240oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`0E
+0?ooo`050000003oool0oooo0?ooo`000000103oool00`000000oooo0?ooo`1I0?ooo`00F@3oool2
+000000<0oooo0ol000000`000000oooo0?ooo`050?ooo`8000001P3oool00ol00000oooo0?ooo`0D
+0?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`3oool07@3oool2000000030?ooo`000000
+oooo00@0oooo00<000000?ooo`3oool0F03oool005T0oooo0P0000050?ooo`0300000?l00000oooo
+00@0oooo0P0000070?ooo`03o`00003oool0oooo01D0oooo00?o00000?ooo`3oool02`3oool00`00
+0000oooo0?ooo`0N0?ooo`04o`0000000000oooo000000@0oooo00<000000?ooo`3oool0F03oool0
+05T0oooo0P0000050?ooo`050000003oool0oooo0?ooool000000P00000Q0?ooo`03o`00003oool0
+oooo00/0oooo00<000000?ooo`3oool01@3oool00ol00000oooo0?ooo`0H0?ooo`8000001@3oool0
+0`000000oooo0?ooo`1G0?ooo`00F03oool00`000000oooo000000040?ooo`030000003oool0oooo
+0080oooo00<00000o`00003oool08@3oool00ol00000oooo0?ooo`0;0?ooo`030000003oool0oooo
+00H0oooo00?o00000?ooo`3oool0603oool00ol0000000000?ooo`040?ooo`030000003oool0oooo
+05H0oooo001H0?ooo`030000003oool0000000<0oooo00@000000?ooo`3oool0oooo0P0000020?oo
+o`03o`00003oool0oooo00D0oooo00?o00000?ooo`3oool09P3oool00`000000oooo0?ooo`060?oo
+o`03o`00003oool0oooo01T0oooo0P0000040?ooo`030000003oool0oooo05D0oooo001H0?ooo`03
+00000?l0000000000080oooo00<000000?ooo`3oool00P0000080?ooo`;o000000<0ooooo`00003o
+ool0:03oool00`000000oooo0?ooo`0Q0?ooo`;o00000P0000040?ooo`030000003oool0oooo05@0
+oooo001G0?ooo`040000003oool0oooo00000080oooo0`00000<0?ooo`?o0000603oool00ol00000
+oooo0?ooo`0=0?ooo`030000003oool0oooo01/0oooo1?l000030?ooo`040000003oool0oooo0000
+00@0oooo00<000000?ooo`3oool0D`3oool005L0oooo00D000000?ooo`3oool000000?ooo`020000
+00d0oooo00Go00000?ooo`3oool0ooooo`00000G0?ooo`03o`00003oool0oooo00d0oooo00<00000
+0?ooo`3oool0203oool00ol00000oooo0?ooo`0:0?ooo`Co00002P3oool00`000000oooo0?ooo`02
+000000<0oooo00<000000?ooo`3oool0DP3oool005H0oooo00@000000?ooo`3oool0oooo0`00000>
+0?ooo`03o`00003oool0oooo00/0oooo8P0000070?ooo`03o`00003oool0oooo00@0oooo1?l0000?
+0?ooo`03o`00003oool0oooo0080oooo0P0000030?ooo`030000003oool0oooo0540oooo001F0?oo
+o`040000003oool0ooooo`0001l000003P3oool00ol00000oooo0?ooo`0=0?ooo`040000003oool0
+oooo0?ooo`L0000000<0ooooo`00003oool00_l0000E0?ooo`03o`00003oool0oooo00@0oooo0P00
+00000`3oool000000?ooo`1B0?ooo`00EP3oool01`000000oooo0?ooool0000000000?ooo`000000
+3@3oool00ol00000oooo0?ooo`060?ooo`03o`00003oool0oooo0240oooo00<000000?ooo`3oool0
+203oool700000180oooo00?o00000?ooo`3oool01P3oool2000000030?ooo`000000oooo0540oooo
+001E0?ooo`040000003oool0oooo0?ooo`<0000000<0oooo0000003oool05@3oool00ol00000oooo
+0?ooo`0P0?ooo`030000003oool0oooo00@0oooo0_l000030?ooo`03o`00003oool0oooo00<0oooo
+1`00000;0?ooo`04o`00003oool0oooo000000L0oooo0`00001A0?ooo`00E@3oool010000000oooo
+0?ooo`3oool300000080oooo0P00000G0?ooo`03o`00003oool0oooo00d0oooo00?o00000?ooo`3o
+ool03@3oool00`000000oooo0?ooo`020?ooo`;o00001P3oool00ol00000oooo0?ooo`090?ooo`H0
+0000203oool00`000000oooo0?ooo`050?ooo`@00000D03oool005D0oooo00D000000?ooo`3oool0
+00000?ooo`02000000@0oooo00<000000?ooo`3oool01P3oool00ol00000oooo0?ooo`0<0?ooo`03
+o`00003oool0oooo00`0oooo00?o00000?ooo`3oool03@3oool00`00003o0000o`00000L0?ooo`L0
+00000P3oool00`000000oooo0?ooo`070?ooo`800000C`3oool005@0oooo00@000000?ooo`3oool0
+00000P3oool00`000000oooo000000040?ooo`8000001@3oool00ol00000oooo0?ooo`0>0?ooo`03
+o`00003oool0oooo00X0oooo00?o00000?ooo`3oool03P3oool00`000000oooo0?ooo`0P0?ooo`03
+o`00003oool0oooo00L000001P3oool2000004h0oooo001D0?ooo`090000003oool0oooo0000003o
+oooo00000000003oool0000000H0oooo00D000000?ooo`3oool0ooooo`00000N0?ooo`03o`00003o
+ool0oooo00h0oooo00<000000?ooo`3oool02`3oool00ol00000oooo0?ooo`0B0?ooo`03o`00003o
+ool0oooo00L0oooo1`0000000`3oool000000?ooo`1<0?ooo`00D`3oool010000000oooo0?ooo`00
+00020?ooo`04o`0000000000oooo000000L0oooo00<000000?ooo`3oool05@3oool2o`0001@0oooo
+0_l000030?ooo`030000003oool0oooo00/0oooo00?o00000?ooo`3oool04P3oool00ol00000oooo
+0?ooo`030?ooo`030000003oool0oooo00P0oooo0`00001<0?ooo`00D`3oool010000000oooo0?oo
+o`0000020?ooo`050000003oool0oooo0?ooo`0000001`3oool2000001L0oooo00?o00000?ooo`3o
+ool0403oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo00`0oooo00?o00000?ooo`3o
+ool04@3oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo00P0oooo00<000000?ooo`00
+0000C03oool005<0oooo00<000000?ooo`0000000`3oool01@000000oooo0?ooo`3oool0000000P0
+oooo00?o00000000003oool07@3oool00ol00000oooo0?ooo`040?ooo`;o0000203oool00`000000
+oooo0?ooo`0<0?ooo`03o`00003oool0oooo01P0oooo00<000000?ooo`3oool01@3oool200000003
+0?ooo`000000000004`0oooo001B0?ooo`040000003oool0oooo000000<0oooo00D000000?ooo`3o
+ool0oooo000000080?ooo`03o`00003oool0000001P0oooo0ol000020?ooo`03o`00003oool0oooo
+0080oooo0_l0000:0?ooo`030000003oool0oooo02L0oooo00<000000?ooo`3oool0103oool01@00
+0000oooo0?ooo`3oool0000004d0oooo001B0?ooo`030000003oool0000000@0oooo00<000000?oo
+o`3oool00P3oool00`000000oooo0?ooo`040?ooo`04o`00003oool0oooo0?ooo`8000006@3oool2
+o`0000030?ooool0003o000000d0oooo00<000000?ooo`3oool0803oool00ol00000oooo0?ooo`0:
+0?ooo`8000000`3oool2000004d0oooo001B0?ooo`8000001@3oool00`000000oooo0?ooo`020?oo
+o`030000003oool0oooo00@0oooo00?o00000?ooo`3oool00`3oool00`000000oooo0?ooo`0G0?oo
+o`;o00003`3oool00`000000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00l0oooo00?o00000?oo
+o`3oool0203oool2000000D0oooo0P00001=0?ooo`00D@3oool00`000000oooo000000050?ooo`03
+0000003oool0oooo0080oooo00<000000?ooo`3oool02`3oool2000001D0oooo0ol000000`3ooooo
+00000?ooo`0=0?ooo`030000003oool0oooo00h0oooo00?o00000?ooo`3oool03P3oool00ol00000
+oooo0?ooo`070?ooo`8000001P3oool00`000000oooo0000001=0?ooo`00D@3oool2000000D0oooo
+00?o00000000003oool0103oool00`000000oooo0?ooo`0<0?ooo`030000003oool0oooo0100oooo
+0_l000020?ooo`04o`00003oool0ooooo`0000d0oooo00<000000?ooo`3oool03`3oool00ol00000
+oooo0?ooo`0=0?ooo`03o`00003oool0oooo00H0oooo0P0000070?ooo`<00000C@3oool00500oooo
+00<000000?ooo`0000001@3oool00ol0000000000?ooo`040?ooo`050000003oool0oooo0?ooool0
+00002`3oool00`000000oooo0?ooo`0T0?ooo`030000003oool0oooo00l0oooo00?o00000?ooo`3o
+ool05@3oool010000000oooo0?ooo`0000050?ooo`040000003oool00000000004d0oooo001@0?oo
+o`8000001`3oool00`000000oooo0?ooo`040?ooo`040000003oool0ooooo`0000`0oooo0P00000<
+0?ooo`;o00002P3oool3o`0000T0oooo00<000000?ooo`3oool09@3oool2000000<0oooo00<00000
+0?ooo`3oool00`3oool00`000000oooo0000001>0?ooo`00D03oool2000000L0oooo00<000000?oo
+o`3oool0103oool00`000000ooooo`00000?0?ooo`030000003oool0oooo00P0oooo00?o00000?oo
+o`3oool01@3oool00ol00000oooo0?ooo`050?ooo`03o`00003oool0oooo00H0oooo00<000000?oo
+o`3oool07`3oool00ol00000oooo0?ooo`020?ooo`030000003oool0oooo00P0oooo00@000000?oo
+o`3oool00000CP3oool004l0oooo0P0000070?ooo`03o`0000000000oooo00D0oooo00<000000?oo
+o`3oool0403oool00`000000oooo0?ooo`060?ooo`03o`00003oool0oooo00H0oooo00?o00000?oo
+o`3oool03P3oool00`000000oooo0?ooo`0@0?ooo`03o`00003oool0oooo00`0oooo00?o00000?oo
+o`3oool00P00000;0?ooo`040000003oool0oooo000004h0oooo001?0?ooo`030000003oool0oooo
+00H0oooo00?o00000000003oool01P3oool00`000000oooo0?ooo`0@0?ooo`8000000`3oool00ol0
+0000oooo0?ooo`090?ooo`03o`00003oool0oooo00L0oooo0_l000050?ooo`030000003oool0oooo
+0100oooo00?o00000?ooo`3oool02`3oool01?l00000oooo0?ooo`0000090?ooo`040000003oool0
+oooo00000080oooo00<000000?ooo`3oool0C@3oool004l0oooo00<000000?ooo`3oool01P3oool0
+0ol0000000000?ooo`050?ooo`03o`0000000000oooo01<0oooo00<000000?ooool00000303oool0
+0ol00000oooo0?ooo`090?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool04@3oool0
+0ol00000oooo0?ooo`0:0?ooo`03o`0000000000000000X0oooo00@000000?ooo`3oool000000P3o
+ool00`000000oooo0?ooo`1=0?ooo`00CP3oool00`000000oooo0?ooo`070?ooo`03o`0000000000
+oooo00D0oooo00?o00000000003oool0503oool2000001T0oooo00Go00000?ooo`3oool0oooo0000
+000C0?ooo`03o`00003oool0oooo00T0oooo0P00000=0?ooo`8000000`3oool00`000000oooo0?oo
+o`1=0?ooo`00CP3oool00`000000oooo0?ooo`080?ooo`030000003oool0oooo00<0oooo00Co0000
+0?ooo`3oool00000403oool2o`0000@0oooo00<000000?ooo`3oool06P3oool00`000000oooo0?oo
+o`0L0?ooo`030000003oool0oooo00d0oooo0P0000020?ooo`800000C`3oool004h0oooo00<00000
+0?ooo`3oool01`3oool00`000000oooo0?ooo`040?ooo`04o`00003oool0oooo000000l0oooo00?o
+00000?ooo`3oool01@3oool00`000000oooo0?ooo`080?ooo`03o`00003oool0oooo00`0oooo0_l0
+00000`000000oooo0?ooo`0J0?ooo`80000000<0ooooo`00003oool03@3oool01@000000oooo0?oo
+o`3oool000000500oooo001?0?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool01`3o
+ool00`000000oooo0?ooo`0<0?ooo`03o`00003oool0oooo00L0oooo0P0000080?ooo`03o`00003o
+ool0oooo00h0oooo00<000000?ooo`3oool04P3oool00ol00000oooo0?ooo`040?ooo`050000003o
+ool0oooo0?ooool000003P3oool01@000000oooo0?ooo`3oool000000500oooo001?0?ooo`030000
+003oool0oooo00H0oooo00<000000?ooo`3oool0203oool00`000000oooo0?ooo`0G0?ooo`030000
+003oool0oooo00D0oooo00?o00000?ooo`3oool03P3oool00`00003o00000?ooo`0B0?ooo`03o`00
+003oool0oooo0080oooo0P0000040?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`000000
+0P3oool00`000000oooo0?ooo`1>0?ooo`00C`3oool00`00003o00000?ooo`060?ooo`030000003o
+ool0oooo00<0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`080?ooo`;o00003P3o
+ool00`000000oooo0?ooo`040?ooo`03o`00003oool0oooo00h0oooo00<000000?ooo`3oool04`3o
+ool01?l00000oooo0?ooo`0000060?ooo`03o`00003oool0oooo00/0oooo00@000000?ooo`000000
+oooo0P00001@0?ooo`00C`3oool00`00003o00000?ooo`060?ooo`030000003oool0oooo0080oooo
+00?o00000?ooo`3oool00`3oool00`000000oooo0?ooo`060?ooo`;o00004@3oool2000001D0oooo
+00<000000?ooo`3oool00ol0000@0?ooo`03o`0000000000000001@0oooo00@000000?ooo`3oool0
+oooo0P00001A0?ooo`00C`3oool00`000000ooooo`0000060?ooo`050000003oool0oooo0?ooool0
+00001`3oool00`000000oooo0?ooo`0J0?ooo`030000003oool0oooo0180oooo00<000000?ooo`3o
+ool00`3oool00ol00000oooo0?ooo`0=0?ooo`030000003oool0oooo01@0oooo00@000000?ooo`3o
+ool0oooo0P00001A0?ooo`00D03oool00`00003o00000?ooo`050?ooo`030000003oool0oooo00T0
+oooo00@000000?ooo`3oool0oooo0_l0000H0?ooo`030000003oool0oooo0140oooo00<000000?oo
+o`3oool04@3oool2000000T0oooo00?o00000?ooo`3oool02P3oool00`000000oooo0?ooo`020?oo
+o`800000D@3oool00500oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`0:0?ooo`03
+0000003ooooo000001/0oooo0P0000000ol00000oooo0?ooo`0>0?ooo`030000003oool0oooo00D0
+oooo0_l000080?ooo`8000000`3oool00ol00000oooo0?ooo`050?ooo`03o`00003oool0oooo00X0
+oooo00D000000?ooo`3oool0ooooo`00000200000540oooo001@0?ooo`030000003oool0oooo00@0
+oooo00?o00000000003oool02`3oool00`000000oooo0?ooo`0M0?ooo`030000003oool0oooo00h0
+oooo00<000000?ooo`3oool01`3oool00ol00000oooo0?ooo`040?ooo`030000003oool0oooo00<0
+oooo00?o00000?ooo`3oool0103oool00ol00000oooo0?ooo`0:0?ooo`030000003oool0oooo00<0
+oooo00<000000?ooo`3oool0D03oool00500oooo00@000000?ooo`3ooooo00000`3oool01Ol00000
+00000?ooo`3ooooo000000L0oooo0_l000000`000000oooo0?ooo`0L0?ooo`04o`00003oool00000
+000000h0oooo00<000000?ooo`3oool0203oool01?l00000oooo0?ooo`3oool2000000L0oooo00?o
+00000?ooo`3oool00`3oool00ol00000oooo0?ooo`0:0?ooo`0300000?l0003o000000<0oooo00<0
+00000?ooo`3oool0D03oool00500oooo00@000000?ooo`3ooooo00000`3oool01Ol0000000000?oo
+o`3ooooo000000H0oooo00Go00000?ooo`3oool0oooo0000000Q0?ooo`030000003oool0oooo00X0
+oooo00<000000?ooo`3oool0303oool00`000000oooo0?ooo`070?ooo`03o`00003oool0oooo00l0
+oooo00<00000o`00003oool0103oool00`000000oooo0?ooo`1@0?ooo`00D@3oool010000000oooo
+0?ooool000030?ooo`030000003ooooo000000/0oooo00<000000?ooo`3oool0803oool00`000000
+oooo0?ooo`090?ooo`030000003oool0oooo00X0oooo0P000002o`0001X0oooo00<000000?ooo`3o
+ool0103oool00`000000oooo0?ooo`1@0?ooo`00D@3oool00`000000oooo0?ooo`040?ooo`030000
+003oool0oooo00<0oooo0_l000060?ooo`030000003oool0oooo0240oooo0P0000090?ooo`030000
+003oool0oooo00T0oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?ooo`0;0?ooo`03o`00
+003oool0oooo00L0oooo00?o00000000003oool01@3oool00`000000oooo0?ooo`1A0?ooo`00D@3o
+ool00`000000oooo0?ooo`040?ooo`040000003oool0oooo0?ooo`;o00002@3oool00`000000oooo
+0?ooo`0J0?ooo`03o`00003oool0oooo00D0oooo00<000000?ooo`3oool01P3oool00`000000oooo
+0?ooo`070?ooo`8000003P3oool00ol00000oooo0?ooo`020?ooo`03o`00003oool0oooo00H0oooo
+00?o00000?ooo`0000001P3oool00`000000oooo0?ooo`1A0?ooo`00D@3oool00`000000oooo0?oo
+o`020?ooo`03o`000000003o000000h0oooo00<000000?ooo`3oool06P3oool00ol00000oooo0?oo
+o`060?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool01P3oool00`000000oooo0?oo
+o`070?ooo`;o00001@3oool01Ol00000oooo0?ooo`3ooooo000000P0oooo00?o00000?ooo`000000
+1P3oool2000005<0oooo001B0?ooo`060000003oool0oooo0?ooool0000000000_l0000=0?ooo`03
+0000003oool0oooo01X0oooo00?o00000?ooo`3oool01`3oool2000000D0oooo00<000000?ooo`3o
+ool0103oool2000000`0oooo00?o00000?ooo`3oool00`3oool01?l00000oooo0?ooool0000:0?oo
+o`030000003oool0oooo00@0oooo0P00001C0?ooo`00DP3oool00`000000oooo0?ooo`020?ooo`03
+00000?l00000oooo00h0oooo00<000000?ooo`3oool06@3oool00ol00000oooo0?ooo`090?ooo`03
+0000003oool0oooo0080oooo00<000000?ooo`3oool00P3oool2000000l0oooo00?o00000?ooo`3o
+ool02`3oool01Ol00000oooo0?ooo`3oool0000000P0oooo00<000000?ooo`3oool0D@3oool00580
+oooo00<000000?ooo`3oool00P3oool01000003o0000o`000?l000020?ooo`?o0000203oool00`00
+0000oooo0?ooo`0V0?ooo`8000000P3oool01@000000oooo0?ooo`3oool0000001h0oooo00?o0000
+0?ooo`3oool00P3oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo0580oooo001B0?oo
+o`030000003oool0oooo0080oooo00<000000?ooo`3oool01P3oool00ol00000oooo0?ooo`04o`00
+00030?ooo`000000oooo02T0oooo00@000000?ooo`000000oooo0P00000D0?ooo`;o00000`3oool0
+0ol00000oooo0?ooo`020?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool01P3oool0
+0`000000oooo0?ooo`1B0?ooo`00DP3oool00`000000oooo0?ooo`020?ooo`0500000?l00000oooo
+0?ooool000003@3oool01000003o0000o`000?l000020?ooo`?o00004P3oool00ol00000oooo0?oo
+o`0=0?ooo`<00000603oool01_l00000ooooo`000?l00000ooooo`0000L0oooo00<000000?ooo`3o
+ool01P3oool00`000000oooo0?ooo`1B0?ooo`00D`3oool01@000000oooo0?ooo`3oool0000000@0
+oooo00?o00000?ooo`3oool02P3oool00`000000oooo0?ooo`060?ooo`04o`00003oool0oooo0?oo
+o`?o00002`3oool00ol00000oooo0?ooo`0=0?ooo`<000006@3oool4o`0000L0oooo00<000000?oo
+o`3oool01P3oool2000005@0oooo001C0?ooo`050000003oool0oooo0?ooo`0000000P3oool01?l0
+0000oooo0?ooool0000<0?ooo`030000003oool0oooo00l0oooo1?l000040?ooo`03o`00003oool0
+oooo00X0oooo0`0000000`3oool000000?ooo`0200000004o`00003oool0oooo0?ooo`?o00000`3o
+ool4o`000080oooo1?l000020?ooo`Co0000203oool00`000000oooo0?ooo`060?ooo`030000003o
+ool0oooo05<0oooo001C0?ooo`050000003oool0oooo0?ooo`0000000P3oool00ol00000oooo0?oo
+o`0=0?ooo`030000003oool0oooo01D0oooo1_l000020?ooo`Co00000`000003o`0000050?ooo`00
+003o0000o`00003oool00P00000E0?ooo`;o000000<0ooooo`00003oool01@3oool00`000000oooo
+0?ooo`070?ooo`030000003oool0oooo05<0oooo001C0?ooo`050000003oool0oooo0?ooo`000000
+0`3oool00ol00000oooo0?ooo`020?ooo`03o`00003oool0oooo00L0oooo00<000000?ooo`3oool0
+5`3oool00ol00000oooo0?ooo`040?ooo`<000001`3oool00`000000oooo0?ooo`030?ooo`800000
+4@3oool2o`0000040?ooool00000ooooo`0000H0oooo00<000000?ooo`3oool01`3oool00`000000
+oooo0?ooo`1C0?ooo`00E03oool010000000oooo0?ooo`0000030?ooo`03o`00003oool0oooo00<0
+oooo00?o00000?ooo`3oool01`3oool00`000000oooo0?ooo`0F0?ooo`04o`00003oool0oooo0?oo
+o`<000002@3oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo0100oooo00Go00000?oo
+o`3oool0ooooo`0000040?ooo`030000003oool0oooo00L0oooo0P00001E0?ooo`00E03oool01000
+0000oooo0?ooo`00000:0?ooo`03o`00003oool0oooo00H0oooo00<000000?ooo`3oool05P3oool0
+1?l00000000000000000000<0?ooo`030000003oool0oooo00L0oooo0P00000;0?ooo`03o`00003o
+ool0oooo0080oooo00?o00000?ooo`3oool01P3oool00`000000oooo0?ooo`070?ooo`030000003o
+ool0oooo05@0oooo001D0?ooo`040000003oool0oooo000001<0oooo00<000000?ooo`3oool0503o
+ool3000000l0oooo00<000000?ooo`3oool02@3oool2000000P0oooo00?o00000?ooo`3oool02`3o
+ool00`000000oooo0?ooo`070?ooo`800000EP3oool005@0oooo00@000000?ooo`3oool00000103o
+ool00ol00000oooo0?ooo`060?ooo`;o00001@3oool00`000000oooo0?ooo`0@0?ooo`<000004P3o
+ool00`000000oooo0?ooo`0;0?ooo`8000001@3oool00ol00000oooo0?ooo`0:0?ooo`03o`00003o
+ool0000000T0oooo0P00001F0?ooo`00E03oool010000000oooo0?ooo`0000050?ooo`03o`00003o
+ool0oooo00L0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`0=0?ooo`<000005@3o
+ool00`000000oooo0?ooo`0=0?ooo`8000002@3oool00ol00000oooo0?ooo`050?ooo`030000003o
+ool0oooo00T0oooo00<000000?ooo`3oool0E03oool005D0oooo0P0000070?ooo`03o`00003oool0
+oooo00/0oooo00<000000?ooo`3oool02P3oool3000000P0oooo00?o00000?ooo`3oool03@3oool0
+0`000000oooo0?ooo`0>0?ooo`03o`0000000000000000L0oooo00?o00000?ooo`3oool01@3oool0
+0`00003o00000?ooo`080?ooo`030000003oool0oooo05D0oooo001E0?ooo`8000004`3oool01?l0
+0000oooo0?ooo`0000080?ooo`<000002`3oool00ol00000oooo0?ooo`0<0?ooo`030000003oool0
+oooo00h0oooo00Co00000?ooo`3oool0oooo0P0000040?ooo`03o`00003oool0oooo00D0oooo00<0
+00000?ooo`3oool02@3oool00`000000oooo0?ooo`1E0?ooo`00E@3oool2000001@0oooo00?o0000
+0?ooo`0000001@3oool3000000h0oooo00?o00000?ooo`3oool0303oool00`000000oooo0?ooo`0D
+0?ooo`8000002P3oool00`000000oooo0?ooo`090?ooo`030000003oool0oooo05D0oooo001E0?oo
+o`800000203oool00ol00000oooo0?ooo`0:0?ooo`04o`0000000000oooo0?ooo`<000004@3oool0
+0ol00000oooo0?ooo`0<0?ooo`030000003oool0oooo00/0oooo00?o00000?ooo`3oool0203oool0
+0`000000oooo0?ooo`060?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool01@3oool0
+0`000000oooo0?ooo`1E0?ooo`00E@3oool2000000P0oooo00?o00000?ooo`3oool01P3oool80000
+02<0oooo00<000000?ooo`3oool02P3oool00ol00000oooo0?ooo`0:0?ooo`8000001P3oool00`00
+0000oooo0?ooo`030?ooo`03o`00003oool0oooo00<0oooo0P00001G0?ooo`00EP3oool00`000000
+oooo0?ooo`030?ooo``000001P3oool00`00003o00000?ooo`0R0?ooo`030000003oool0oooo00T0
+oooo00?o00000?ooo`3oool02`3oool01?l00000oooo0000000000030?ooo`030000003oool0oooo
+00D0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`1F0?ooo`00EP3oool6000000D0
+oooo00?o00000?ooo`3oool02`3oool00`00003o00000?ooo`0B0?ooo`03o`00003oool0oooo00`0
+oooo00<000000?ooo`3oool01P3oool00ol00000oooo0?ooo`0>0?ooo`04o`00003oool0oooo0?oo
+o`80000000<0oooo0000003oool02`3oool00`000000oooo0?ooo`1F0?ooo`00F03oool00`000000
+oooo0?ooo`0E0?ooo`0300000?l00000oooo0140oooo00?o00000?ooo`3oool02`3oool00`000000
+oooo0?ooo`060?ooo`03o`00003oool0oooo00h0oooo00?o00000?ooo`3oool0103oool3000000/0
+oooo00<000000?ooo`3oool0EP3oool005T0oooo00<000000?ooo`3oool05@3oool00`000000oooo
+0?ooo`0@0?ooo`03o`00003oool0oooo00/0oooo00<000000?ooo`3oool01@3oool00ol00000oooo
+0?ooo`0E0?ooo`040000003oool0oooo0?ooo`D000000`3oool01?l00000oooo00000000001H0?oo
+o`00FP3oool2000000H0oooo00?o00000?ooo`3oool0303oool00`000000oooo0?ooo`02o`0000h0
+oooo00?o00000?ooo`3oool02`3oool00`000000oooo0?ooo`0L0?ooo`030000003oool0oooo00L0
+oooo100000000ol0000000000?ooo`1H0?ooo`00F`3oool2000000H0oooo00?o00000?ooo`3oool0
+303oool01@000000oooo0?ooo`3ooooo000001/0oooo00@000000?ooo`3oool0oooo0_l0000B0?oo
+o`03o`00003oool0oooo00<0oooo00<000000?ooo`3oool0303oool2000005T0oooo001M0?ooo`03
+0000003oool0oooo00@0oooo00?o00000?ooo`3oool0303oool00`000000oooo0?ooo`0L0?ooo`04
+0000003ooooo0000o`0001@0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`0<0?oo
+o`030000003oool0oooo05T0oooo001N0?ooo`8000004`3oool00`000000oooo0?ooo`030?ooo`03
+o`00003oool0oooo01H0oooo00<000000?ooo`3oool0503oool00ol00000oooo0?ooo`020?ooo`03
+0000003oool0oooo00/0oooo0P00001L0?ooo`00G`3oool2000001<0oooo00<000000?ooo`3oool0
+0`3oool00ol00000oooo0?ooo`080?ooo`03o`00003oool0oooo00T0oooo00<00000o`00003oool0
+5@3oool01Ol00000oooo0?ooo`3oool0000000/0oooo0`00001N0?ooo`00H03oool2000000<0oooo
+00?o00000?ooo`3oool03@3oool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo00L0oooo
+00?o00000?ooo`3oool0203oool00ol0000000000?ooo`0I0?ooo`030000003oool0oooo00T0oooo
+0`00001O0?ooo`00HP3oool2000000030?ooool00000oooo00l0oooo00<000000?ooo`3oool0303o
+ool00ol00000oooo0?ooo`070?ooo`03o`00003oool0000001T0oooo00<000000?ooo`3oool02P3o
+ool00`000000oooo0?ooo`1O0?ooo`00H`3oool2000000030?ooool00000oooo00h0oooo00<00000
+0?ooo`3oool01@3oool00ol00000oooo0?ooo`0@0?ooo`030000003oool0oooo01@0oooo00?o0000
+0?ooo`0000002@3oool2000000030?ooo`000000oooo0640oooo001T0?ooo`<0000000?o00000?oo
+o`3oool03@3oool00`000000oooo0?ooo`050?ooo`03o`00003oool0oooo00T0oooo0_l000040?oo
+o`030000003oool0oooo01@0oooo00?o00000000003oool01`3oool2000000030?ooo`0000000000
+06<0oooo001U0?ooo`<00000403oool00`000000oooo0?ooo`050?ooo`03o`00003oool0oooo00L0
+oooo00?o00000?ooo`3oool0103oool00`000000oooo0?ooo`0C0?ooo`03o`0000000000oooo00X0
+oooo00<000000?ooo`3oool0H`3oool006L0oooo0P00000?0?ooo`030000003oool0oooo00X0oooo
+00?o00000?ooo`3oool0203oool00`000000oooo0?ooo`0D0?ooo`030000003oool0oooo00@0oooo
+0P0000020?ooo`800000IP3oool006P0oooo0`00000>0?ooo`030000003oool0oooo00L0oooo1Ol0
+00080?ooo`030000003oool0oooo01<0oooo00<000000?ooo`3oool0103oool01@000000oooo0?oo
+o`3oool0000006P0oooo001Y0?ooo`030000003oool0000000h0oooo00<000000?ooo`3oool01`3o
+ool2o`0000X0oooo00<000000?ooo`3oool04P3oool00`000000oooo0?ooo`070?ooo`800000J@3o
+ool006X0oooo0`0000030?ooo`?o00000`3oool4o`0000030?ooo`00003o000000?o00000P3oool2
+o`0000030?ooool0003o00000080oooo1?l000030?ooo`0300000?l00000oooo0140oooo00<00000
+0?ooool000000P3oool2000000<0oooo00<000000?ooo`3oool0J@3oool006`0oooo0`00000<0?oo
+o`030000003oool0oooo0180oooo00<000000?ooool000000`3oool4o`0000T0oooo00@000000?oo
+o`3ooooo00000P0000030?ooo`800000K03oool006d0oooo0`00000<0?ooo`030000003oool0oooo
+0140oooo00<000000?ooo`3oool02@3oool4o`000080oooo00@00000o`000?l0000000001@3oool0
+0`000000oooo0?ooo`1/0?ooo`00K`3oool2000000`0oooo00<000000?ooo`3oool01P3oool00ol0
+0000oooo0?ooo`070?ooo`030000003oool0oooo00h0oooo00D000000?ooo`3oool0oooo00000004
+0?ooo`030000003oool0oooo06d0oooo001`0?ooo`<000002P3oool00`000000oooo0?ooo`060?oo
+o`03o`00003oool0oooo00H0oooo00<000000?ooo`3oool03P3oool01@000000oooo0?ooo`3oool0
+000000<0oooo0P00001`0?ooo`00L@3oool3000000X0oooo00<000000?ooo`3oool01P3oool00ol0
+0000oooo0?ooo`050?ooo`030000003oool0oooo00d0oooo00<000000?ooo`3oool01@3oool00`00
+0000oooo0?ooo`1`0?ooo`00L`3oool2000000X0oooo00<000000?ooo`3oool01@3oool00ol00000
+oooo0?ooo`050?ooo`030000003oool0oooo00`0oooo00@000000?ooo`3oool000000`3oool20000
+07<0oooo001d0?ooo`<000002@3oool00`000000oooo0?ooo`0<0?ooo`030000003oool0oooo00/0
+oooo00@000000?ooo`3oool000000`3oool00`000000oooo0?ooo`1c0?ooo`00MP3oool2000000P0
+oooo00<000000?ooo`3oool0303oool00`000000oooo0?ooo`0:0?ooo`040000003oool0oooo0000
+0080oooo0P00001f0?ooo`00M`3oool2000000P0oooo00<000000?ooo`3oool0103oool00ol00000
+oooo0?ooo`040?ooo`030000003oool0oooo00T0oooo00<000000?ooo`3oool00`3oool00`000000
+oooo0?ooo`1f0?ooo`00N03oool3000000L0oooo00<000000?ooo`3oool00`3oool00ol00000oooo
+0?ooo`030?ooo`030000003oool0oooo00T0oooo00<000000?ooo`0000000P3oool2000007T0oooo
+001j0?ooo`8000001P3oool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo00<0oooo00<0
+00000?ooo`3oool0203oool00`000000oooo000000020?ooo`030000003oool0oooo07T0oooo001k
+0?ooo`8000001P3oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo00<0oooo00<00000
+0?ooo`3oool01`3oool00`000000oooo000000020?ooo`030000003oool0oooo07X0oooo001m0?oo
+o`8000001@3oool00`000000oooo0?ooo`070?ooo`030000003oool0oooo00H0oooo00@000000?oo
+o`3oool0oooo0P00001m0?ooo`00OP3oool2000000D0oooo00<000000?ooo`3oool01P3oool00`00
+0000oooo0?ooo`050?ooo`<0000000<0oooo0000003oool0OP3oool00800oooo0P0000030?ooo`05
+0000003oool0oooo0?ooool00000103oool00`000000oooo0?ooo`040?ooo`80000000<0oooo0000
+00000000P03oool00840oooo0P0000030?ooo`040000003oool0ooooo`0000<0oooo00<000000?oo
+o`3oool0103oool2000000030?ooo`000000oooo0840oooo00220?ooo`8000000`3oool010000000
+oooo0?ooool000020?ooo`030000003oool0oooo00<0oooo00@000000?ooo`0000000000P`3oool0
+08@0oooo0P0000001@3oool000000?ooo`3ooooo00000080oooo00<000000?ooo`3oool00P3oool3
+000008D0oooo00250?ooo`80000000<0oooo0000003oool00`3oool010000000oooo0?ooo`3oool3
+000008H0oooo00270?ooo`030000003oool0000000<0oooo00<000000?ooo`3oool00P0000280?oo
+o`00R03oool300000004o`00003oool000000?ooo`800000R@3oool008T0oooo0P0000000ol00000
+00000?ooo`02000008X0oooo002;0?ooo`<00000S03oool008`0oooo00<000000?ooo`3oool0R`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00001\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.50377 .45486 m
+.66737 .55927 L
+s
+.50377 .45486 m
+.5 .27523 L
+s
+.50377 .45486 m
+.60098 .40621 L
+s
+.50456 .57112 m
+.50377 .45486 L
+s
+.40401 .40824 m
+.50377 .45486 L
+s
+.34123 .56184 m
+.50377 .45486 L
+s
+.50456 .57112 m
+.66737 .55927 L
+s
+.34123 .56184 m
+.50456 .57112 L
+s
+.504 .67296 m
+.50456 .57112 L
+s
+.34123 .56184 m
+.32366 .38575 L
+s
+.34123 .56184 m
+.40401 .40824 L
+s
+.34123 .56184 m
+.28124 .50193 L
+s
+.39633 .67987 m
+.34123 .56184 L
+s
+.3111 .62572 m
+.34123 .56184 L
+s
+.504 .67296 m
+.34123 .56184 L
+s
+.66737 .55927 m
+.72028 .49805 L
+s
+.66737 .55927 m
+.67733 .38198 L
+s
+.60098 .40621 m
+.66737 .55927 L
+s
+.504 .67296 m
+.66737 .55927 L
+s
+.6091 .67859 m
+.66737 .55927 L
+s
+.69003 .62312 m
+.66737 .55927 L
+s
+.40401 .40824 m
+.5 .27523 L
+s
+.40401 .40824 m
+.32366 .38575 L
+s
+.60098 .40621 m
+.67733 .38198 L
+s
+.60098 .40621 m
+.5 .27523 L
+s
+.504 .67296 m
+.39633 .67987 L
+s
+.6091 .67859 m
+.504 .67296 L
+s
+.5 .75807 m
+.504 .67296 L
+s
+.5 .27523 m
+.67733 .38198 L
+s
+.32366 .38575 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .27523 m
+.61086 .30766 L
+s
+.5 .27523 m
+.49523 .29392 L
+s
+.38415 .31036 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.32366 .38575 m
+.28742 .42472 L
+s
+.32366 .38575 m
+.38415 .31036 L
+s
+.28124 .50193 m
+.32366 .38575 L
+s
+.3111 .62572 m
+.39633 .67987 L
+s
+.5 .75807 m
+.39633 .67987 L
+s
+.67733 .38198 m
+.72028 .49805 L
+s
+.0035 w
+[ ] 0 setdash
+.67733 .38198 m
+.70404 .42053 L
+s
+.61086 .30766 m
+.67733 .38198 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.5 .75807 m
+.6091 .67859 L
+s
+.69003 .62312 m
+.6091 .67859 L
+s
+.0035 w
+[ ] 0 setdash
+.28124 .50193 m
+.28742 .42472 L
+s
+.3111 .62572 m
+.28124 .50193 L
+s
+.72028 .49805 m
+.70404 .42053 L
+s
+.69003 .62312 m
+.72028 .49805 L
+s
+.38415 .31036 m
+.49523 .29392 L
+s
+.38415 .31036 m
+.28742 .42472 L
+s
+.3111 .62572 m
+.28742 .42472 L
+s
+.37335 .61763 m
+.3111 .62572 L
+s
+.5 .75807 m
+.3111 .62572 L
+s
+.61086 .30766 m
+.70404 .42053 L
+s
+.49523 .29392 m
+.61086 .30766 L
+s
+.69003 .62312 m
+.70404 .42053 L
+s
+.69003 .62312 m
+.5 .75807 L
+s
+.69003 .62312 m
+.62124 .6159 L
+s
+.5 .75807 m
+.37335 .61763 L
+s
+.49484 .56187 m
+.5 .75807 L
+s
+.62124 .6159 m
+.5 .75807 L
+s
+.49523 .29392 m
+.70404 .42053 L
+s
+.49388 .40451 m
+.49523 .29392 L
+s
+.28742 .42472 m
+.49523 .29392 L
+s
+.37335 .61763 m
+.28742 .42472 L
+s
+.49484 .56187 m
+.37335 .61763 L
+s
+.62124 .6159 m
+.70404 .42053 L
+s
+.62124 .6159 m
+.49484 .56187 L
+s
+.28742 .42472 m
+.49388 .40451 L
+s
+.49484 .56187 m
+.28742 .42472 L
+s
+.49388 .40451 m
+.70404 .42053 L
+s
+.49484 .56187 m
+.70404 .42053 L
+s
+.49484 .56187 m
+.49388 .40451 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00RP3oool5000008/0oooo00270?ooo`<000000_l0
+00000`00003o0000o`000003000008P0oooo00240?ooo`<000000`3oool01Ol00000oooo0000003o
+oooo000000<0oooo100000240?ooo`00P03oool400000080oooo0_l000030?ooo`030000003oool0
+oooo00<0oooo0_l000030?ooo`<00000P@3oool007d0oooo0`0000050?ooo`03o`00003oool0oooo
+00<0oooo00<00000o`00003oool01@3oool00ol00000oooo0?ooo`030?ooo`@00000O@3oool007X0
+oooo0`0000070?ooo`04o`00003oool0oooo0?ooo`P0000000Go00000?ooo`3oool0ooooo`000008
+0?ooo`<00000NP3oool007L0oooo0`0000070?ooo`L0000000Ko00000000003oool00000o`000000
+00020?ooo`P00000203oool3000007L0oooo001c0?ooo`@00000103oool6000000H0oooo0P000002
+0?ooo`0300000?l00000oooo008000000P3oool00ol00000oooo0?ooo`030?ooo`P000000`3oool4
+000007<0oooo001`0?ooo`<000000P3oool6000000@0oooo00?o00000?ooo`3oool00`3oool20000
+00@0oooo00<000000?ooo`3oool00P3oool2000000L0oooo00?o00000?ooo`3oool0103oool:0000
+0700oooo001]0?ooo`P000003`3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo00@0
+oooo00<000000?ooo`3oool01`3oool00ol00000oooo0?ooo`090?ooo`@00000KP3oool006/0oooo
+0`00000=0?ooo`;o00001@3oool2000000030?ooool00000oooo00@0oooo00<00000o`00003oool0
+1@3oool2000000P0oooo00?o00000?ooo`3oool02`3oool00`000000oooo0?ooo`1/0?ooo`00J`3o
+ool00`000000oooo0?ooo`0<0?ooo`03o`00003oool0oooo00@0oooo00@000000?ooo`3ooooo0000
+1P3oool00`00003o00000?ooo`070?ooo`030000003oool0oooo00H0oooo00?o00000?ooo`3oool0
+2`3oool00`000000oooo0?ooo`1[0?ooo`00JP3oool00`000000oooo0?ooo`0B0?ooo`8000000P3o
+ool00ol00000oooo0?ooo`050?ooo`0300000?l00000oooo00P0oooo0P00000E0?ooo`030000003o
+ool0oooo06X0oooo001Y0?ooo`030000003oool0oooo00/0oooo00?o00000?ooo`3oool00`3oool2
+000000`0oooo00<00000o`00003oool02P3oool2000000L0oooo0ol0000:0?ooo`030000003oool0
+oooo06T0oooo001X0?ooo`030000003oool0oooo00/0oooo00?o00000?ooo`3oool00`3oool00`00
+0000oooo0?ooo`0<0?ooo`030000003oool0oooo00`0oooo00<000000?ooo`3oool01`3oool00ol0
+0000oooo0?ooo`080?ooo`030000003oool0oooo06P0oooo001W0?ooo`030000003oool0oooo00/0
+oooo00?o00000?ooo`3oool00P3oool2000000D0oooo00?o00000?ooo`3oool01`3oool00`000000
+oooo0?ooo`0:0?ooo`03o`00003oool0oooo008000004P3oool2000006T0oooo001V0?ooo`030000
+003oool0oooo00P0oooo0_l000060?ooo`030000003oool0oooo00@0oooo00?o00000?ooo`3oool0
+203oool00`000000oooo0?ooo`0:0?ooo`03o`00003oool0oooo0080oooo0P0000070?ooo`?o0000
+1`3oool2000006P0oooo001V0?ooo`030000003oool0oooo00L0oooo00?o00000?ooo`3oool0103o
+ool2000000H0oooo00?o00000?ooo`3oool02@3oool00`00003o00000?ooo`0;0?ooo`03o`00003o
+ool0oooo00<0oooo00<000000?ooo`3oool01`3oool00ol00000oooo0?ooo`050?ooo`800000I`3o
+ool006D0oooo00<000000?ooo`3oool01`3oool00ol00000oooo0?ooo`030?ooo`800000503oool0
+0`00003o00000?ooo`0B0?ooo`800000403oool2000006H0oooo001T0?ooo`030000003oool0oooo
+00d0oooo00<000000?ooo`3oool0503oool00`00003o00000?ooo`0D0?ooo`030000003oool0oooo
+00L0oooo0_l000050?ooo`800000I@3oool006<0oooo00<000000?ooo`3oool01P3oool2o`0000@0
+oooo0P00000:0?ooo`03o`00003oool0oooo00X0oooo00<000000?ooo`3oool03@3oool00ol00000
+oooo0?ooo`050?ooo`8000002@3oool00ol00000oooo0?ooo`030?ooo`800000I03oool00680oooo
+00<000000?ooo`3oool01@3oool2o`0000D0oooo00<000000?ooo`3oool02@3oool00ol00000oooo
+0?ooo`0:0?ooo`030000003oool0oooo00l0oooo00?o00000?ooo`3oool01P3oool2000000d0oooo
+0P00001T0?ooo`00H@3oool00`000000oooo0?ooo`0;0?ooo`8000002`3oool00ol00000oooo0?oo
+o`0;0?ooo`030000003oool0oooo0100oooo00?o00000?ooo`3oool01`3oool00`000000oooo0?oo
+o`070?ooo`04o`00003oool0oooo0?ooo`800000H`3oool00600oooo00<000000?ooo`3oool00`3o
+ool2o`0000D0oooo0P00000K0?ooo`030000003ooooo000001/0oooo0P0000080?ooo`04o`00003o
+ool0oooo0?ooo`800000HP3oool00600oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?oo
+o`040?ooo`030000003oool0oooo01/0oooo00<000000?ooool000007@3oool00`000000oooo0?oo
+o`060?ooo`04o`00003oool0oooo0?ooo`800000H@3oool005l0oooo00<000000?ooo`3oool0203o
+ool2000000h0oooo00?o00000?ooo`3oool03@3oool010000000oooo0?ooool0000A0?ooo`03o`00
+003oool0oooo00T0oooo0P0000090?ooo`;o00000P00001P0?ooo`00GP3oool01@000000oooo0?oo
+o`3ooooo000000H0oooo00<000000?ooo`3oool03@3oool00ol00000oooo0?ooo`0>0?ooo`040000
+003oool0ooooo`000180oooo00?o00000?ooo`3oool02P3oool2000000T0oooo00<000000?ooo`00
+0000G`3oool005d0oooo00D000000?ooo`3oool0ooooo`0000050?ooo`8000003`3oool00ol00000
+oooo0?ooo`0?0?ooo`030000003oool0oooo01@0oooo00?o00000?ooo`3oool02`3oool00`000000
+oooo0?ooo`070?ooo`030000003oool0000005h0oooo001L0?ooo`050000003oool0oooo0?ooool0
+00001@3oool00`000000oooo0?ooo`0Q0?ooo`030000003oool0oooo02<0oooo0P0000080?ooo`03
+0000003oool0000005d0oooo001K0?ooo`80000000?o00000?ooo`3oool0103oool2000002@0oooo
+00@000000?ooo`3ooooo0000903oool00`000000oooo0?ooo`060?ooo`0300000?l00000000005`0
+oooo001K0?ooo`030000003oool0oooo00@0oooo0P00000B0?ooo`03o`00003oool0oooo0140oooo
+00@000000?ooo`3ooooo00005@3oool00ol00000oooo0?ooo`0=0?ooo`8000001`3oool00`00003o
+00000000001K0?ooo`00FP3oool00`000000ooooo`000002o`000080oooo00<000000?ooo`3oool0
+4P3oool00ol00000oooo0?ooo`0A0?ooo`040000003oool0ooooo`0001H0oooo00?o00000?ooo`3o
+ool03P3oool2000000<0oooo0_l000000`000000oooo0000001K0?ooo`00F@3oool2000000@0oooo
+0P00000D0?ooo`03o`00003oool0oooo0180oooo00@000000?ooo`3ooooo00005`3oool00ol00000
+oooo0?ooo`0>0?ooo`03o`0000000000oooo00@0oooo00<000000?ooo`000000FP3oool005P0oooo
+0`0000030?ooo`040000003oool0oooo0?ooo`?o00009@3oool00`000000oooo0?ooo`0W0?ooo`;o
+00000P3oool2000000@0oooo0`00001I0?ooo`00E`3oool00`000000oooo000000020?ooo`800000
+1`3oool00ol00000oooo0?ooo`0R0?ooo`030000003oool0oooo01X0oooo00?o00000?ooo`3oool0
+1P3oool2o`0000P0oooo0P0000020?ooo`03o`0000000000000005T0oooo001F0?ooo`030000003o
+ool0oooo00<00000303oool3o`0000P0oooo00?o00000?ooo`3oool0503oool010000000oooo0?oo
+ool0000I0?ooo`03o`00003oool0oooo00@0oooo0_l0000<0?ooo`040000003ooooo00000?ooo`80
+0000F03oool005D0oooo0P0000020?ooo`030000003ooooo000000l0oooo00?o00000?ooo`3oool0
+0ol000000`3ooooo00000?ooo`0A0?ooo``000005`3oool01?l00000ooooo`000?l0000A0?ooo`80
+000000@0oooo0000000000000000E`3oool005D0oooo00@000000?ooo`00000000000P3oool00ol0
+0000oooo0?ooo`0C0?ooo`?o00001`3oool:000000D0oooo00@000000?ooo`3ooooo00000`3oool<
+000000/0oooo0_l0000E0?ooo`@00000E`3oool005@0oooo00D000000?ooo`000000oooo0000000H
+0?ooo`03o`0000000000000000L000003`3oool010000000oooo0?ooool0000?0?ooo``000005`3o
+ool4000005H0oooo001C0?ooo`<000000P3oool00`000000oooo0?ooo`0=0?ooo`X00000603oool0
+0`000000oooo0?ooo`0F0?ooo`;o0000103oool;000000h0oooo0P00001F0?ooo`00DP3oool20000
+00<0oooo00<000000?ooo`3oool0103oool:000000P0oooo00?o00000?ooo`3oool0103oool2o`00
+0140oooo00<000000?ooo`3oool09`3oool<000000@0oooo00<000000?ooo`3oool0D`3oool00540
+oooo00@000000?ooo`3oool0oooo2@00000K0?ooo`03o`00003oool0oooo00h0oooo00@000000?oo
+o`3ooooo00004@3oool2o`0001`0oooo00?o00000?ooo`3oool01P00001D0?ooo`00D03oool50000
+00H0oooo00?o00000?ooo`3oool07P3oool2o`0000`0oooo00@000000?ooo`3ooooo0000403oool0
+0ol00000oooo0?ooo`0:0?ooo`03o`00003oool0oooo00l0oooo00?o00000?ooo`3oool00P3oool2
+000000030?ooo`000000oooo05<0oooo001@0?ooo`030000003oool0000000T0oooo00?o00000?oo
+o`3oool03`3oool00ol00000oooo0?ooo`0=0?ooo`03o`00003oool0oooo00T0oooo00@000000?oo
+o`3ooooo00007@3oool00ol00000oooo0?ooo`0?0?ooo`04o`00003oool0oooo0?ooo`D00000E03o
+ool00500oooo0P0000001@3oool000000000003oool0000001L0oooo00?o00000?ooo`3oool03P3o
+ool00ol00000oooo0?ooo`080?ooo`040000003oool0ooooo`0000`0oooo0_l0000@0?ooo`03o`00
+003oool0oooo0140oooo00<000000?ooo`3oool01000001C0?ooo`00D03oool2000000<0oooo0P00
+000F0?ooo`03o`00003oool0oooo0180oooo0_l000060?ooo`030000003oool0oooo00/0oooo0_l0
+000B0?ooo`03o`00003oool0oooo00l0oooo0P0000040?ooo`<00000D`3oool00500oooo00<00000
+0?ooo`0000000P3oool3000001D0oooo00?o00000?ooo`3oool0503oool00ol00000oooo0?ooo`03
+0?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool09@3oool00`000000oooo0?ooo`03
+0?ooo`040000003oool00000000005<0oooo001@0?ooo`<000001@3oool200000080oooo00?o0000
+0?ooo`3oool0:`3oool00`000000oooo0?ooo`070?ooo`03o`00003oool0oooo02@0oooo0P000000
+0ol00000oooo0?ooo`030?ooo`@00000D`3oool00500oooo0`0000070?ooo`030000003ooooo0000
+02X0oooo0ol0000010000000oooo0?ooool000050?ooo`03o`00003oool0oooo01L0oooo00?o0000
+0?ooo`3oool02P3oool010000000oooo0?ooool000040?ooo`060000003oool000000000003oool0
+0000DP3oool00500oooo0P0000000`3oool00000000000060?ooo`8000003`3oool00ol00000oooo
+0?ooo`0K0?ooo`050000003oool0ooooo`00003oool00_l0000L0?ooo`03o`00003oool0oooo00P0
+oooo0P0000030?ooo`03o`00003oool0oooo0080oooo00H000000?ooo`00000000000?ooo`00001B
+0?ooo`00D03oool2000000030?ooo`000000000000L0oooo00?o00000000003oool03@3oool00ol0
+0000oooo0?ooo`0K0?ooo`030000003oool0oooo00;o00007`3oool00ol00000oooo0?ooo`060?oo
+o`030000003oool0oooo00L0oooo00<000000?ooo`3oool00P0000000`3oool000000?ooo`1A0?oo
+o`00D03oool2000000030?ooo`000000000000T0oooo0P00000;0?ooo`03o`00003oool0oooo01`0
+oooo00<000000?ooo`3oool00_l0000O0?ooo`03o`00003oool0oooo00@0oooo0P00000:0?ooo`04
+0000003oool0oooo00000080oooo00<000000?ooo`3oool0D03oool00500oooo0P0000000`3oool0
+00000000000;0?ooo`030000003oool0oooo00P0oooo00?o00000?ooo`3oool0703oool01P00003o
+00000?ooool00000ooooo`0002@0oooo00<000000?ooo`3oool01P3oool01Ol00000oooo0?ooo`3o
+ool000000080oooo00D000000?ooo`3oool0oooo0000001A0?ooo`00D03oool2000000<0oooo00<0
+00000?ooo`3oool01@3oool01?l00000oooo0?ooo`3oool2000002H0oooo00?o00000000003oool0
+9P3oool2000000T0oooo00Co00000?ooo`3oool000000`3oool01@000000oooo0000003oool00000
+0540oooo001?0?ooo`030000003oool0000000<0oooo00<000000?ooo`3oool01@3oool00ol00000
+oooo0?ooo`030?ooo`030000003oool0oooo02@0oooo00<000000?ooo`3oool01@3oool3o`0001/0
+oooo00?o00000000003oool02@3oool01Ol00000oooo0?ooo`3oool0000000<0oooo00D000000?oo
+o`000000oooo0000001A0?ooo`00C`3oool010000000oooo0?ooo`0000030?ooo`030000003oool0
+oooo00@0oooo00?o00000?ooo`3oool0103oool2000000@0oooo00?o00000?ooo`3oool06@3oool0
+1Ol00000oooo0?ooo`3oool000000080oooo00?o00000?ooo`3oool01@3oool00ol00000oooo0?oo
+o`0G0?ooo`8000002`3oool01?l00000oooo0?ooo`0000040?ooo`030000003oool0oooo00800000
+D@3oool004l0oooo00@000000?ooo`3oool000000`3oool00`000000oooo0?ooo`040?ooo`03o`00
+003oool0oooo00H0oooo0P0000020?ooo`03o`00003oool0oooo01P0oooo00?o00000?ooo`3oool0
+0P3oool010000000oooo0?ooool0000P0?ooo`040000003oool0ooooo`0000d0oooo00<000000?oo
+o`3oool00P3oool00`000000oooo0?ooo`0200000540oooo001?0?ooo`040000003oool000000000
+00<0oooo00<000000?ooo`3oool03`3oool00`00003o00000?ooo`0I0?ooo`03o`00003oool0oooo
+00<0oooo00@000000?ooo`3ooooo00002@3oool2o`0001<0oooo0P00000A0?ooo`030000003oool0
+oooo0080oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`1>0?ooo`00C`3oool01000
+0000oooo0000000000040?ooo`030000003oool0oooo00l0oooo0P00000E0?ooo`;o0000203oool0
+10000000oooo0?ooool0000;0?ooo`03o`00003oool0oooo00l0oooo00<000000?ooo`3oool03P3o
+ool00ol00000oooo000000050?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0CP3o
+ool004l0oooo00@000000?ooo`3oool00000103oool00`000000oooo0?ooo`030?ooo`03o`00003o
+ool0oooo00/0oooo00<000000?ooo`3oool04@3oool00ol00000oooo0?ooo`090?ooo`030000003o
+ool0oooo00`0oooo00?o00000?ooo`3oool0303oool2000000L0oooo00?o00000?ooo`3oool01`3o
+ool00ol00000oooo000000050?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0CP3o
+ool004l0oooo00@000000?ooo`3oool000001@3oool00`000000oooo0?ooo`020?ooo`03o`00003o
+ool0oooo00`0oooo0P00000@0?ooo`03o`00003oool0oooo00X0oooo00<000000?ooo`3oool03`3o
+ool00ol00000oooo0?ooo`080?ooo`030000003oool0oooo00L0oooo00?o00000?ooo`3oool01`3o
+ool00ol0000000000?ooo`050?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0CP3o
+ool004l0oooo00@000000?ooo`3oool000001@3oool00`000000oooo0?ooo`030?ooo`03o`00003o
+ool0oooo00H0oooo00?o00000?ooo`3oool0103oool00`000000oooo0?ooo`0J0?ooo`030000003o
+ool0oooo0100oooo00?o00000?ooo`3oool01P3oool00`000000oooo0?ooo`090?ooo`03o`00003o
+ool0oooo00H0oooo00?o00000000003oool01@3oool00`000000oooo0?ooo`030?ooo`030000003o
+ool0oooo04d0oooo001?0?ooo`040000003oool0oooo000000H0oooo00<000000?ooo`3oool00P3o
+ool00ol00000oooo0?ooo`060?ooo`03o`00003oool0oooo00D0oooo0P00000:0?ooo`;o00003P3o
+ool00`000000ooooo`00000A0?ooo`03o`00003oool0oooo00<0oooo0P00000<0?ooo`03o`00003o
+ool0oooo00H0oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`030?ooo`030000003o
+ool0oooo04d0oooo001?0?ooo`050000003oool0oooo0?ooo`0000001@3oool00`000000oooo0?oo
+o`0:0?ooo`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool01@3oool2o`000100oooo00<0
+00000?ooool000005P3oool00`000000oooo0?ooo`0E0?ooo`030000003oool0oooo00@0oooo00<0
+00000?ooo`3oool0103oool00`000000oooo0?ooo`1=0?ooo`00C`3oool01@000000oooo0?ooo`3o
+ool0000000H0oooo00<000000?ooo`3oool05@3oool2000001L0oooo00<000000?ooool00000503o
+ool2000001P0oooo00<000000?ooo`3oool0103oool00`000000oooo0?ooo`030?ooo`03o`000000
+0000oooo04h0oooo001?0?ooo`0500000?l00000oooo0?ooo`0000001P3oool01@000000oooo0?oo
+o`3ooooo000001D0oooo00<000000?ooool00000503oool00`000000oooo0?ooo`0C0?ooo`040000
+003oool0ooooo`000100oooo00?o00000?ooo`3oool00`3oool00`00003o00000?ooo`050?ooo`03
+0000003oool0oooo0080oooo00?o00000000003oool0C`3oool004l0oooo00D000000?ooool00000
+oooo000000060?ooo`050000003oool0oooo0?ooool000001P3oool00ol00000oooo0?ooo`0=0?oo
+o`800000503oool00`000000oooo0?ooo`0A0?ooo`800000503oool00ol00000oooo0?ooo`030?oo
+o`0300000?l00000oooo00D0oooo00L000000?ooo`3oool0ooooo`00003oool000000500oooo001@
+0?ooo`040000003ooooo0000000000L0oooo00@000000?ooo`3ooooo00001P3oool00ol00000oooo
+0?ooo`0<0?ooo`03o`00003oool0oooo008000004P3oool00`000000oooo0?ooo`0@0?ooo`030000
+003oool0oooo00H0oooo0_l0000=0?ooo`07o`00003oool0oooo0?ooo`000000ooooo`0000060?oo
+o`030000003oool0oooo00<0oooo00<000000?ooo`3oool0CP3oool00500oooo00@000000?ooo`3o
+ool000001`3oool010000000oooo0?ooool000050?ooo`03o`00003oool0oooo0180oooo00<00000
+0?ooo`3oool03`3oool00`000000ooooo`00000>0?ooo`8000002`3oool00ol00000oooo0?ooo`0:
+0?ooo`05o`00003oool0oooo0?ooo`000000203oool00`000000ooooo`0000030?ooo`030000003o
+ool0oooo04h0oooo001@0?ooo`040000003oool0oooo000000P0oooo00<000000?ooo`3oool01@3o
+ool00ol00000oooo0?ooo`090?ooo`;o0000203oool2000000l0oooo00<000000?ooool000003@3o
+ool00`000000oooo0?ooo`0K0?ooo`030000003oool0oooo00L0oooo00<00000o`00003oool00P3o
+ool00`000000oooo0?ooo`1?0?ooo`00D03oool01P000000oooo0?ooo`000000ooooo`0000H0oooo
+00<000000?ooo`3oool0403oool00ol00000oooo0?ooo`0:0?ooo`030000003oool0oooo00`0oooo
+00<000000?ooool000002`3oool200000140oooo0_l0000;0?ooo`030000003oool0oooo00L0oooo
+00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`1?0?ooo`00D@3oool01P000000oooo0?oo
+o`000000ooooo`0000H0oooo00<00000o`00003oool07@3oool2000000`0oooo00<000000?ooool0
+00002P3oool00`000000oooo0?ooo`0C0?ooo`03o`00003oool0oooo00H0oooo00?o00000?ooo`00
+00000P3oool00ol00000oooo0?ooo`040?ooo`030000003oool0oooo0080oooo00<000000?ooo`3o
+ool0C`3oool00540oooo00@000000?ooo`3oool000000P3oool00ol00000oooo0?ooo`030?ooo`03
+00000?l00000oooo00<0oooo00?o00000?ooo`3oool01P3oool00ol00000oooo0?ooo`0@0?ooo`03
+0000003oool0oooo00T0oooo00<000000?ooo`3oool0203oool2000001L0oooo00?o00000?ooo`3o
+ool01@3oool00ol0000000000?ooo`020?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3o
+ool00P3oool00`000000oooo0?ooo`1?0?ooo`00D@3oool010000000oooo0?ooo`0000090?ooo`03
+00000?l00000oooo0080oooo00?o00000?ooo`3oool01@3oool00ol00000oooo0?ooo`0B0?ooo`80
+00002@3oool00`000000oooo0?ooo`070?ooo`030000003oool0oooo0200oooo00@000000?ooo`3o
+oooo00001@3oool00ol00000oooo000000030?ooo`030000003oool0oooo0500oooo001A0?ooo`04
+0000003oool0oooo000000@0oooo00?o00000?ooo`3oool00P3oool01@00003o00000?ooo`3ooooo
+000000L0oooo00?o00000?ooo`3oool05@3oool00`000000oooo0?ooo`060?ooo`030000003ooooo
+000000D0oooo0P00000L0?ooo`?o00000`3oool01@000000oooo0?ooo`3ooooo000000@0oooo00Co
+00000?ooo`3oool000000`3oool00`000000oooo0?ooo`1@0?ooo`00D@3oool010000000oooo0?oo
+o`0000050?ooo`05o`00003oool0oooo0?ooo`0000000`3oool00ol00000oooo0?ooo`020?ooo`03
+o`00003oool0oooo01T0oooo0P0000060?ooo`030000003ooooo000000@0oooo00<000000?ooo`3o
+ool07`3oool01?l00000oooo0?ooo`0000070?ooo`05o`00003oool0oooo0?ooo`0000000`3oool0
+0`000000oooo0?ooo`1@0?ooo`00DP3oool00`000000oooo000000060?ooo`05o`00003oool0oooo
+0?ooo`0000001P3oool00ol00000oooo0?ooo`0L0?ooo`800000103oool00`000000ooooo`000002
+0?ooo`8000009@3oool010000000oooo0?ooool000080?ooo`050000003oool0oooo0?ooo`000000
+DP3oool00580oooo00<000000?ooo`0000002P3oool00`000000oooo0?ooo`030?ooo`03o`00003o
+ool0oooo01l0oooo00T000000?ooo`3oool0oooo0000003ooooo00000?ooo`0000009P3oool01000
+003o0000o`00003oool2o`0000L0oooo00@000000?ooo`3oool00000D`3oool00580oooo00<00000
+0?ooo`000000203oool01?l00000ooooo`000000000W0?ooo`80000000<0oooo0000003oool00P00
+000W0?ooo`080000003oool0ooooo`00003ooooo00000?ooool000040?ooo`050000003oool0oooo
+0?ooo`000000D`3oool00580oooo00@000000?ooo`3oool00000203oool2o`00000300000?l0003o
+000002L0oooo0`00000X0?ooo`030000003oool0oooo00<0oooo0_l000050?ooo`050000003oool0
+oooo0?ooo`000000D`3oool005<0oooo00<000000?ooo`0000002@3oool2o`0000030000003oool0
+oooo02H0oooo0`0000000ol00000oooo0?ooo`0R0?ooo`?o000000<000000?ooo`3oool01?l00006
+0?ooo`050000003oool0oooo0?ooo`000000D`3oool005<0oooo00<000000?ooo`0000002@3oool0
+1?l00000oooo00000?l000030?ooo`?o00000`3oool4o`000080oooo0ol0000C0?ooo`80000000<0
+oooo0000003oool00P00000C0?ooo`;o00000P3oool4o`000080oooo1?l000040?ooo`030000003o
+ool0oooo00/0oooo00@000000?ooo`3oool00000E03oool005<0oooo00<000000?ooo`0000002@3o
+ool01?l00000oooo0?ooo`00000B0?ooo`03o`00003oool0oooo00Co00000P3oool4o`000080oooo
+0_l00002000000<0oooo00@000000?ooool00000oooo0P0000040?ooo`;o00000`3oool3o`0000<0
+oooo0_l0000B0?ooo`030000003oool0oooo00;o00002@3oool010000000oooo0?ooo`00001D0?oo
+o`00D`3oool00`000000oooo0000000;0?ooo`03o`000000003o000001l0oooo0`0000000`3ooooo
+00000?ooo`020?ooo`0300000?l0003o000000?o00000`0000000ol00000oooo0?ooo`0M0?ooo`03
+0000003ooooo00000080oooo00Co00000?ooo`3ooooo00001@3oool010000000oooo0?ooo`00001D
+0?ooo`00E03oool2000000/0oooo00Co00000000003ooooo0000703oool2000000P0oooo00<00000
+0?ooool000001P3oool2000001d0oooo00<000000?ooo`3oool00`3oool01?l00000oooo0?ooool0
+00050?ooo`040000003oool0oooo000005@0oooo001D0?ooo`8000001`3oool00ol00000oooo0?oo
+o`020?ooo`03o`0000000000oooo01X0oooo0P00000:0?ooo`030000003ooooo000000P0oooo0P00
+000K0?ooo`030000003oool0oooo0080oooo00?o00000?ooo`3oool00P3oool00ol00000oooo0?oo
+o`020?ooo`030000003oool0000005D0oooo001D0?ooo`8000001`3oool00ol00000oooo0?ooo`02
+0?ooo`03o`0000000000oooo0080oooo0_l0000D0?ooo`800000303oool00`000000ooooo`00000:
+0?ooo`800000603oool00`000000oooo0?ooo`080?ooo`03o`00003oool0oooo0080oooo00<00000
+0?ooo`000000E@3oool005@0oooo00<000000?ooo`0000001@3oool00ol00000oooo0?ooo`050?oo
+o`030000003oool0oooo0080oooo00?o00000?ooo`3oool03`3oool2000000h0oooo00<000000?oo
+ool00000303oool2000001D0oooo00?o00000000003oool03P3oool00`000000oooo0000001E0?oo
+o`00E@3oool2000000d0oooo00<000000?ooo`3oool04@3oool300000100oooo00<000000?ooo`3o
+ool03P3oool3000001<0oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?ooo`080?ooo`03
+0000003oool0000005D0oooo001E0?ooo`800000303oool00ol00000oooo000000060?ooo`03o`00
+003oool0oooo00L0oooo0P00000C0?ooo`030000003oool0oooo0140oooo0P00000<0?ooo`;o0000
+0P3oool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo00@0oooo00Co00000?ooo`3oool0
+oooo0P00001F0?ooo`00E@3oool2000000@0oooo00?o00000?ooo`3oool01@3oool00ol00000oooo
+000000070?ooo`03o`00003oool0oooo00@0oooo0P00000E0?ooo`030000003ooooo000001<0oooo
+0P0000090?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool00P3oool00ol00000oooo
+0?ooo`050?ooo`04o`00003oool0oooo0?ooo`800000EP3oool005D0oooo0P0000040?ooo`03o`00
+003oool0oooo00H0oooo00?o00000?ooo`0000001`3oool01?l00000oooo0?ooo`3oool2000001L0
+oooo00<000000?ooool000005@3oool2000000/0oooo00<000000?ooo`3oool00P3oool00ol00000
+oooo0?ooo`070?ooo`03o`00003oool0oooo00800000EP3oool005D0oooo0P0000030?ooo`03o`00
+003oool0oooo00T0oooo00<000000?ooo`3oool01`3oool2000001T0oooo00<000000?ooool00000
+5`3oool2000000030?ooool0003o000000H0oooo00<000000?ooo`3oool0303oool01Ol00000oooo
+0000003oool0000005H0oooo001F0?ooo`050000003oool0oooo0?ooool000002`3oool00`000000
+oooo0?ooo`040?ooo`<0000000@0ooooo`000?l0003o00005`3oool00`000000ooooo`00000I0?oo
+o`<000001@3oool00`000000oooo0?ooo`0?0?ooo`800000E`3oool005H0oooo00<000000?ooo`3o
+ool03@3oool00ol0000000000?ooo`020?ooo`8000001`3oool00ol00000oooo0?ooo`0D0?ooo`03
+0000003oool0oooo01P0oooo00Co00000?ooo`3oool0oooo0P0000030?ooo`030000003oool0oooo
+0080oooo00?o00000?ooo`3oool02P3oool2000005L0oooo001F0?ooo`8000003P3oool00ol00000
+00000?ooo`0200000200oooo00<000000?ooo`3oool07P3oool2000000030?ooo`000000oooo00<0
+oooo00?o00000?ooo`3oool02@3oool00ol0000000000000001G0?ooo`00EP3oool200000003o`00
+003oool0oooo00T0oooo1@00000=0?ooo`;o00004`3oool00`000000ooooo`00000E0?ooo`;o0000
+2@3oool6000000`0oooo00?o0000000000000000E`3oool005L0oooo00@00000o`00003oool0oooo
+2@0000030?ooo`03o`0000000000oooo00h0oooo00?o00000?ooo`3oool0403oool00`000000oooo
+o`00000C0?ooo`;o00002`3oool00`000000oooo0?ooo`020?ooo`03o`0000000000000000L00000
+103oool00`000000oooo0?ooo`1F0?ooo`00E`3oool4000000h0oooo00<000000?ooo`3oool03@3o
+ool00ol00000oooo0?ooo`0?0?ooo`030000003ooooo000001l0oooo00<000000?ooo`3oool03@3o
+ool5000005P0oooo001H0?ooo`800000403oool00`000000oooo0?ooo`0N0?ooo`030000003ooooo
+00000100oooo0_l0000<0?ooo`030000003oool0oooo0100oooo00<000000?ooo`3oool0F03oool0
+05T0oooo0P00000=0?ooo`04o`00003oool0oooo000000l0oooo0ol0000=0?ooo`030000003oool0
+oooo00l0oooo00?o00000?ooo`3oool02`3oool00`000000oooo0?ooo`030?ooo`03o`00003oool0
+oooo00X0oooo00<000000?ooo`3oool0F@3oool005/0oooo0P00000<0?ooo`04o`00003oool0oooo
+00000140oooo00?o00000?ooo`3oool02P3oool00`000000oooo0?ooo`0>0?ooo`03o`00003oool0
+oooo00/0oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`080?ooo`800000G03oool0
+05`0oooo0P00000<0?ooo`04o`00003oool0oooo000001d0oooo00<000000?ooo`3oool06`3oool0
+0`000000oooo0?ooo`040?ooo`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool0G03oool0
+05h0oooo0P00000>0?ooo`030000003oool0oooo0100oooo00?o00000?ooo`3oool01`3oool00`00
+0000ooooo`00000;0?ooo`;o00003@3oool00`000000oooo0?ooo`0>0?ooo`800000G`3oool00600
+oooo00<000000?ooo`3oool0303oool00`000000oooo0?ooo`0@0?ooo`03o`00003oool0oooo00H0
+oooo00<000000?ooool000002P3oool00ol00000oooo0?ooo`0=0?ooo`030000003oool0oooo00d0
+oooo00<000000?ooo`3oool0G`3oool00640oooo0P0000080?ooo`03o`00003oool0oooo0080oooo
+00<000000?ooo`3oool0403oool00ol00000oooo0?ooo`050?ooo`030000003ooooo000000T0oooo
+00?o00000?ooo`3oool03@3oool00`000000oooo0?ooo`050?ooo`03o`00003oool0oooo00@0oooo
+0P00001R0?ooo`00HP3oool2000000L0oooo00?o00000?ooo`3oool00`3oool00`000000oooo0?oo
+o`0G0?ooo`030000003oool0oooo00H0oooo0_l0000@0?ooo`030000003oool0oooo00H0oooo00?o
+00000?ooo`3oool00`3oool2000006<0oooo001T0?ooo`030000003oool0oooo00D0oooo00?o0000
+0?ooo`3oool00P3oool00`000000oooo0?ooo`0B0?ooo`;o00000`3oool00`000000oooo0?ooo`05
+0?ooo`03o`00003oool0oooo00l0oooo00<000000?ooo`3oool01P3oool00ol00000oooo0?ooo`03
+0?ooo`030000003oool0oooo06<0oooo001U0?ooo`<00000103oool00ol00000oooo0?ooo`030?oo
+o`030000003oool0oooo01<0oooo00Co00000?ooo`3oool000001P3oool00ol00000oooo0?ooo`0?
+0?ooo`030000003oool0oooo00H0oooo00?o00000?ooo`3oool00P3oool2000006H0oooo001W0?oo
+o`8000002P3oool00`000000oooo0?ooo`0F0?ooo`0300000?l00000oooo01@0oooo00<000000?oo
+o`3oool02`3oool00`000000oooo0?ooo`1V0?ooo`00J03oool2000000X0oooo00<000000?ooo`3o
+ool0503oool01Ol000000000o`00003ooooo000001<0oooo00<000000?ooo`3oool02P3oool00`00
+0000oooo0?ooo`1W0?ooo`00J@3oool2000000<0oooo00?o00000?ooo`3oool0103oool00`000000
+oooo0?ooo`0D0?ooo`0300000?l0003o000001<0oooo00<000000?ooo`3oool01`3oool01?l00000
+oooo00000000001Z0?ooo`00J`3oool300000003o`00003oool0oooo00D0oooo00<000000?ooo`3o
+ool01`3oool2o`000080oooo1?l000020?ooo`;o000000<00000o`00003oool01?l000020?ooo`Co
+00000P3oool3o`0000<0oooo00<000000?ooo`3oool0203oool2000006`0oooo001/0?ooo`<00000
+00?o00000?ooo`3oool00ol000020?ooo`0300000?l0003o000000;o00000P3oool2o`0000`0oooo
+00<000000?ooo`3oool03`3oool01?l00000oooo0000003oool3o`0000<0oooo0ol00002000006d0
+oooo001^0?ooo`0300000?l00000oooo00L0oooo00<000000?ooo`3oool04@3oool00`00003o0000
+0?ooo`0@0?ooo`030000003oool0oooo00P0oooo00<000000?ooo`3oool0K@3oool006l0oooo00<0
+00000?ooo`0000001`3oool00`000000oooo0?ooo`0@0?ooo`0300000?l00000oooo00l0oooo00<0
+00000?ooo`3oool0203oool00`000000oooo0?ooo`1^0?ooo`00L03oool3000000L0oooo00<00000
+0?ooo`3oool03`3oool00`00003o00000?ooo`0>0?ooo`030000003oool0oooo00H0oooo0`00001a
+0?ooo`00LP3oool2000000H0oooo00<000000?ooo`3oool03`3oool00`00003o00000?ooo`0>0?oo
+o`030000003oool0oooo00D0oooo0P00001c0?ooo`00L`3oool2000000H0oooo00<000000?ooo`3o
+ool03P3oool00`000000oooo0?ooo`0=0?ooo`030000003oool0oooo00D0oooo0P00001d0?ooo`00
+M@3oool2000000D0oooo00<000000?ooo`3oool03@3oool00`000000oooo0?ooo`0<0?ooo`030000
+003oool0oooo00@0oooo0P00001f0?ooo`00MP3oool2000000D0oooo00<000000?ooo`3oool0303o
+ool00`00003o00000?ooo`0;0?ooo`030000003oool0oooo00@0oooo0P00001g0?ooo`00M`3oool2
+000000D0oooo00<000000?ooo`3oool02`3oool00`00003o00000?ooo`0:0?ooo`030000003oool0
+oooo00@0oooo0P00001h0?ooo`00N@3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo
+00X0oooo00<00000o`00003oool02@3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo
+07P0oooo001j0?ooo`<000000`3oool00`000000oooo0?ooo`090?ooo`0300000?l00000oooo00P0
+oooo00<000000?ooo`3oool00`3oool2000007/0oooo001l0?ooo`8000000`3oool00`000000oooo
+0?ooo`080?ooo`030000003oool0oooo00P0oooo00<000000?ooo`3oool00P3oool00`000000oooo
+0?ooo`1k0?ooo`00O@3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo00L0oooo00<0
+00000?ooo`3oool01`3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo07`0oooo001n
+0?ooo`<000000P3oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo00H0oooo00@00000
+0?ooo`3oool0oooo0P00001o0?ooo`00P03oool2000000030?ooo`000000oooo00L0oooo00<00000
+0?ooo`3oool01@3oool00`000000oooo0?ooo`0200000840oooo00210?ooo`80000000<0oooo0000
+003oool01P3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo00800000PP3oool008<0
+oooo00<000000?ooo`0000001P3oool00`000000oooo0?ooo`030?ooo`040000003oool0oooo0000
+08@0oooo00240?ooo`<000001@3oool00`000000oooo0?ooo`030?ooo`<00000Q@3oool008D0oooo
+0`0000040?ooo`030000003oool0oooo0080oooo0`0000260?ooo`00Q`3oool2000000<0oooo00@0
+00000?ooo`3oool0oooo0P0000280?ooo`00R03oool200000080oooo00<000000?ooo`3oool00P00
+00290?ooo`00RP3oool01@000000oooo0000003oool0000008/0oooo002;0?ooo`<00000S03oool0
+08`0oooo00<000000?ooo`3oool0R`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3o
+ool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00?l0oooo6`3oool00001\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.53124 .45363 m
+.69667 .54859 L
+s
+.53124 .45363 m
+.5 .27523 L
+s
+.53124 .45363 m
+.61766 .39786 L
+s
+.53784 .56992 m
+.53124 .45363 L
+s
+.42372 .41472 m
+.53124 .45363 L
+s
+.37465 .56997 m
+.53124 .45363 L
+s
+.37465 .56997 m
+.33052 .39916 L
+s
+.37465 .56997 m
+.53784 .56992 L
+s
+.37465 .56997 m
+.42372 .41472 L
+s
+.37465 .56997 m
+.29076 .51562 L
+s
+.41768 .68394 m
+.37465 .56997 L
+s
+.31871 .63494 m
+.37465 .56997 L
+s
+.53323 .67212 m
+.37465 .56997 L
+s
+.53784 .56992 m
+.69667 .54859 L
+s
+.53323 .67212 m
+.53784 .56992 L
+s
+.42372 .41472 m
+.5 .27523 L
+s
+.42372 .41472 m
+.33052 .39916 L
+s
+.61766 .39786 m
+.67754 .36786 L
+s
+.61766 .39786 m
+.69667 .54859 L
+s
+.61766 .39786 m
+.5 .27523 L
+s
+.69667 .54859 m
+.72166 .48345 L
+s
+.69667 .54859 m
+.67754 .36786 L
+s
+.53323 .67212 m
+.69667 .54859 L
+s
+.62724 .67334 m
+.69667 .54859 L
+s
+.69054 .61338 m
+.69667 .54859 L
+s
+.53323 .67212 m
+.41768 .68394 L
+s
+.62724 .67334 m
+.53323 .67212 L
+s
+.5 .75807 m
+.53323 .67212 L
+s
+.5 .27523 m
+.67754 .36786 L
+s
+.33052 .39916 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .27523 m
+.59003 .29883 L
+s
+.5 .27523 m
+.46059 .29588 L
+s
+.36864 .32105 m
+.5 .27523 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.33052 .39916 m
+.2618 .44114 L
+s
+.33052 .39916 m
+.36864 .32105 L
+s
+.29076 .51562 m
+.33052 .39916 L
+s
+.31871 .63494 m
+.41768 .68394 L
+s
+.5 .75807 m
+.41768 .68394 L
+s
+.29076 .51562 m
+.2618 .44114 L
+s
+.31871 .63494 m
+.29076 .51562 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .75807 m
+.62724 .67334 L
+s
+.69054 .61338 m
+.62724 .67334 L
+s
+.67754 .36786 m
+.66737 .40657 L
+s
+.67754 .36786 m
+.72166 .48345 L
+s
+.59003 .29883 m
+.67754 .36786 L
+s
+.31871 .63494 m
+.2618 .44114 L
+s
+.35658 .62451 m
+.31871 .63494 L
+s
+.5 .75807 m
+.31871 .63494 L
+s
+.36864 .32105 m
+.46059 .29588 L
+s
+.36864 .32105 m
+.2618 .44114 L
+s
+.72166 .48345 m
+.66737 .40657 L
+s
+.69054 .61338 m
+.72166 .48345 L
+s
+.59003 .29883 m
+.66737 .40657 L
+s
+.46059 .29588 m
+.59003 .29883 L
+s
+.69054 .61338 m
+.66737 .40657 L
+s
+.69054 .61338 m
+.5 .75807 L
+s
+.69054 .61338 m
+.59857 .6102 L
+s
+.5 .75807 m
+.35658 .62451 L
+s
+.45738 .56325 m
+.5 .75807 L
+s
+.59857 .6102 m
+.5 .75807 L
+s
+.46059 .29588 m
+.66737 .40657 L
+s
+.44949 .40666 m
+.46059 .29588 L
+s
+.2618 .44114 m
+.46059 .29588 L
+s
+.2618 .44114 m
+.44949 .40666 L
+s
+.35658 .62451 m
+.2618 .44114 L
+s
+.45738 .56325 m
+.2618 .44114 L
+s
+.45738 .56325 m
+.35658 .62451 L
+s
+.59857 .6102 m
+.66737 .40657 L
+s
+.59857 .6102 m
+.45738 .56325 L
+s
+.44949 .40666 m
+.66737 .40657 L
+s
+.45738 .56325 m
+.44949 .40666 L
+s
+.45738 .56325 m
+.66737 .40657 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00R`3oool4000008/0oooo00280?ooo`<000001?l0
+0004000008L0oooo00250?ooo`@0000000?o00000?ooo`3oool00P3oool00ol00000oooo0?ooo`02
+0?ooo`@00000P`3oool00880oooo0`0000000`3oool000000?ooo`070?ooo`03o`00003ooooo0000
+00;o00000`3oool5000007h0oooo001o0?ooo`<000000P3oool2000000;o00000P3oool00ol00000
+oooo0?ooo`070?ooo`03o`00003oool0oooo00D0oooo1000001j0?ooo`00O03oool3000000<0oooo
+0P0000000`3ooooo00000?ooo`030?ooo`04o`00003oool0ooooo`000180oooo1000001f0?ooo`00
+N@3oool3000000<0oooo:000001c0?ooo`00M`3oool200000080oooo1@0000000`3oool00000o`00
+0002000000<0oooo00?o00000?ooo`3oool00P3oool00ol00000oooo0?ooo`020?ooo`03o`00003o
+ool0oooo00@0oooo00?o00000?ooo`3oool02@3oool00`000000oooo0000001b0?ooo`00M03oool3
+000000040?ooo`000000000000000080oooo0P0000000`3ooooo0000000000030?ooo`800000303o
+ool00ol00000oooo0?ooo`060?ooo`;o0000203oool00`000000oooo0000001a0?ooo`00L@3oool7
+000000@0oooo00H000000?ooo`3ooooo00000?ooo`0000050?ooo`8000005@3oool00ol00000oooo
+0?ooo`060?ooo`030000003oool000000700oooo001^0?ooo`H000001`3oool00`000000oooo0?oo
+o`030?ooo`030000003oool0oooo00<0oooo00?o00000?ooo`000000303oool00ol00000oooo0?oo
+o`060?ooo`03o`00003oool0oooo00D0oooo00<000000?ooo`3oool00P00001^0?ooo`00J`3oool5
+000000T0oooo0P0000000`3ooooo0000o`0000030?ooo`030000003oool0oooo0080oooo00Co0000
+0?ooo`3oool0oooo0P0000020?ooo`03o`00003oool0oooo00H0oooo00?o00000?ooo`3oool0203o
+ool00ol00000oooo0?ooo`030?ooo`050000003oool0oooo0?ooo`000000K@3oool006P0oooo1@00
+000;0?ooo`040000003oool0ooooo`0000@0oooo00<000000?ooo`3oool00P3oool00ol00000oooo
+0?ooo`040?ooo`80000000?o00000?ooo`3oool01`3oool00ol00000oooo0?ooo`080?ooo`03o`00
+003oool0oooo00<0oooo00D000000?ooo`3oool0oooo0000001/0?ooo`00I`3oool2000000d0oooo
+0P0000020?ooo`03o`00003oool0oooo00<0oooo00<000000?ooo`3oool02`3oool2000001@0oooo
+00?o00000?ooo`3oool00`3oool01@000000oooo0?ooo`3oool0000006/0oooo001W0?ooo`030000
+003oool0oooo00/0oooo00<000000?ooo`3oool0203oool00`000000oooo0?ooo`0=0?ooo`800000
+203oool00ol00000oooo0?ooo`0:0?ooo`?o000000<000000?ooo`3oool00P3oool2000006T0oooo
+001V0?ooo`030000003oool0oooo00/0oooo00<000000?ooo`3oool00_l000070?ooo`050000003o
+ool0oooo0?ooool000003@3oool2000000L0oooo00?o00000?ooo`3oool0303oool00ol000000000
+0?ooo`040?ooo`030000003oool0oooo06H0oooo001U0?ooo`8000002`3oool2000000030?ooool0
+003o000000T0oooo00@000000?ooo`3ooooo0000403oool2000000H0oooo00?o00000?ooo`3oool0
+3@3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo06D0oooo001T0?ooo`8000002`3o
+ool00`000000oooo0?ooo`0<0?ooo`030000003ooooo000000`0oooo00?o00000?ooo`3oool0103o
+ool2000001@0oooo00<00000o`000?l00000103oool00`000000oooo0?ooo`1T0?ooo`00H`3oool2
+000000X0oooo0P0000000`3ooooo0000o`00000<0?ooo`030000003oool0oooo00`0oooo00?o0000
+0?ooo`3oool01P3oool00`000000oooo0?ooo`0B0?ooo`030000003ooooo000000@0oooo0P00001T
+0?ooo`00HP3oool00`000000oooo0?ooo`090?ooo`040000003oool0ooooo`0000h0oooo00<00000
+0?ooo`3oool0303oool00ol00000oooo0?ooo`070?ooo`8000000`3oool00ol00000oooo0?ooo`0=
+0?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool0H@3oool00640oooo00<000000?oo
+o`3oool02@3oool010000000oooo0?ooool0000?0?ooo`0300000?l00000oooo00`0oooo00?o0000
+0?ooo`3oool02@3oool200000080oooo00?o00000?ooo`3oool03@3oool00`000000oooo0?ooo`03
+o`000080oooo00<000000?ooo`3oool0H03oool00600oooo00@000000?ooo`3oool000001`3oool2
+000001<0oooo00<00000o`00003oool06P3oool2000000030?ooool00000oooo00d0oooo00<00000
+0?ooo`3oool00`3oool01?l00000oooo0?ooo`00001Q0?ooo`00G`3oool01@000000oooo0?ooo`3o
+ool0000000H0oooo00<000000?ooo`3oool00_l0000@0?ooo`0300000?l00000oooo01d0oooo0P00
+000?0?ooo`030000003oool0oooo00H0oooo0P00001O0?ooo`00GP3oool01@000000oooo0?ooo`3o
+ool0000000D0oooo0P0000020?ooo`03o`00003oool0oooo0100oooo00<000000?ooo`3oool03P3o
+ool00ol00000oooo0?ooo`0>0?ooo`80000000?o00000?ooo`3oool02`3oool00`000000oooo0?oo
+o`040?ooo`;o000000<0oooo0000003oool0G@3oool005d0oooo00<000000?ooo`3oool00P3oool0
+0`000000oooo0?ooo`020?ooo`050000003oool0oooo0?ooool000004`3oool00`000000oooo0?oo
+o`0>0?ooo`03o`00003oool0oooo0100oooo0P00000<0?ooo`030000003oool0oooo00H0oooo00?o
+00000?ooo`000000G@3oool005d0oooo00<000000?ooo`3oool01P3oool00`000000oooo0?ooo`0F
+0?ooo`030000003oool0oooo00h0oooo00?o00000?ooo`3oool04P3oool00`000000oooo0?ooo`0:
+0?ooo`030000003oool0oooo00P0oooo00<000000?ooo`3oool0FP3oool005`0oooo00<000000?oo
+o`3oool01@3oool200000080oooo0_l0000D0?ooo`03o`0000000000oooo00l0oooo00?o00000?oo
+o`3oool04`3oool2000000/0oooo00<000000?ooo`3oool01`3oool00ol0000000000?ooo`1J0?oo
+o`00F`3oool00`000000oooo0?ooo`020?ooo`040000003oool0oooo00000080oooo0_l0000E0?oo
+o`03o`00003oool0000002P0oooo0P00000:0?ooo`030000003oool0oooo00L0oooo00<000000?oo
+o`3oool0F@3oool005X0oooo00<000000?ooo`3oool00`3oool3000001T0oooo00Co00000?ooo`3o
+ool000009`3oool00ol00000oooo0?ooo`02000000P0oooo00<000000?ooo`3oool00`3oool2o`00
+0080oooo0P00001J0?ooo`00F@3oool00`000000oooo0?ooo`030?ooo`8000000P3oool2o`0001X0
+oooo00<000000?ooo`3oool03`3oool00ol00000oooo0?ooo`0D0?ooo`04o`00003oool0oooo0?oo
+o`8000001`3oool00`000000oooo0?ooo`02o`0000<0oooo00<000000?ooo`000000FP3oool005P0
+oooo00<000000?ooo`3oool0103oool010000000oooo0?ooool0000L0?ooo`030000003oool0oooo
+00l0oooo00?o00000?ooo`3oool05@3oool00ol00000oooo0?ooo`020?ooo`8000001@3oool00ol0
+000000000?ooo`050?ooo`030000003oool0000005X0oooo001G0?ooo`030000003oool0oooo00<0
+oooo0P0000020?ooo`03o`00003oool0oooo01L0oooo00Go00000?ooo`3oool0oooo0000000B0?oo
+o`03o`00003oool0oooo01/0oooo0P0000020?ooo`03o`00003oool0000000H0oooo00@00000o`00
+003oool00000F@3oool005H0oooo00<000000?ooo`3oool00`3oool00`000000oooo0000000L0?oo
+o`05o`00003oool0oooo0?ooo`0000004P3oool00ol00000oooo0?ooo`0F0?ooo`03o`00003oool0
+oooo00@0oooo0P0000030?ooo`030000003oool0oooo0080oooo00D000000?ooool00000oooo0000
+001I0?ooo`00E@3oool00`000000oooo0?ooo`020?ooo`8000000P3oool00`00003o00000?ooo`0I
+0?ooo`05o`00003oool0oooo0?ooo`000000;@3oool00ol00000oooo0?ooo`02o`0000<0oooo00D0
+00000?ooo`3oool0oooo000000030?ooo`050000003oool0ooooo`0000000000F@3oool005@0oooo
+00<000000?ooo`3oool00P3oool01@000000oooo0?ooo`3oool0000001`0oooo00Go00000?ooo`3o
+ool0oooo0000000^0?ooo`;o00001P3oool200000080oooo00@000000?ooo`3oool000000P3oool0
+0ol00000oooo0000001H0?ooo`00D`3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo
+008000000_l0000O0?ooo`030000003oool0oooo0140oooo00?o00000?ooo`3oool05`3oool2o`00
+00T0oooo0`0000020?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0EP3oool005<0
+oooo00<000000?ooo`3oool00P0000020?ooo`030000003oool0000000D0oooo0ol0000I0?ooo`03
+0000003oool0oooo0140oooo00?o00000?ooo`3oool05P3oool01?l00000oooo0?ooool0000:0?oo
+o`<000001P3oool00`000000oooo0?ooo`1E0?ooo`00DP3oool010000000oooo0?ooo`0000060?oo
+o`030000003oool0oooo00T0oooo0ol0000=0?ooo`03o`00003oool0oooo044000000`3oool01?l0
+0000oooo0?ooo`00001G0?ooo`00D@3oool01@000000oooo000000000000oooo008000000`3oool0
+0`000000ooooo`00000@0?ooo`?o0000103oool6000000<0oooo00<000000?ooo`3oool04P3oool0
+0ol00000oooo0?ooo`0@0?ooo`;o00004@3oool00`000000oooo000000030?ooo`04o`00003oool0
+oooo000005L0oooo001@0?ooo`030000003oool000000080oooo00<000000?ooo`3oool01@3oool0
+0ol00000oooo0?ooo`0?0?ooo`H000001?l000050?ooo`030000003oool0oooo02@0oooo00?o0000
+0?ooo`3oool0403oool00`000000oooo0000000200000080oooo00Go00000?ooo`3oool0oooo0000
+001F0?ooo`00C`3oool00`000000oooo0000000<0?ooo`03o`00003oool0oooo00P0oooo1P000008
+0?ooo`03o`00003ooooo000000@0oooo00<000000?ooo`3oool08`3oool00ol00000oooo0?ooo`09
+0?ooo`03o`00003oool0oooo00<0oooo0P0000020?ooo`80000000@0oooo0000003ooooo00000`3o
+ool00`000000oooo0?ooo`1D0?ooo`00CP3oool5000000L0oooo00D000000?ooo`3oool0ooooo`00
+00040?ooo`H000003@3oool00ol00000oooo0?ooo`030?ooo`;o000000<000000?ooo`3oool04P3o
+ool00ol00000oooo0?ooo`0J0?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool00P3o
+ool200000080oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`1D0?ooo`00C@3oool2
+000000030?ooo`000000oooo00P0oooo00@000000?ooo`3oool0oooo1@00000K0?ooo`0300000?l0
+0000oooo0180oooo00?o00000?ooo`3oool02`3oool2o`0000h0oooo00Co00000?ooo`3oool00000
+103oool01P000000oooo0?ooo`000000oooo000000D0oooo00<000000?ooo`3oool0D`3oool004`0
+oooo0P0000000`3oool000000?ooo`070?ooo`H00000803oool010000000oooo0?ooo`3oool3o`00
+00l0oooo00?o00000?ooo`3oool0203oool2o`000140oooo0P0000050?ooo`040000003oool0oooo
+00000080oooo00<00000o`00003oool00P3oool00`000000oooo0?ooo`1C0?ooo`00B`3oool30000
+00@0oooo1P0000000`3oool000000?ooo`040?ooo`03o`00003oool0oooo01`0oooo00<000000?oo
+o`3oool0103oool00ol00000oooo0?ooo`0<0?ooo`03o`00003oool0oooo01X0oooo00<000000?oo
+o`3oool01@3oool010000000oooo0?ooo`0000030?ooo`030000003oool0oooo0080oooo00<00000
+0?ooo`3oool0DP3oool004X0oooo2000000=0?ooo`03o`00003oool0oooo01<0oooo00?o00000?oo
+o`3oool01P3oool00`000000oooo0?ooo`070?ooo`?o00004@3oool00ol00000oooo0?ooo`0A0?oo
+o`040000003oool0ooooo`0000@0oooo00D000000?ooo`3oool0oooo000000030?ooo`030000003o
+ool0oooo0080oooo00<000000?ooo`3oool0DP3oool004T0oooo0`00000C0?ooo`03o`00003oool0
+oooo01<0oooo00?o00000?ooo`3oool01P3oool00`000000oooo0?ooo`0:0?ooo`03o`00003oool0
+oooo00d0oooo00?o00000?ooo`3oool0403oool2000000<0oooo00?o00000?ooo`3oool00P3oool0
+1@000000oooo0?ooo`3oool0000000<0oooo00?o00000000003oool00P3oool00`000000oooo0?oo
+o`1B0?ooo`00B@3oool00`000000oooo0000000<0?ooo`030000003oool0oooo00@0oooo00?o0000
+0?ooo`3oool04P3oool00ol00000oooo0?ooo`070?ooo`030000003oool0oooo00d0oooo0_l00004
+0?ooo`03o`00003oool0oooo00<0oooo00?o00000?ooo`3oool0403oool00`000000oooo0?ooo`04
+0?ooo`05o`00003oool0oooo0?ooo`0000000`3oool00`000000oooo0?ooo`030?ooo`050000003o
+ool0oooo0?ooo`000000D`3oool004T0oooo0P0000000`3oool000000000000:0?ooo`030000003o
+ool0oooo02<0oooo00<000000?ooo`3oool03`3oool01Ol00000oooo0?ooo`3ooooo00000080oooo
+00?o00000?ooo`3oool04P3oool00`000000oooo0?ooo`050?ooo`04o`00003oool0oooo000000@0
+oooo00<000000?ooo`3oool0103oool010000000oooo0?ooo`00001C0?ooo`00B@3oool2000000<0
+oooo0P0000070?ooo`030000003oool0oooo02D0oooo00<000000?ooo`3oool04`3oool2o`0001<0
+oooo0P00000;0?ooo`030000003oool0oooo0080oooo00D000000?ooo`3oool0ooooo`0000020?oo
+o`040000003oool0oooo000005<0oooo001:0?ooo`800000103oool00`000000oooo0?ooo`040?oo
+o`030000003oool0oooo00H0oooo00?o00000?ooo`3oool0703oool00`000000oooo0?ooo`0B0?oo
+o`?o00004P3oool00`000000oooo0?ooo`0;0?ooo`030000003oool0oooo00<0oooo00@000000?oo
+o`3ooooo00000`3oool010000000oooo0?ooo`00001B0?ooo`00BP3oool2000000D0oooo0P00000=
+0?ooo`03o`00003oool0oooo0100oooo00?o00000?ooo`3oool02@3oool00`000000oooo0?ooo`0C
+0?ooo`03o`00003ooooo00000100oooo00<000000?ooo`3oool02`3oool00`000000oooo0?ooo`04
+0?ooo`050000003oool0oooo0?ooool000000`3oool00`000000oooo0000001B0?ooo`00B`3oool2
+000000H0oooo00<000000?ooo`3oool02`3oool00ol00000oooo0?ooo`0?0?ooo`03o`00003oool0
+oooo00T0oooo00<000000?ooo`3oool0403oool2o`0000030?ooool00000oooo00l0oooo0P00000>
+0?ooo`030000003oool0oooo00@0oooo00D000000?ooo`3oool0ooooo`0000030?ooo`040000003o
+ool0oooo00000540oooo001;0?ooo`8000001`3oool3000000X0oooo00?o00000?ooo`3oool03P3o
+ool00ol00000oooo0?ooo`0:0?ooo`030000003oool0oooo00h0oooo0_l000080?ooo`?o0000203o
+ool00`000000oooo0?ooo`0>0?ooo`0300000?l00000oooo00@0oooo00<000000?ooo`3oool01P3o
+ool00`000000oooo0000001A0?ooo`00B`3oool3000000P0oooo00<000000?ooo`3oool09P3oool0
+0`000000oooo0?ooo`0K0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool03P3oool0
+0`000000oooo0?ooo`050?ooo`030000003oool0oooo00L0oooo0P00001A0?ooo`00B`3oool00`00
+0000oooo000000070?ooo`040000003oool00000000002H0oooo00<000000?ooo`3oool02`3oool2
+o`0000H0oooo00?o00000?ooo`3oool02P3oool200000140oooo00<000000?ooo`3oool01@3oool0
+1@000000oooo0?ooo`3ooooo000000H0oooo0P00001@0?ooo`00C03oool3000000H0oooo00@00000
+0?ooo`3oool0oooo0P0000070?ooo`03o`00003oool0oooo00`0oooo00?o00000?ooo`3oool02`3o
+ool00`000000oooo0?ooo`0:0?ooo`03o`00003oool0oooo00H0oooo00?o00000?ooo`3oool01`3o
+ool2o`0000030000003oool0oooo0140oooo00D000000?ooo`3oool0ooooo`0000030?ooo`050000
+003oool0oooo0?ooool000001P3oool200000500oooo001<0?ooo`030000003oool0000000`0oooo
+00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`0<0?ooo`03o`00003oool0oooo00/0oooo
+00<000000?ooo`3oool02@3oool00ol00000oooo0?ooo`070?ooo`03o`00003oool0oooo00P0oooo
+00<00000o`00003oool04@3oool00`000000oooo0?ooo`020?ooo`05o`00003oool0oooo0?ooo`00
+00000`3oool00ol00000oooo0?ooo`050?ooo`030000003oool0oooo04h0oooo001<0?ooo`040000
+003oool0oooo000000`0oooo0P0000050?ooo`03o`00003oool0oooo00X0oooo00?o00000?ooo`3o
+ool0303oool00`000000oooo0?ooo`0C0?ooo`03o`00003oool0oooo00H0oooo0P0000020?ooo`03
+o`00003oool0oooo00l0oooo00<000000?ooo`3oool00`3oool01?l00000oooo0?ooo`0000030?oo
+o`03o`00003oool0oooo00H0oooo00<000000?ooo`3oool0C@3oool004d0oooo0`0000040?ooo`03
+0000003oool0oooo00L0oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?ooo`0:0?ooo`03
+o`00003oool0oooo00`0oooo00<000000?ooo`3oool01`3oool00ol00000oooo0?ooo`0A0?ooo`03
+0000003oool0oooo00D0oooo00?o00000?ooo`3oool0303oool00`000000oooo0?ooo`030?ooo`05
+o`00003oool0oooo0?ooo`0000002`3oool00`000000oooo0?ooo`1=0?ooo`00C@3oool200000003
+0?ooo`000000oooo0080oooo00<000000?ooo`3oool0203oool2000001h0oooo00<000000?ooo`3o
+ool01P3oool00ol00000oooo0?ooo`0@0?ooo`8000002@3oool00ol00000oooo0?ooo`0:0?ooo`03
+0000003oool0oooo00P0oooo00<000000?ooo`3oool02@3oool00`000000oooo0?ooo`1=0?ooo`00
+C@3oool01`000000oooo0000003oool000000?ooo`0000003@3oool00`000000oooo0?ooo`0K0?oo
+o`030000003oool0oooo00D0oooo00?o00000?ooo`3oool02`3oool00ol00000oooo0?ooo`020?oo
+o`030000003oool0oooo00X0oooo00?o00000?ooo`3oool02@3oool00`000000oooo0?ooo`080?oo
+o`030000003oool0oooo00P0oooo00<000000?ooo`3oool0CP3oool004h0oooo0P000000103oool0
+00000?ooo`00000>0?ooo`8000002`3oool00ol00000oooo0?ooo`0=0?ooo`030000003oool0oooo
+01<0oooo00Go00000?ooo`3oool0oooo0000000@0?ooo`;o00001`3oool00`000000oooo0?ooo`05
+0?ooo`04o`00003oool0oooo000000<0oooo00?o00000?ooo`3oool0103oool00`000000oooo0?oo
+o`1>0?ooo`00CP3oool01@000000oooo0?ooo`3oool000000100oooo00?o00000000000000002@3o
+ool00ol00000oooo0?ooo`0=0?ooo`040000003oool0oooo0?ooo`;o00004@3oool00ol000000000
+0000000C0?ooo`03o`00003oool0oooo00<0oooo00<000000?ooo`3oool01`3oool00ol00000oooo
+000000030?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool0CP3oool004h0oooo00D0
+00000?ooo`3oool0oooo0000000A0?ooo`03o`00003oool0000000L0oooo00?o00000?ooo`3oool0
+3P3oool010000000oooo0?ooool0000C0?ooo`030000003oool0oooo01@0oooo00?o00000?ooo`3o
+ool00P3oool00`000000oooo0?ooo`080?ooo`03o`0000000000oooo0080oooo00?o00000?ooo`3o
+ool0103oool00`000000oooo0?ooo`1>0?ooo`00CP3oool010000000oooo0000003oool200000100
+oooo00?o00000?ooo`3oool00P0000050?ooo`03o`00003oool0oooo00h0oooo00<000000?ooo`3o
+ool04`3oool00`000000oooo0?ooo`0H0?ooo`03o`00003oool0000000/0oooo00<000000?ooo`3o
+ool01`3oool00ol0000000000?ooo`1?0?ooo`00C`3oool2000000030?ooo`000000000001D0oooo
+00<000000?ooo`3oool04`3oool00`000000oooo0?ooo`0A0?ooo`800000703oool00`000000oooo
+0?ooo`0:0?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3oool0C`3oool004l0oooo00<0
+00000?ooo`0000000P3oool00`000000oooo0?ooo`0C0?ooo`8000004P3oool00ol0000000000?oo
+o`0A0?ooo`030000003oool0oooo01`0oooo00<00000o`00003oool02P3oool00ol0000000000?oo
+o`070?ooo`030000003oool0oooo04l0oooo001?0?ooo`030000003oool0000000;o000000<00000
+0?ooo`3oool03P3oool00ol00000oooo0?ooo`040?ooo`0300000?l00000oooo00h0oooo00?o0000
+0?ooo`0000004@3oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo01P0oooo00D00000
+0?ooo`3oool0ooooo`0000080?ooo`05o`0000000000oooo0?ooool000000`3oool00ol00000oooo
+0000001A0?ooo`00D03oool200000080oooo00?o00000000003oool03P3oool00ol00000oooo0?oo
+o`050?ooo`800000403oool00`000000oooo0?ooo`0=0?ooo`8000001@3oool00ol00000oooo0?oo
+o`0G0?ooo`030000003oool0oooo00<0oooo00?o00000?ooo`3oool01P3oool010000000oooo0?oo
+ool000030?ooo`03o`00003oool000000540oooo001@0?ooo`030000003oool000000080oooo00<0
+00000?ooo`3oool03P3oool00ol00000oooo0?ooo`030?ooo`03o`00003oool0oooo008000002@3o
+ool00ol00000oooo0?ooo`020?ooo`030000003oool0oooo00`0oooo00<000000?ooo`3oool01@3o
+ool00ol00000oooo0?ooo`0G0?ooo`030000003oool0oooo00@0oooo00?o00000?ooo`3oool01@3o
+ool01`00003o00000?ooo`3ooooo00000?ooool000000P3oool00`000000oooo0?ooo`1?0?ooo`00
+D03oool00`000000oooo000000030?ooo`0300000?l00000oooo00d0oooo00?o00000?ooo`3oool0
+0`3oool00ol00000oooo0?ooo`020?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool0
+103oool00`000000oooo0?ooo`0:0?ooo`030000003oool0oooo0200oooo00<000000?ooo`3oool0
+303oool02@000000oooo0?ooo`3ooooo00000?ooool00000oooo0000001B0?ooo`00D03oool00`00
+0000oooo0?ooo`030?ooo`030000003ooooo000001T0oooo0P0000040?ooo`03o`00003oool0oooo
+00D0oooo00<000000?ooo`3oool0203oool200000280oooo00<000000?ooo`3oool0203oool3o`00
+0080oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`1@0?ooo`00D@3oool00`000000
+oooo0?ooo`030?ooo`030000003ooooo000001X0oooo00<000000?ooo`3oool02@3oool00`000000
+oooo0?ooo`070?ooo`030000003oool0oooo0280oooo00<000000?ooo`3oool02`3oool01Ol00000
+oooo0000003ooooo000000D0oooo00<000000?ooo`3oool0D03oool00540oooo00<000000?ooo`00
+00000`3oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo00P0oooo00Go00000?ooo`3o
+ool0ooooo`0000080?ooo`03o`0000000000000000T0oooo00<000000?ooo`3oool01P3oool00`00
+0000oooo0?ooo`0:0?ooo`03o`00003oool0oooo01H0oooo00<000000?ooo`3oool03@3oool01000
+0000ooooo`00003oool2o`000080oooo00<000000?ooo`3oool0D03oool00540oooo00<000000?oo
+o`000000103oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo00L0oooo00Go00000?oo
+o`3oool0ooooo`0000070?ooo`05o`00003oool0oooo0?ooo`000000203oool00`000000oooo0?oo
+o`040?ooo`8000003@3oool00ol00000oooo0?ooo`0E0?ooo`030000003oool0oooo00l0oooo00<0
+0000o`000?l000000_l000000`3oool000000?ooo`1B0?ooo`00DP3oool2000000@0oooo00<00000
+0?ooo`3oool00`3oool00ol00000oooo0?ooo`060?ooo`05o`00003oool0oooo0?ooool00000303o
+ool2000000H0oooo00<000000?ooo`3oool00`3oool00`000000oooo0?ooo`0=0?ooo`03o`00003o
+ool0oooo01D0oooo00<000000?ooo`3oool03`3oool010000000ooooo`000?l000020?ooo`030000
+003oool0oooo0540oooo001B0?ooo`8000001@3oool00`000000oooo0?ooo`0;0?ooo`05o`00003o
+ool0oooo0?ooool00000103oool00ol00000oooo0?ooo`070?ooo`800000103oool00`000000oooo
+0?ooo`020?ooo`030000003oool0oooo00h0oooo00?o00000?ooo`3oool05@3oool00`000000oooo
+0?ooo`0<0?ooo`;o000000<0oooo0000003oool00_l000020?ooo`030000003oool0oooo0540oooo
+001B0?ooo`030000003oool0oooo00@0oooo00<000000?ooo`3oool01@3oool3o`0000/0oooo00?o
+00000?ooo`3oool02P3oool01@000000oooo0?ooo`3oool000000080oooo0P00000X0?ooo`030000
+003oool0oooo00L0oooo0_l000020?ooo`;o00000`3oool010000000ooooo`000?l000020?ooo`03
+0000003oool0oooo0540oooo001B0?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool0
+1`3oool00ol00000oooo0?ooo`070?ooo`03o`00003oool0oooo00`0oooo0P000000103oool00000
+0?ooo`00000Z0?ooo`030000003ooooo000000?o00000P3oool2o`0000T0oooo00<000000?ooool0
+00000`3oool00`000000oooo0?ooo`1A0?ooo`00D`3oool2000000D0oooo00<000000?ooo`3oool0
+2`3oool00ol00000ooooo`00000D0?ooo`<00000503oool00ol00000oooo0?ooo`0@0?ooo`Co0000
+00<000000?ooo`3oool03`3oool01ol0000000000?ooo`3ooooo00000?ooo`000000E03oool005<0
+oooo0P0000060?ooo`030000003oool0oooo00P0oooo0ol000000`3ooooo0000o`00000C0?ooo`@0
+00004`3oool00ol00000oooo0?ooo`060?ooo`;o00000P3oool4o`0000D0oooo00<000000?ooo`3o
+ool03`3oool00ol00000oooo000000020?ooo`03o`00003oool0000005@0oooo001C0?ooo`030000
+003oool0000000D0oooo00<000000?ooo`3oool02P3oool3o`0001<0oooo00<000000?ooo`000000
+0P3oool300000140oooo0ol000030?ooo`;o00003@3oool00`000000oooo0?ooo`0>0?ooo`04o`00
+003oool0oooo00000080oooo00?o00000?ooo`000000E03oool005@0oooo0P0000060?ooo`030000
+003oool0oooo00X0oooo1?l000020?ooo`Co00000P3oool4o`000080oooo00Ko000000000000003o
+00000?ooo`000004o`0000040?ooo`0000000000000000;o00000`3oool4o`000080oooo1?l0000D
+0?ooo`030000003oool0oooo0140oooo00H000000?ooo`3ooooo00000?ooo`00001D0?ooo`00E03o
+ool00`000000oooo0?ooo`050?ooo`030000003oool0oooo00X0oooo00?o00000?ooool000003P3o
+ool2000000D0oooo00<000000?ooo`3oool01@3oool3000000/0oooo00?o00000?ooo`3oool04@3o
+ool00`000000oooo0?ooo`0;0?ooo`;o0000103oool00ol00000oooo000000020?ooo`030000003o
+ool0oooo05<0oooo001D0?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool01`3oool0
+1_l00000oooo0?ooool00000ooooo`0000`0oooo00<000000?ooo`3oool01@3oool00`000000oooo
+0?ooo`080?ooo`<00000203oool00ol00000oooo0?ooo`0A0?ooo`030000003oool0oooo00X0oooo
+00?o00000?ooo`3oool0103oool00ol00000oooo000000020?ooo`030000003oool0oooo05<0oooo
+001D0?ooo`030000003oool0000000L0oooo00<000000?ooo`3oool01@3oool01Ol00000oooo0?oo
+o`3ooooo000000@0oooo00?o00000?ooo`3oool01@3oool2000000P0oooo00<000000?ooo`3oool0
+2`3oool3000000@0oooo00?o00000?ooo`3oool04P3oool00`000000oooo0?ooo`0C0?ooo`040000
+0?l00000oooo000005D0oooo001E0?ooo`8000001`3oool00`000000oooo0?ooo`040?ooo`03o`00
+003oool0oooo00P0oooo00?o00000?ooo`3oool00P3oool2000000X0oooo00<000000?ooo`3oool0
+3P3oool3000000030?ooool00000oooo0180oooo00<000000?ooo`3oool0203oool00ol00000oooo
+0?ooo`090?ooo`0400000?l00000oooo000005D0oooo001E0?ooo`800000203oool00`000000oooo
+0?ooo`0?0?ooo`04o`00003oool0oooo000000`0oooo00<000000?ooo`3oool04@3oool300000180
+oooo00<000000?ooo`3oool01`3oool00ol00000oooo0?ooo`060?ooo`08o`00003oool0oooo0?oo
+o`00003o00000?ooo`00001E0?ooo`00E@3oool2000000P0oooo00D000000?ooo`3oool0ooooo`00
+00070?ooo`03o`00003oool0oooo00@0oooo0P00000>0?ooo`030000003oool0oooo01<0oooo0`00
+000?0?ooo`030000003oool0oooo00H0oooo00?o00000?ooo`3oool01`3oool01ol00000oooo0?oo
+o`3oool00000o`0000000000EP3oool005H0oooo00<000000?ooo`3oool01`3oool010000000oooo
+0?ooool000070?ooo`03o`00003oool0oooo0080oooo0P0000020?ooo`;o0000303oool00`000000
+oooo0?ooo`0A0?ooo`03o`00003oool0oooo0080oooo0`00000;0?ooo`030000003oool0oooo0100
+oooo00?o00000?ooo`3oool00P3oool00`000000oooo0000001F0?ooo`00EP3oool00`000000oooo
+0?ooo`070?ooo`030000003ooooo000000T0oooo00Co00000?ooo`3oool000001P3oool00ol00000
+oooo0?ooo`090?ooo`030000003oool0oooo0140oooo00?o00000?ooo`3oool01@3oool3000000P0
+oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`0>0?ooo`030000003oool0000005H0
+oooo001F0?ooo`8000002@3oool00`000000oooo0?ooo`080?ooo`03o`0000000000000001<0oooo
+00<000000?ooo`3oool04@3oool00ol00000oooo0?ooo`080?ooo`<000001@3oool00`000000oooo
+0?ooo`030?ooo`03o`00003oool0oooo0100oooo0P00001F0?ooo`00E`3oool00`000000oooo0?oo
+o`070?ooo`030000003oool0oooo00L0oooo0P00000<0?ooo`03o`00003oool0oooo00L0oooo00<0
+00000?ooo`3oool0403oool00ol00000oooo0?ooo`0;0?ooo`<0000000<0oooo0000003oool0103o
+ool00ol00000oooo0?ooo`090?ooo`03o`00003oool0oooo00D0oooo0P00001F0?ooo`00E`3oool2
+000000H0oooo00Co00000?ooo`3oool000001`3oool00`000000oooo0?ooo`0=0?ooo`03o`00003o
+ool0oooo00H0oooo00<000000?ooo`3oool08@3oool?000000@0oooo00?o00000?ooo`3oool01@3o
+ool00`000000oooo0?ooo`1E0?ooo`00E`3oool2000000D0oooo00Go00000?ooo`3oool0oooo0000
+00050?ooo`8000000`3oool00ol00000oooo0?ooo`0;0?ooo`03o`00003oool0oooo00D0oooo00<0
+00000?ooo`3oool08P3oool010000000ooooo`000?l0000:0?ooo`d00000E`3oool005L0oooo00<0
+00000?ooo`3oool00`3oool00ol00000oooo0?ooo`030?ooo`030000003oool0oooo008000001@3o
+ool00ol00000oooo0?ooo`0>0?ooo`;o00000`3oool00`000000oooo0?ooo`0@0?ooo`03o`00003o
+ool0oooo00h0oooo00<000000?ooool000003`3oool00ol00000oooo0?ooo`040?ooo`030000003o
+ool0oooo05L0oooo001H0?ooo`030000003oool0oooo00P0oooo00<000000?ooo`000000203oool0
+0ol00000oooo0?ooo`0?0?ooo`04o`00003oool0oooo00000180oooo00?o00000?ooo`3oool03@3o
+ool00`000000oooo0?ooo`0F0?ooo`030000003oool0oooo05P0oooo001H0?ooo`030000003oool0
+oooo00L0oooo1000000K0?ooo`04o`00003oool0oooo00000140oooo00?o00000?ooo`3oool03@3o
+ool00`000000oooo0?ooo`0>0?ooo`03o`00003oool0oooo00<0oooo0P00001K0?ooo`00F03oool0
+10000000oooo0?ooool000020?ooo`@00000103oool00`000000oooo0?ooo`0K0?ooo`030000003o
+ool0oooo00l0oooo00?o00000?ooo`3oool0303oool00`00003o00000?ooo`0?0?ooo`03o`00003o
+ool0oooo0080oooo0P00001L0?ooo`00F@3oool00`00003o000000000002000000T0oooo00<00000
+0?ooo`3oool01@3oool00ol00000oooo0?ooo`0A0?ooo`03o`000000003o000001h0oooo00<00000
+0?ooo`3oool03`3oool00ol00000oooo0?ooo`020?ooo`800000G@3oool005T0oooo0`00000<0?oo
+o`030000003oool0oooo00@0oooo00?o00000?ooo`3oool04P3oool00`000000ooooo`00000M0?oo
+o`030000003oool0oooo00l0oooo00?o00000?ooo`3oool00`00001N0?ooo`00F`3oool2000000`0
+oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`0A0?ooo`030000003oool0oooo00l0
+oooo00?o00000?ooo`3oool0203oool00ol00000oooo0000000D0?ooo`030000003oool0000005l0
+oooo001L0?ooo`800000303oool00`000000oooo0?ooo`030?ooo`03o`00003oool0oooo0180oooo
+00D000000?ooo`3oool0ooooo`00000<0?ooo`03o`00003oool0oooo00L0oooo00?o00000?ooo`00
+0000503oool00`000000oooo0000001P0?ooo`00GP3oool3000000X0oooo00<000000?ooo`3oool0
+5`3oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo00T0oooo00?o00000?ooo`3oool0
+1P3oool01?l00000oooo0?ooo`00000A0?ooo`05o`000000000000000?ooo`000000H@3oool005l0
+oooo0`00000:0?ooo`030000003oool0oooo01H0oooo00<000000?ooo`3oool00`3oool00ol00000
+oooo0?ooo`080?ooo`03o`00003oool0oooo00P0oooo00<000000?ooo`3oool0403oool010000000
+oooo0?ooo`00001R0?ooo`00H@3oool00`000000oooo0?ooo`02000000L0oooo00<000000?ooo`3o
+ool00P3oool00ol00000oooo0?ooo`0@0?ooo`030000003oool0oooo01@0oooo00Go00000?ooo`3o
+ool0oooo0000000B0?ooo`040000003oool0oooo000006<0oooo001R0?ooo`050000003oool0oooo
+0?ooo`0000001`3oool01@000000oooo0?ooo`3ooooo000001<0oooo00<000000?ooo`3oool01@3o
+ool2o`0000/0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`0?0?ooo`040000003o
+ool0oooo000006@0oooo001S0?ooo`8000000P3oool00`000000oooo0?ooo`050?ooo`050000003o
+ool0oooo0?ooool000004P3oool00`000000oooo0?ooo`070?ooo`03o`00003oool0oooo00L0oooo
+00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`0>0?ooo`8000000P3oool00`000000oooo
+0?ooo`1S0?ooo`00I@3oool00`000000oooo0?ooo`020?ooo`800000103oool010000000oooo0?oo
+ool0000B0?ooo`030000003oool0oooo00`0oooo00?o00000?ooo`3oool01P3oool00`000000oooo
+0?ooo`0>0?ooo`050000003ooooo00000?ooo`000000IP3oool006H0oooo0P0000040?ooo`030000
+003oool0oooo0080oooo00<000000?ooo`3oool04P3oool00`000000oooo0?ooo`0:0?ooo`?o0000
+00<0ooooo`000?l000001@3oool00`000000oooo0?ooo`0=0?ooo`050000003oool0ooooo`000000
+0000I`3oool006P0oooo00<000000?ooo`3oool01`3oool00`000000oooo0?ooo`0A0?ooo`030000
+003oool0oooo00/0oooo1?l000020?ooo`?o000000<000000?ooo`3oool0303oool200000080oooo
+00?o00000000003oool0I`3oool006T0oooo0P0000040?ooo`<0000000<0oooo00000?l000004P3o
+ool00`000000oooo0?ooo`020?ooo`Co00000`3oool00ol00000ooooo`0000060?ooo`030000003o
+ool0oooo0080oooo0ol000030?ooo`Co000000@000000?ooool0003o00000P00001Y0?ooo`00J`3o
+ool00`000000oooo0?ooo`040?ooo`030000003oool0000000d0oooo0_l000020?ooo`04o`000000
+003o0000o`000180oooo00<000000?ooo`3oool02`3oool01@000000oooo0?ooo`3oool0000006/0
+oooo001/0?ooo`8000001`3oool00`000000oooo0?ooo`020?ooo`Co00000P3oool2o`0000D0oooo
+00<000000?ooo`3oool04@3oool00`000000oooo0?ooo`0:0?ooo`8000000P3oool2000006`0oooo
+001^0?ooo`030000003oool0oooo00@0oooo00?o000000000?l000003`3oool00`000000oooo0?oo
+o`0@0?ooo`030000003oool0oooo00X0oooo00D000000?ooo`3oool0oooo0000001^0?ooo`00K`3o
+ool2000000H0oooo00<000000?ooo`3oool03P3oool00`000000oooo0?ooo`090?ooo`03o`00003o
+ool0oooo00<0oooo00<000000?ooo`3oool02@3oool00`000000oooo0?ooo`02000006l0oooo001a
+0?ooo`030000003oool0oooo00@0oooo0P00000>0?ooo`030000003oool0oooo00T0oooo00?o0000
+0?ooo`3oool00P3oool00`000000oooo0?ooo`080?ooo`8000000P3oool00`000000oooo0?ooo`1_
+0?ooo`00LP3oool2000000D0oooo0P00000=0?ooo`030000003oool0oooo00P0oooo00?o00000?oo
+o`3oool00P3oool00`000000oooo0?ooo`080?ooo`030000003oool0oooo00800000LP3oool007@0
+oooo00<000000?ooo`3oool00`3oool2000000`0oooo00<000000?ooo`3oool03@3oool00`000000
+oooo0?ooo`070?ooo`040000003oool0oooo000007@0oooo001e0?ooo`030000003oool0oooo00@0
+oooo00<000000?ooo`3oool02@3oool00`000000oooo0?ooo`0<0?ooo`030000003oool0oooo00H0
+oooo0P0000000`3oool000000000001e0?ooo`00MP3oool2000000@0oooo0P00000;0?ooo`030000
+003oool0oooo00D0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`060?ooo`040000
+003oool0oooo000007L0oooo001h0?ooo`030000003oool0oooo0080oooo0P00000:0?ooo`030000
+003oool0oooo00D0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`050?ooo`040000
+003oool00000000007P0oooo001i0?ooo`8000000`3oool2000000T0oooo00<000000?ooo`3oool0
+103oool00ol00000oooo0?ooo`020?ooo`030000003oool0oooo00@0oooo0P0000000`3oool00000
+0?ooo`1i0?ooo`00N`3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo00H0oooo00<0
+00000?ooo`3oool0103oool01Ol00000oooo0?ooo`3oool0000000H0oooo00@000000?ooo`000000
+0000N`3oool007`0oooo0P0000030?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool0
+203oool00`000000oooo0?ooo`030?ooo`030000003oool0000007d0oooo001n0?ooo`050000003o
+ool0oooo0?ooo`0000001`3oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo00<0oooo
+0`00001n0?ooo`00O`3oool200000080oooo00<000000?ooo`3oool0103oool00`000000oooo0?oo
+o`020?ooo`04o`00003oool0oooo000000@0oooo0`0000200?ooo`00P@3oool010000000oooo0?oo
+o`0000050?ooo`030000003oool0oooo0080oooo00Co00000?ooo`3oool000000`3oool300000840
+oooo00220?ooo`80000000<0oooo0000003oool00`3oool01@000000oooo0?ooo`3ooooo00000080
+oooo00@000000?ooo`3oool0oooo0P0000230?ooo`00Q03oool3000000@0oooo00H000000?ooo`3o
+oooo00000?ooo`0000020?ooo`<00000Q03oool008D0oooo00<000000?ooo`0000000`3oool00`00
+0000oooo0?ooo`020?ooo`040000003oool00000000008H0oooo00260?ooo`<000000P3oool01P00
+0000oooo0?ooo`3oool000000?ooo`800000Q`3oool008P0oooo0P000000103oool000000?ooool0
+0003000008T0oooo00290?ooo`<0000000@0ooooo`00000000000000RP3oool008/0oooo0`00002<
+0?ooo`00S03oool00`000000oooo0?ooo`2;0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3o
+oolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.4104 .57603 m
+.55806 .45048 L
+s
+.4104 .57603 m
+.34205 .4116 L
+s
+.4104 .57603 m
+.5704 .56684 L
+s
+.4104 .57603 m
+.44521 .41961 L
+s
+.4104 .57603 m
+.30586 .5282 L
+s
+.4409 .687 m
+.4104 .57603 L
+s
+.33127 .64347 m
+.4104 .57603 L
+s
+.56177 .66998 m
+.4104 .57603 L
+s
+.55806 .45048 m
+.72174 .53604 L
+s
+.55806 .45048 m
+.5 .27523 L
+s
+.55806 .45048 m
+.63136 .38822 L
+s
+.5704 .56684 m
+.55806 .45048 L
+s
+.44521 .41961 m
+.55806 .45048 L
+s
+.5704 .56684 m
+.72174 .53604 L
+s
+.56177 .66998 m
+.5704 .56684 L
+s
+.44521 .41961 m
+.5 .27523 L
+s
+.44521 .41961 m
+.34205 .4116 L
+s
+.63136 .38822 m
+.67212 .35366 L
+s
+.63136 .38822 m
+.72174 .53604 L
+s
+.63136 .38822 m
+.5 .27523 L
+s
+.56177 .66998 m
+.72174 .53604 L
+s
+.56177 .66998 m
+.4409 .687 L
+s
+.64223 .66726 m
+.56177 .66998 L
+s
+.5 .75807 m
+.56177 .66998 L
+s
+.34205 .4116 m
+.5 .27523 L
+s
+.34205 .4116 m
+.24533 .45861 L
+s
+.34205 .4116 m
+.35775 .3327 L
+s
+.30586 .5282 m
+.34205 .4116 L
+s
+.72174 .53604 m
+.67212 .35366 L
+s
+.64223 .66726 m
+.72174 .53604 L
+s
+.0035 w
+[ ] 0 setdash
+.72174 .53604 m
+.716 .46862 L
+s
+.68501 .60355 m
+.72174 .53604 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.5 .27523 m
+.67212 .35366 L
+s
+.35775 .3327 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .27523 m
+.56576 .2919 L
+s
+.5 .27523 m
+.42762 .30083 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.33127 .64347 m
+.4409 .687 L
+s
+.5 .75807 m
+.4409 .687 L
+s
+.30586 .5282 m
+.24533 .45861 L
+s
+.33127 .64347 m
+.30586 .5282 L
+s
+.0035 w
+[ ] 0 setdash
+.33127 .64347 m
+.24533 .45861 L
+s
+.34491 .63198 m
+.33127 .64347 L
+s
+.5 .75807 m
+.33127 .64347 L
+s
+.5 .75807 m
+.64223 .66726 L
+s
+.68501 .60355 m
+.64223 .66726 L
+s
+.35775 .3327 m
+.42762 .30083 L
+s
+.35775 .3327 m
+.24533 .45861 L
+s
+.67212 .35366 m
+.62321 .39544 L
+s
+.67212 .35366 m
+.716 .46862 L
+s
+.56576 .2919 m
+.67212 .35366 L
+s
+.716 .46862 m
+.62321 .39544 L
+s
+.68501 .60355 m
+.716 .46862 L
+s
+.56576 .2919 m
+.62321 .39544 L
+s
+.42762 .30083 m
+.56576 .2919 L
+s
+.5 .75807 m
+.34491 .63198 L
+s
+.42176 .56672 m
+.5 .75807 L
+s
+.57206 .60573 m
+.5 .75807 L
+s
+.68501 .60355 m
+.5 .75807 L
+s
+.24533 .45861 m
+.42762 .30083 L
+s
+.24533 .45861 m
+.40739 .41207 L
+s
+.34491 .63198 m
+.24533 .45861 L
+s
+.42176 .56672 m
+.24533 .45861 L
+s
+.68501 .60355 m
+.62321 .39544 L
+s
+.68501 .60355 m
+.57206 .60573 L
+s
+.42762 .30083 m
+.62321 .39544 L
+s
+.40739 .41207 m
+.42762 .30083 L
+s
+.42176 .56672 m
+.34491 .63198 L
+s
+.57206 .60573 m
+.62321 .39544 L
+s
+.57206 .60573 m
+.42176 .56672 L
+s
+.40739 .41207 m
+.62321 .39544 L
+s
+.42176 .56672 m
+.40739 .41207 L
+s
+.42176 .56672 m
+.62321 .39544 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00Roooool4o`0008_ooooo0028ooooo`Go00000_oo
+ool3o`0008Sooooo0025ooooo`?o00000_ooool00ol0003oooooooooo`03o`0000;ooooo1?l00024
+ooooo`00P_ooool3o`0000Kooooo00?o0000ooooooooool00_ooool01?l0003oooooooooo`000002
+ooooo`Co0000P?ooool007oooooo0ol00005ooooo`05o`000?ooooooooooooooool000002?ooool0
+0`00003oooooooooo`03ooooo`?o0000OOooool007cooooo0ol00007ooooo`05o`000?oooooooooo
+ooooool000000oooool00ol0003oooooooooo`04ooooo`_o0000N_ooool007Wooooo0ol000000ooo
+ool0000000000003oooooa?o00001Oooool01P00003ooooooooooooooooo0000ooooo`;o0000N?oo
+ool007Oooooo2ol0000=ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool01oooool0
+1?l0003oooooooooool0001gooooo`00MOooool2o`00000300000?l0003ooooo00;o00001_ooool0
+0ol0003oooooooooo`0:ooooo`03o`000?oooooooooo00_ooooo0P0000001?l0003ooooooooooooo
+ool2o`0007Gooooo001booooo`Co000000<00000ooooool000000oooool2o`0000?ooooo00?o0000
+ooooooooool01Oooool00ol0003oooooooooo`0Cooooo`0300000?l0003ooooo00?ooooo0_l0001c
+ooooo`00L?ooool2o`00000300000?oooooo000000?ooooo00?o0000ooooooooool00oooool3o`00
+00Sooooo00?o0000ooooooooool02oooool2o`0000Sooooo00Co000000000000000000000_ooool2
+o`00077ooooo001^ooooo`;o000000@00000oooooooooooo00000oooool00ol0003oooooooooo`06
+ooooo`;o00001_ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00Kooooo00?o0000
+ooooooooool01Oooool01Ol0003oooooooooooooool0000000?ooooo00?o0000ooooooooool0K_oo
+ool006cooooo0_l00003ooooo`;o00001?ooool00ol0003oooooooooo`04ooooo`04o`000?oooooo
+ooooooooo`;o00001?ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00oooooo00?o
+0000ooooooooool01Oooool2o`0006kooooo001Zooooo`;o000000D00000ooooooooooooooooo`00
+0006ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool01?ooool2o`0000_ooooo00?o
+0000ooooooooool03_ooool00ol0003oooooooooo`03ooooo`<0000000?oooooo`000?l00000K?oo
+ool006Oooooo0ol000000`00003oooooooooo`02ooooo`03o`000?oooooooooo00Gooooo00?o0000
+ooooooooool00_ooool00ol0003oooooooooo`07ooooo`;o00002Oooool00ol0003oooooooooo`08
+ooooo`;o00001Oooool00ol0003oooooooooo`05ooooo`0300000?oooooooooo00;o0000J_ooool0
+06Gooooo0_l000000`00003oooooooooo`04ooooo`03o`000?oooooooooo00Kooooo00?o0000oooo
+ooooool03?ooool01?l0003oooooo`000?l0000Dooooo`03o`000?oooooooooo00?ooooo00?o0000
+ooooooooool01oooool2000000;o0000J?ooool006Cooooo00?o000000000?ooool01_ooool00ol0
+003oooooooooo`06ooooo`04o`000?ooooooooooo`0000cooooo00Co0000oooooooooooooooo0_l0
+000Hooooo`03o`000?oooooooooo00Wooooo00<00000ooooool00000Ioooool006Cooooo00?o0000
+ooooooooool01Oooool00ol0003oooooooooo`07ooooo`03o`000?oooooo000000cooooo00?o0000
+ooooooooool01?ooool2o`0000Cooooo00?o0000ooooooooool04?ooool00ol0003oooooooooo`0;
+ooooo`;o0000IOooool006?ooooo0_l00005ooooo`;o00002_ooool2o`0001Kooooo0_l00002oooo
+o`03o`000?oooooooooo00cooooo00Go0000ooooooooooooooooo`00000=ooooo`8000000_l0001S
+ooooo`00H_ooool2o`0000Gooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`0Goooo
+o`;o000000?oooooo`000?ooool03Oooool01Ol0003ooooooooooooooooo000000oooooo00<00000
+o`000?l00000HOooool0067ooooo00?o0000ooooool000001?ooool00ol0003oooooooooo`09oooo
+o`03o`000?oooooo000000gooooo00?o0000ooooooooool02oooool3o`0000kooooo00Go0000oooo
+ooooooooooooo`00000Aooooo`03o`000000003ooooo05kooooo001Pooooo`03o`000?oooooooooo
+00Cooooo00?o0000ooooooooool02Oooool00ol0003oooooo`00000>ooooo`03o`000?oooooooooo
+00kooooo0_l0000@ooooo`03o`000?oooooooooo013ooooo0_l0001Nooooo`00Goooool00ol0003o
+ooooooooo`04ooooo`03o`000?oooooooooo00Wooooo00Co0000oooooooooooo00003Oooool00ol0
+003oooooooooo`0Aooooo`;o00003?ooool2o`000003ooooool0003ooooo017ooooo0_l0001Moooo
+o`00G_ooool00ol0003oooooooooo`02ooooo`?o00003oooool00ol0003oooooooooo`0;ooooo`03
+o`000?oooooooooo00kooooo00?o0000ooooooooool00_ooool2o`0000cooooo0_l0000Aooooo`Co
+0000G?ooool005gooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`0:ooooo`03o`00
+0?oooooooooo00;ooooo00?o0000ooooooooool07?ooool00ol0003oooooooooo`04ooooo`;o0000
+2oooool2o`0000oooooo0_l00002ooooo`03o`000?oooooooooo05[ooooo001Looooo`03o`000?oo
+oooooooo00?ooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`03ooooo`03o`000?oo
+oooooooo01gooooo00?o0000ooooooooool01Oooool2o`0000[ooooo00?o0000ooooooooool03?oo
+ool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo05[ooooo001Kooooo`03o`000?oooooo
+oooo00?ooooo0_l0000;ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool02oooool0
+0ol0003oooooooooo`0@ooooo`03o`000?oooooooooo00Oooooo0_l00009ooooo`03o`000?oooooo
+oooo00[ooooo0_l00004ooooo`03o`000?oooooooooo05[ooooo001Jooooo`03o`000?oooooooooo
+00?ooooo00?o0000ooooooooool04Oooool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo
+01cooooo0_l00008ooooo`03o`000?oooooooooo00Sooooo0_l00006ooooo`03o`000?oooooooooo
+05Wooooo001Iooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool02Oooool00ol0003o
+ooooooooo`06ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool07oooool2o`0000Ko
+oooo0_l00008ooooo`;o00001oooool00ol0003oooooooooo`1Iooooo`00FOooool01?l0003ooooo
+ooooooooool2o`0000;ooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`07ooooo`03
+o`000?oooooooooo00[ooooo00?o0000ooooooooool04_ooool00ol0003oooooooooo`0<ooooo`;o
+00001Oooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00Oooooo0_l0001Jooooo`00
+F?ooool01Ol0003ooooooooooooooooo000000Cooooo00?o0000ooooooooool01Oooool00ol0003o
+ooooooooo`08ooooo`03o`000?oooooooooo01oooooo00?o0000ooooooooool03_ooool2o`0000?o
+oooo00Co0000oooooooooooo00000oooool00ol0003oooooooooo`08ooooo`;o0000F_ooool005Oo
+oooo00Go0000ooooooooooooooooo`000005ooooo`03o`000?oooooooooo00oooooo00?o0000oooo
+ooooool08?ooool00ol0003oooooooooo`0@ooooo`;o00000_ooool01_l0003oooooooooool0003o
+ooooo`0000cooooo00?o0000ooooooooool0F?ooool005Kooooo00Go0000ooooooooooooooooo`00
+0006ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool02_ooool00ol0003ooooooooo
+o`0:ooooo`03o`000?oooooooooo01?ooooo00?o0000ooooooooool04_ooool2o`000003ooooool0
+003ooooo00;o00003_ooool00ol0003oooooooooo`1Gooooo`00EOooool01Ol0003ooooooooooooo
+oooo000000_ooooo00?o0000ooooooooool02oooool00ol0003oooooooooo`0:ooooo`03o`000?oo
+oooooooo02[ooooo1Ol0000>ooooo`03o`000?oooooooooo05Oooooo001Dooooo`03o`000?oooooo
+oooo00;o00002oooool00ol0003oooooooooo`0<ooooo`03o`000?oooooooooo00Wooooo00?o0000
+ooooooooool09Oooool:o`000003ooooool0003ooooo00gooooo00?o0000ooooooooool0E_ooool0
+05?ooooo00Co0000oooooooooooo00002Oooool00ol0003oooooooooo`0@ooooo`03o`000?oooooo
+oooo00Wooooo00?o0000ooooooooool05_ooool?o`0000Gooooo0_l000001?oooooo0000ooooool0
+000>ooooo`;o0000F?ooool005;ooooo00Co0000oooooooooooo00002_ooool00ol0003oooooo`00
+000?ooooo`03o`000?oooooooooo01Cooooo4?l0000Booooo`;o00000_ooool01?l0003ooooooooo
+ool0000=ooooo`;o0000F?ooool0057ooooo00Co0000oooooooooooo00002oooool2o`00013ooooo
+00?o0000ooooooooool01Oooool?o`0000oooooo00?o0000ooooooooool03oooool2o`0000;ooooo
+00?o0000ooooool000000_ooool2o`0000cooooo0_l0001Gooooo`00D?ooool01?l0003ooooooooo
+ool0000;ooooo`Go00003?ooool:o`0000Cooooo00?o0000ooooooooool0:Oooool01ol0003ooooo
+oooooooooooo0000ooooool000001?ooool00ol0003oooooooooo`0:ooooo`03o`000?oooooooooo
+05Gooooo001?ooooo`04o`000?ooooooooooo`0000[ooooo1?l00003ooooo`03o`000?oooooooooo
+00Co00000_ooool4o`000003ooooool0003ooooo00[ooooo00?o0000ooooooooool09oooool2o`00
+00Cooooo00?o0000ooooool000001Oooool00ol0003oooooooooo`0:ooooo`03o`000?oooooooooo
+05Cooooo001?ooooo`?o00003Oooool00ol0003oooooooooo`07ooooo`Co00001Oooool00ol0003o
+ooooo`000002o`0000?ooooo1Ol0000Xooooo`03o`000?oooooooooo00Cooooo00Co0000oooooooo
+oooo00001Oooool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo05Cooooo001>ooooo`;o
+00002Oooool2o`0000Cooooo00?o0000ooooooooool01?ooool3o`0000Wooooo00?o0000oooooooo
+ool02?ooool00ol0003oooooo`00000Iooooo`03o`000?oooooooooo00[ooooo00?o0000oooooooo
+ool01?ooool01Ol0003ooooooooooooooooo000000Kooooo0_l00007ooooo`04o`000?oooooooooo
+o`0005Gooooo001=ooooo`;o00002?ooool2o`0000Sooooo1Ol0000<ooooo`03o`000?oooooooooo
+00Oooooo00?o0000ooooooooool01?ooool2o`0001Cooooo00?o0000ooooooooool02Oooool00ol0
+003oooooooooo`05ooooo`05o`000?ooooooooooooooool000001Oooool01?l0003oooooooooool0
+0006ooooo`04o`000?ooooooooooo`0005Gooooo001<ooooo`;o00004Oooool3o`00013ooooo00?o
+0000ooooooooool04?ooool00ol0003oooooooooo`0Booooo`03o`000?oooooooooo00Kooooo0_l0
+0008ooooo`05o`000?ooooooooooooooool000001Oooool01Ol0003ooooooooooooooooo000000Ko
+oooo00?o0000ooooool00000EOooool004_ooooo0_l00006ooooo`;o00001_ooool4o`0000?ooooo
+00?o0000ooooooooool03_ooool00ol0003oooooooooo`0Booooo`Co00005_ooool2o`0000Wooooo
+00?o0000ooooooooool00_ooool00ol0003oooooooooo`03ooooo`04o`000?ooooooooooooooo`;o
+00001oooool00ol0003oooooooooo`1Booooo`00B_ooool2o`0000Kooooo00?o0000ooooooooool0
+0_ooool4o`0000?ooooo00?o0000ooooooooool04_ooool00ol0003oooooooooo`05ooooo`03o`00
+0?oooooooooo013ooooo0ol0000@ooooo`;o00002Oooool00ol0003oooooooooo`03ooooo`03o`00
+0?oooooooooo00Cooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`04ooooo`03o`00
+0?oooooooooo05;ooooo0019ooooo`03o`000?oooooooooo00;ooooo0_l00004ooooo`?o00001ooo
+ool00ol0003oooooooooo`0Booooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool04ooo
+ool00ol0003oooooooooo`07ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool02Ooo
+ool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool01?oo
+ool00ol0003oooooooooo`1Aooooo`00B?ooool00ol0003oooooooooo`02ooooo`03o`000?oooooo
+oooo00Co00002Oooool00ol0003oooooooooo`0Cooooo`03o`000?oooooooooo00Gooooo00?o0000
+ooooooooool05_ooool3o`0000Cooooo00?o0000ooooooooool00_l0000<ooooo`03o`000?oooooo
+oooo00Cooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`02ooooo`;o000000Gooooo
+o`000?ooooooooooo`00001Cooooo`00Aoooool00ol0003oooooooooo`02ooooo`Co00004oooool0
+0ol0003oooooooooo`0=ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool06Oooool0
+0ol0003oooooooooo`02ooooo`?o00003Oooool00ol0003oooooooooo`04ooooo`03o`000?oooooo
+oooo00Gooooo00?o0000ooooooooool01?ooool2o`0000;ooooo00?o0000ooooooooool0DOooool0
+04Kooooo00?o0000ooooool000001?l0000Gooooo`03o`000?oooooooooo00cooooo00?o0000oooo
+ooooool09?ooool5o`0000cooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`06oooo
+o`03o`000?oooooooooo00Cooooo0_l00002ooooo`03o`000?oooooooooo053ooooo0015ooooo`Co
+00007?ooool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo02Gooooo0_l00002ooooo`03
+o`000?oooooooooo00Wooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`05ooooo`03
+o`000?oooooooooo00Gooooo00Co0000oooooooooooo0000D_ooool004Cooooo0_l0000Fooooo`03
+o`000?oooooooooo01Cooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`0Mooooo`;o
+000000?oooooo`000?ooool03?ooool00ol0003oooooooooo`06ooooo`03o`000?oooooooooo00ko
+oooo0_l000000ooooooo0000ooooo`1@ooooo`00A?ooool3o`0001Gooooo00?o0000ooooooooool0
+5?ooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo01cooooo00?o0000ooooooooool0
+1_ooool2o`0000Oooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`0@ooooo`;o0000
+DOooool004Gooooo00Co0000ooooool0003o00004_ooool00ol0003oooooooooo`08ooooo`03o`00
+0?oooooooooo00[ooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`0Kooooo`03o`00
+0?oooooooooo00Wooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`07ooooo`03o`00
+0?oooooooooo00Oooooo00?o0000ooooooooool01?ooool01?l0003oooooooooool0001Aooooo`00
+AOooool01?l0003oooooooooooooool2o`0001_ooooo00?o0000ooooooooool02_ooool00ol0003o
+ooooooooo`04ooooo`03o`000?oooooooooo01[ooooo00?o0000ooooooooool00oooool00ol0003o
+ooooooooo`0:ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool01_ooool00ol0003o
+ooooooooo`04ooooo`05o`000?ooooooooooooooool00000D?ooool004Kooooo00?o000000000?oo
+ool00_ooool00ol0003oooooooooo`0Iooooo`03o`000?oooooooooo00[ooooo00?o0000oooooooo
+ool07_ooool2o`0000Kooooo00?o0000ooooooooool01oooool4o`0000[ooooo00?o0000oooooooo
+ool01oooool00ol0003oooooooooo`03ooooo`05o`000?ooooooooooooooool00000D?ooool004Ko
+oooo0_l000001000003oooooooooooooool2o`0000cooooo00?o0000ooooooooool02_ooool00ol0
+003oooooooooo`0:ooooo`03o`000?oooooooooo01gooooo00?o0000ooooooooool01_ooool00ol0
+003oooooooooo`0:ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool04Oooool00ol0
+003oooooooooo`1>ooooo`00Aoooool00ol0003ooooo00000004ooooo`03o`000?oooooooooo00Wo
+oooo00?o0000ooooooooool05oooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo01Oo
+oooo00?o0000ooooooooool01oooool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo00[o
+oooo00?o0000ooooooooool03oooool2o`00053ooooo0017ooooo`;o00001_ooool2o`0000Sooooo
+00?o0000ooooooooool06?ooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo01Kooooo
+00?o0000ooooooooool05?ooool01?l0003oooooooooooooool2o`0000Oooooo00?o0000oooooooo
+ool02?ooool00ol0003oooooooooo`04ooooo`;o0000D?ooool004Sooooo00Co0000ooooooooool0
+00001Oooool2o`0000Kooooo00?o0000ooooooooool03?ooool00ol0003oooooooooo`09ooooo`05
+o`000?ooooooooooooooool000005oooool2o`0001Oooooo00?o0000ooooooooool00oooool00ol0
+003oooooooooo`04ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool00_ooool01?l0
+003oooooo`000?l0001@ooooo`00B?ooool2o`000003ooooo`00003ooooo00Kooooo00?o0000oooo
+ooooool04_ooool00ol0003oooooooooo`09ooooo`05o`000?ooooooooooooooool000005_ooool2
+o`0001Sooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`09ooooo`06o`000?oooooo
+ooooooooool0003ooooo0_l0001@ooooo`00BOooool01?l0003oooooooooo`000007ooooo`;o0000
+4oooool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo01Oooooo0_l0000>ooooo`03o`00
+0?oooooooooo00Oooooo00?o0000ooooooooool01oooool3o`0000;ooooo00?o0000ooooooooool0
+3Oooool00ol0003oooooo`00001@ooooo`00BOooool2o`0000;ooooo00<00000ooooooooool01_oo
+ool3o`00013ooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`0Fooooo`03o`000?oo
+oooooooo00kooooo00?o0000ooooooooool01oooool00ol0003oooooooooo`0:ooooo`03o`000?oo
+oooo000000oooooo00?o0000ooooool00000D?ooool004[ooooo0_l0000<ooooo`03o`000?oooooo
+oooo01Wooooo00?o0000ooooooooool05Oooool2o`00013ooooo00?o0000ooooooooool01oooool0
+0ol0003oooooooooo`0<ooooo`;o00002oooool01_l0003oooooooooool0003oooooo`00053ooooo
+001:ooooo`;o00001?ooool00`00003oooooooooo`04ooooo`04o`000?oooooo0000o`0001Wooooo
+00Co0000oooooooooooo00004_ooool2o`0001_ooooo00?o0000ooooooooool03_ooool2o`0000[o
+oooo00Co0000oooooooooooo00000_ooool00ol0003oooooooooo`1=ooooo`00B_ooool00ol0003o
+ooooo`000003ooooo`0300000?oooooooooo00Cooooo00Go0000ooooooooooooooooo`00000?oooo
+o`03o`000?oooooooooo00Kooooo00Co0000oooooooooooo00004_ooool00ol0003oooooooooo`0J
+ooooo`03o`000?oooooooooo00kooooo00?o0000ooooool000002_ooool01_l0003oooooo`000?l0
+003oooooo`0004oooooo001;ooooo`;o00001?ooool00`00003oooooooooo`08ooooo`;o00003Ooo
+ool00ol0003oooooooooo`07ooooo`03o`000?oooooo0000013ooooo0_l0000Mooooo`03o`000?oo
+oooooooo00kooooo00?o0000ooooooooool00_ooool2o`0000Oooooo00Go0000ooooool0003ooooo
+o`00001?ooooo`00Boooool00ol0003oooooo`00000@ooooo`;o00003?ooool00ol0003ooooooooo
+o`06ooooo`03o`000?oooooooooo00oooooo0_l0000Eooooo`03o`000?oooooooooo00Kooooo00?o
+0000ooooooooool03oooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo00Cooooo00?o
+0000ooooooooool00_l0001?ooooo`00C?ooool2o`0000Sooooo00?o0000ooooooooool01oooool0
+0ol0003oooooooooo`0Booooo`03o`000?oooooooooo00kooooo00?o0000ooooooooool05Oooool0
+0ol0003oooooooooo`05ooooo`03o`000?oooooooooo013ooooo00?o0000ooooooooool01?ooool0
+0ol0003oooooooooo`03ooooo`05o`000?ooooooooooooooool00000Coooool004cooooo00?o0000
+ooooool000001Oooool00`00003oooooo`00000:ooooo`;o00004_ooool00ol0003oooooooooo`0=
+ooooo`03o`000?oooooooooo01Kooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`0@
+ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool00_l00002ooooo`03o`000?oooooo
+oooo04gooooo001=ooooo`03o`000?oooooo000000Cooooo00<00000o`000?ooool03?ooool00ol0
+003oooooooooo`07ooooo`03o`000?oooooooooo00Gooooo0_l0000=ooooo`03o`000?oooooooooo
+01Oooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`0@ooooo`03o`000?oooooooooo
+00Sooooo0_l00002ooooo`03o`000?oooooo000004oooooo001=ooooo`03o`000?oooooo000000Go
+oooo00<00000o`000?ooool03?ooool2o`0000Oooooo00?o0000ooooooooool01Oooool2o`0000_o
+oooo0_l0000Rooooo`03o`000?oooooooooo017ooooo00?o0000ooooooooool02?ooool01?l0003o
+ooooooooooooool2o`0004oooooo001>ooooo`03o`000?oooooo000000Cooooo00<00000ooooool0
+00003_ooool2o`0000Kooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`09ooooo`03
+o`000?oooooooooo027ooooo00?o0000ooooooooool04_ooool00ol0003oooooooooo`08ooooo`03
+o`000?oooooooooo00?o0000Coooool004kooooo00?o0000ooooool000001Oooool01000003ooooo
+ooooooooool2o`0000cooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`04ooooo`03
+o`000?oooooooooo00Sooooo00?o0000ooooooooool07?ooool00ol0003oooooooooo`03ooooo`03
+o`000?oooooooooo01;ooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`02ooooo`03
+o`000?oooooooooo04gooooo001?ooooo`03o`000?oooooo000000[ooooo00?o0000ooooooooool0
+2_ooool2o`0000[ooooo00?o0000ooooooooool01oooool00ol0003oooooooooo`0Mooooo`03o`00
+0?oooooooooo00?ooooo00?o0000ooooooooool04oooool00ol0003oooooooooo`06ooooo`Co0000
+00?oooooo`000?l00000Coooool004oooooo00?o0000ooooool000003Oooool2o`0000[ooooo0_l0
+0008ooooo`03o`000?oooooooooo00Gooooo0_l0000Pooooo`03o`000?oooooooooo00?ooooo00?o
+0000ooooooooool04oooool00ol0003oooooooooo`02ooooo`;o00000_ooool01?l0003ooooooooo
+ooooool2o`00053ooooo001@ooooo`03o`000?oooooo000000Cooooo00<00000ooooooooool01ooo
+ool00ol0003oooooooooo`09ooooo`03o`000?oooooo000000Gooooo00?o0000ooooooooool01?oo
+ool2o`00027ooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`0Cooooo`;o00000_oo
+ool2o`0000Cooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`1>ooooo`00D?ooool0
+1?l0003oooooooooool00003ooooo`0300000?oooooooooo00Sooooo00?o0000ooooooooool02Ooo
+ool2o`0000Gooooo0_l00004ooooo`;o00009oooool00ol0003oooooooooo`0Aooooo`;o000000?o
+ooooo`000?ooool01oooool2o`0000;ooooo00?o0000ooooooooool0Coooool0057ooooo00?o0000
+ooooool000000oooool00`00003oooooooooo`0;ooooo`?o00002?ooool01ol0003ooooooooooooo
+oooo0000ooooool000000oooool00ol0003oooooooooo`0Wooooo`03o`000?oooooooooo00_ooooo
+1?l00006ooooo`03o`000?oooooooooo00Cooooo0_l00002ooooo`;o0000DOooool0057ooooo00Co
+0000oooooooooooo00000_ooool00`00003oooooooooo`0>ooooo`03o`000?oooooooooo00Gooooo
+0ol00003ooooo`03o`000?oooooooooo00;o00009?ooool00ol0003oooooooooo`02ooooo`03o`00
+0?oooooooooo00Gooooo1?l0000<ooooo`03o`000?oooooooooo00Cooooo00Go0000oooooooooooo
+ooooo`00001Booooo`00D_ooool00ol0003oooooo`00000Nooooo`;o000000Coooooo`000?oooooo
+00009_ooool01Ol0003ooooooooooooooooo000000Cooooo0_l0000Booooo`03o`000?oooooooooo
+00Cooooo00Go0000ooooooooooooooooo`00001Booooo`00D_ooool01?l0003oooooooooool0000E
+ooooo`;o00002?ooool3o`0002Sooooo00Co0000ooooool0003o00000_ooool2o`0001Gooooo00?o
+0000ooooooooool00_l000000ooooooo0000ooooo`02o`0005?ooooo001Cooooo`03o`000?oooooo
+000001Oooooo00?o0000ooooooooool00_ooool2o`000003ooooool0003o000000;o00006_ooool2
+o`0000?ooooo1?l00002ooooo`Co000000?oooooo`000?ooool06?ooool00ol0003oooooo`000002
+ooooo`03o`000?oooooooooo00;o0000Doooool005?ooooo00Ko0000oooooooooooo0000ooooo`00
+000Gooooo`Oo00000_ooool4o`0000Sooooo1?l00003ooooo`?o00000oooool00ol0003ooooooooo
+o`0;ooooo`04o`000?ooooooooooo`0001Wooooo0_l00003ooooo`04o`000?oooooo0000o`0005Co
+oooo001Dooooo`05o`000?ooooooooooo`00000000006_ooool5o`000003ooooool0003o000000So
+00007Oooool00ol0003oooooo`00000Kooooo`07o`000?ooooooooooooooool0003oooooo`00001E
+ooooo`00E?ooool01_l0003oooooooooool0003ooooo000001Oooooo0ol00003ooooo`03o`000?oo
+oooooooo00Oooooo0ol0000Kooooo`04o`000?ooooooooooo`0001Wooooo00?o0000ooooool00000
+0oooool00ol0003oooooo`00001Eooooo`00EOooool01?l0003oooooooooool0000Gooooo`;o0000
+00Coooooo`000?oooooooooo0_l0000<ooooo`Co00005oooool01?l0003oooooooooool0000Hoooo
+o`04o`000?ooooooooooo`0000?ooooo0_l0001Fooooo`00EOooool01?l0003oooooooooool0000F
+ooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool03Oooool4o`0001Kooooo00?o0000
+ooooooooool05Oooool01Ol0003ooooooooooooooooo000000;ooooo0ol0001Fooooo`00E_ooool0
+1?l0003oooooooooool0000Dooooo`03o`000?oooooooooo00Oooooo0_l0000Booooo`Co00004Ooo
+ool00ol0003oooooooooo`0Kooooo`04o`000?oooooo0000o`0005Oooooo001Fooooo`04o`000?oo
+ooooooooo`0001?ooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`02ooooo`03o`00
+0?oooooooooo01Cooooo1?l0000=ooooo`03o`000?oooooooooo01?ooooo00?o0000ooooooooool0
+1Oooool01?l0003oooooo`000?l0001Gooooo`00Eoooool01?l0003ooooo00000?l0000Aooooo`;o
+00001_ooool00ol0003oooooooooo`02ooooo`03o`000?oooooo000000;o00005_ooool3o`0000So
+oooo00?o0000ooooool000005?ooool00ol0003oooooooooo`06ooooo`03o`000?oooooo000005So
+oooo001Gooooo`05o`000?oooooooooo00000?l000003_ooool2o`0000Wooooo00Go0000oooooooo
+ooooooooo`000004ooooo`03o`000?oooooooooo01Kooooo1?l00004ooooo`03o`000?oooooo0000
+01?ooooo00?o0000ooooooooool02?ooool2o`0005Sooooo001Gooooo`05o`000?oooooooooooooo
+ool000003Oooool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo00;ooooo00?o0000oooo
+ooooool07_ooool6o`0000oooooo4Ol0001Iooooo`00F?ooool01Ol0003ooooooooooooooooo0000
+00_ooooo00?o0000ooooooooool03oooool00ol0003oooooooooo`04ooooo`;o00007?oooolAo`00
+00;ooooo00?o0000ooooooooool02Oooool3o`0005Wooooo001Hooooo`05o`000?oooooooooooooo
+ool000002_ooool2o`0001;ooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`0Joooo
+o`03o`000?oooooooooo00kooooo00?o0000ooooooooool02Oooool3o`0005[ooooo001Iooooo`05
+o`000?ooool00000ooooool000001oooool2o`0000oooooo00?o0000ooooooooool00_ooool00ol0
+003oooooooooo`0Qooooo`03o`000?oooooooooo00kooooo00?o0000ooooooooool02Oooool00ol0
+003oooooo`00001Kooooo`00FOooool01Ol0003ooooo00000?oooooo000000Kooooo00?o0000oooo
+ooooool03oooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo00Oooooo00?o0000oooo
+ooooool05_ooool00ol0003oooooooooo`0Iooooo`04o`000?ooooooooooo`0005_ooooo001Joooo
+o`05o`000000003oooooooooool000001?ooool00ol0003oooooooooo`0@ooooo`03o`000?oooooo
+oooo00?ooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`0Dooooo`;o00003_ooool0
+0ol0003oooooooooo`08ooooo`;o000000?oooooo`000?l00000G?ooool005[ooooo00?o0000oooo
+ooooool00_ooool00ol0003oooooooooo`02o`0001;ooooo00?o0000ooooooooool00oooool00ol0
+003oooooooooo`09ooooo`03o`000?oooooooooo01?ooooo00?o0000ooooooooool03?ooool00ol0
+003oooooooooo`08ooooo`03o`000?oooooooooo00;o0000GOooool005_ooooo00Oo0000oooooooo
+ooooooooo`000?oooooo000001_ooooo00?o0000ooooooooool07Oooool00ol0003oooooooooo`0<
+ooooo`03o`000?oooooooooo00Sooooo00Ko0000oooooooooooo0000ooooool0001Mooooo`00Fooo
+ool00ol0003oooooooooo`02ooooo`;o00006oooool00ol0003oooooooooo`0;ooooo`?o00003ooo
+ool00ol0003oooooooooo`0Fooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0G?oo
+ool005cooooo00Co0000oooooooooooo00000_ooool00ol0003oooooooooo`0Booooo`03o`000?oo
+oooooooo00Cooooo00?o0000ooooooooool03Oooool00ol0003oooooooooo`0<ooooo`03o`000?oo
+oooooooo00Wooooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`02ooooo`03o`000?oo
+oooooooo05gooooo001Looooo`04o`000?oooooo0000o`0000?ooooo00?o0000ooooooooool04Ooo
+ool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo01_ooooo00?o0000ooooool000002Ooo
+ool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo00;ooooo0_l0001Oooooo`00GOooool2
+o`0000Gooooo00?o0000ooooooooool04Oooool00ol0003oooooooooo`03ooooo`03o`000?oooooo
+oooo00oooooo0ol00009ooooo`03o`000?oooooo000000Sooooo00?o0000ooooooooool02?ooool2
+o`0000Gooooo00?o0000ooooooooool0G_ooool005oooooo00?o0000ooooooooool00oooool2o`00
+017ooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`0Aooooo`03o`000?oooooooooo
+00Gooooo00Co0000oooooooooooo00004_ooool00ol0003oooooooooo`04ooooo`03o`000?oooooo
+oooo05oooooo001Pooooo`;o00001Oooool00ol0003oooooooooo`0Eooooo`03o`000?oooooooooo
+01Wooooo00Co0000oooooooooooo00001Oooool00ol0003oooooooooo`09ooooo`03o`000?oooooo
+oooo00Cooooo0_l0001Qooooo`00H_ooool00ol00000000000000003ooooo`03o`000?oooooooooo
+01Gooooo00?o0000ooooooooool04oooool01Ol0003ooooooooooooooooo000000Sooooo00?o0000
+ooooooooool02Oooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo063ooooo001Soooo
+o`03o`000?ooool0000000?ooooo00?o0000ooooooooool03Oooool00ol0003oooooooooo`04oooo
+o`03o`000?oooooooooo01Cooooo00Co0000oooooooooooo00001oooool00ol0003oooooooooo`09
+ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool0HOooool006Cooooo0_l00002oooo
+o`80000000?o0000ooooooooool03?ooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo
+01Gooooo0_l00004ooooo`03o`000?oooooooooo00_ooooo0_l00007ooooo`;o0000Hoooool006Ko
+oooo00?o0000ooooooooool00_ooool2o`0000gooooo00?o0000ooooooooool01?ooool00ol0003o
+ooooooooo`0Eooooo`03o`000?oooooo000000;ooooo0_l0000;ooooo`03o`000?oooooooooo00Oo
+oooo00?o0000ooooooooool0H_ooool006Oooooo0_l00004ooooo`03o`0000000000000000[ooooo
+00?o0000ooooooooool01?ooool00ol0003oooooooooo`0Dooooo`04o`000?ooooooooooooooo`?o
+00002?ooool2o`000003ooooool0003o000000?o00000_ooool4o`0006Gooooo001Yooooo`03o`00
+0?oooooooooo00;ooooo00?o0000ooooo`0000004Oooool00ol0003oooooooooo`0Cooooo`03o`00
+0?oooooooooo00?o000000Coooooo`000?l0003o00000oooool2o`0000;ooooo00?o0000oooooooo
+ool01_ooool00ol0003oooooooooo`1Uooooo`00J_ooool2o`0000?ooooo00?o0000ooooooooool0
+0_ooool00`00003oooooooooo`0;ooooo`03o`000?oooooooooo00oooooo1?l0000@ooooo`03o`00
+0?oooooooooo00Gooooo0_l0001Xooooo`00K?ooool01?l0003oooooooooooooool2o`0000?ooooo
+00<00000ooooooooool00oooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo00Gooooo
+0_l00002ooooo`Co00001Oooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo00Sooooo
+00?o0000ooooooooool01Oooool00ol0003oooooooooo`1Xooooo`00KOooool00ol0003ooooooooo
+o`02ooooo`05o`000?ooooooooooooooo`0000001?ooool00ol0003oooooooooo`05ooooo`?o0000
+0_ooool2o`0000cooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`07ooooo`;o0000
+1_ooool2o`0006_ooooo001^ooooo`;o00000oooool00ol0003oooooooooo`03ooooo`8000001Ol0
+0002ooooo`;o00004_ooool01Ol0003ooooooooooooooooo000000Wooooo00?o0000ooooooooool0
+1Oooool00ol0003oooooooooo`1[ooooo`00L?ooool01Ol0003ooooooooooooooooo000000Kooooo
+00?o0000ooooooooool01_ooool00ol0003oooooooooo`0?ooooo`03o`000?oooooooooo00[ooooo
+00?o0000ooooooooool01?ooool2o`0006kooooo001aooooo`;o00000_ooool00ol0003ooooooooo
+o`04ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool03_ooool00ol0003ooooooooo
+o`0:ooooo`03o`000?oooooooooo00?ooooo0_l0001`ooooo`00Loooool00ol0003oooooooooo`02
+o`0000cooooo00?o0000ooooooooool03_ooool01?l0003oooooooooool00008ooooo`03o`000?oo
+oooooooo00?ooooo00?o0000ooooooooool0L?ooool007Cooooo0_l00002ooooo`03o`000?oooooo
+oooo00?ooooo00<00000ooooooooool01?ooool00ol0003oooooooooo`0<ooooo`05o`000?oooooo
+ooooooooool000001_ooool2o`0000Cooooo0_l0001cooooo`00M_ooool01?l0003oooooooooool0
+0005ooooo`0300000?oooooooooo00?ooooo00?o0000ooooooooool03?ooool01?l0003ooooooooo
+ool00006ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool0Loooool007Oooooo00Co
+0000oooooooooooo00001Oooool00`00003oooooooooo`03ooooo`03o`000?oooooooooo00[ooooo
+00?o0000ooooooooool01oooool00ol0003oooooooooo`02ooooo`;o0000M_ooool007Sooooo0_l0
+00000ooooooo0000o`000009ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool01_oo
+ool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo07Kooooo001jooooo`04o`000?oooooo
+ooooo`0000Wooooo00?o0000ooooooooool02?ooool01?l0003oooooooooool00005ooooo`04o`00
+0?ooooooooooooooo`;o0000NOooool007_ooooo0_l000000ooooooo0000ooooo`02ooooo`030000
+0?oooooooooo00;ooooo00?o0000ooooooooool02?ooool00ol0003oooooo`000005ooooo`05o`00
+0?ooooooooooooooool00000Noooool007gooooo00?o0000ooooool000000oooool01@00003ooooo
+oooooooooooo000000Wooooo00?o0000ooooool000001?ooool2o`0000;ooooo0_l0001looooo`00
+O_ooool00ol0003oooooo`000003ooooo`0500000?ooooooooooooooool000002?ooool00ol0003o
+ooooooooo`03ooooo`05o`000?ooooooooooooooool00000O_ooool007oooooo1?l00005ooooo`03
+o`000?oooooooooo00Gooooo00?o0000ooooooooool00oooool00ol0003oooooooooo`02o`0007oo
+oooo0021ooooo`03o`000?oooooo000000Gooooo00?o0000ooooooooool01?ooool2o`0000?ooooo
+00Co0000oooooooooooo0000POooool008;ooooo0ol000001Oooool00000oooooooooooo000000Go
+oooo00?o0000ooooool000000_ooool01?l0003oooooo`000?l00022ooooo`00Q?ooool2o`000004
+ooooo`00003oooooo`0000Gooooo0_l000000ooooooo0000o`000002o`0008Cooooo0025ooooo`?o
+000000<00000ooooool000001?ooool01Ol0003oooooo`000?oooooo000008Kooooo0027ooooo`;o
+000000?oooooo`000?ooool00_ooool00ol0003oooooo`000002o`0008Oooooo0028ooooo`;o0000
+00@00000o`000?oooooooooo0ol00029ooooo`00ROooool3o`000004ooooool0003o0000o`0008[o
+oooo002;ooooo`03o`000?oooooo000008cooooo002<ooooo`03o`000?oooooooooo08_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003o
+oooooa_ooooo003ooooooa_ooooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.44775 .57999 m
+.58364 .44545 L
+s
+.44775 .57999 m
+.35769 .4228 L
+s
+.44775 .57999 m
+.60159 .5619 L
+s
+.44775 .57999 m
+.46794 .42283 L
+s
+.44775 .57999 m
+.32577 .53944 L
+s
+.46544 .68902 m
+.44775 .57999 L
+s
+.34815 .65113 m
+.44775 .57999 L
+s
+.58904 .66657 m
+.44775 .57999 L
+s
+.46794 .42283 m
+.5 .27523 L
+s
+.46794 .42283 m
+.58364 .44545 L
+s
+.46794 .42283 m
+.35769 .4228 L
+s
+.58364 .44545 m
+.74166 .52177 L
+s
+.58364 .44545 m
+.5 .27523 L
+s
+.58364 .44545 m
+.64158 .37749 L
+s
+.60159 .5619 m
+.58364 .44545 L
+s
+.60159 .5619 m
+.74166 .52177 L
+s
+.58904 .66657 m
+.60159 .5619 L
+s
+.35769 .4228 m
+.5 .27523 L
+s
+.35769 .4228 m
+.23786 .47638 L
+s
+.35769 .4228 m
+.35163 .34488 L
+s
+.32577 .53944 m
+.35769 .4228 L
+s
+.32577 .53944 m
+.23786 .47638 L
+s
+.34815 .65113 m
+.32577 .53944 L
+s
+.58904 .66657 m
+.74166 .52177 L
+s
+.58904 .66657 m
+.46544 .68902 L
+s
+.6535 .66048 m
+.58904 .66657 L
+s
+.5 .75807 m
+.58904 .66657 L
+s
+.5 .27523 m
+.66091 .33986 L
+s
+.64158 .37749 m
+.5 .27523 L
+s
+.35163 .34488 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .27523 m
+.53891 .28721 L
+s
+.5 .27523 m
+.39764 .30851 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.64158 .37749 m
+.66091 .33986 L
+s
+.64158 .37749 m
+.74166 .52177 L
+s
+.34815 .65113 m
+.46544 .68902 L
+s
+.5 .75807 m
+.46544 .68902 L
+s
+.0035 w
+[ ] 0 setdash
+.74166 .52177 m
+.70295 .45406 L
+s
+.74166 .52177 m
+.66091 .33986 L
+s
+.6535 .66048 m
+.74166 .52177 L
+s
+.67321 .59397 m
+.74166 .52177 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.34815 .65113 m
+.23786 .47638 L
+s
+.0035 w
+[ ] 0 setdash
+.33849 .63976 m
+.34815 .65113 L
+s
+.5 .75807 m
+.34815 .65113 L
+s
+.35163 .34488 m
+.39764 .30851 L
+s
+.35163 .34488 m
+.23786 .47638 L
+s
+.5 .75807 m
+.6535 .66048 L
+s
+.67321 .59397 m
+.6535 .66048 L
+s
+.66091 .33986 m
+.57329 .3878 L
+s
+.66091 .33986 m
+.70295 .45406 L
+s
+.53891 .28721 m
+.66091 .33986 L
+s
+.23786 .47638 m
+.39764 .30851 L
+s
+.23786 .47638 m
+.3694 .42043 L
+s
+.33849 .63976 m
+.23786 .47638 L
+s
+.38944 .5721 m
+.23786 .47638 L
+s
+.53891 .28721 m
+.57329 .3878 L
+s
+.39764 .30851 m
+.53891 .28721 L
+s
+.5 .75807 m
+.33849 .63976 L
+s
+.38944 .5721 m
+.33849 .63976 L
+s
+.38944 .5721 m
+.5 .75807 L
+s
+.54266 .6027 m
+.5 .75807 L
+s
+.67321 .59397 m
+.5 .75807 L
+s
+.39764 .30851 m
+.57329 .3878 L
+s
+.3694 .42043 m
+.39764 .30851 L
+s
+.70295 .45406 m
+.57329 .3878 L
+s
+.67321 .59397 m
+.70295 .45406 L
+s
+.67321 .59397 m
+.57329 .3878 L
+s
+.67321 .59397 m
+.54266 .6027 L
+s
+.3694 .42043 m
+.57329 .3878 L
+s
+.38944 .5721 m
+.3694 .42043 L
+s
+.38944 .5721 m
+.57329 .3878 L
+s
+.54266 .6027 m
+.38944 .5721 L
+s
+.54266 .6027 m
+.57329 .3878 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003oo`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00o`3ooolK
+0?ooo`00o`3ooolK0?ooo`00o`3ooolK0?ooo`00RP3oool5000008/0oooo00270?ooo`@0000000Co
+00000000003oool0oooo100000270?ooo`00Q03oool3000000@0oooo00?o00000?ooo`0000000`00
+00000`3oool0000000000002000008@0oooo00210?ooo`<0000000<0oooo000000000000103oool0
+1?l00000oooo0?ooo`0000020?ooo`030000003oool0oooo00D00000P@3oool007d0oooo10000003
+0?ooo`050000003oool0oooo0?ooo`0000000P3oool00ol00000oooo00000006000000<0oooo1000
+001o0?ooo`00NP3oool3000000<0oooo0P0000040?ooo`L000001P3oool2000000<0oooo0P000000
+103oool0000000000000001l0?ooo`00M`3oool3000000@0oooo2@0000080?ooo`030000003oool0
+oooo00<0oooo00H000000?ooo`3oool000000?ooo`0000030?ooo`800000NP3oool007@0oooo0`00
+00020?ooo`L000003`3oool00`000000oooo0?ooo`040?ooo`030000003oool0000000@0oooo1@00
+001h0?ooo`00L@3oool8000000030?ooo`000000000000P0oooo00<000000?ooo`3oool00`3oool0
+0ol00000oooo0?ooo`030?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool0103oool0
+10000000oooo00000000001f0?ooo`00KP3oool4000000L0oooo00<000000?ooo`3oool01`3oool0
+0`000000oooo0?ooo`040?ooo`03o`00003oool0oooo00<0oooo00<000000?ooo`3oool01@3oool2
+000000T0oooo1000001c0?ooo`00K@3oool010000000oooo0000003oool200000080oooo0P00000;
+0?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool0303oool2000000/0oooo0`00001a
+0?ooo`00K03oool010000000oooo0000000000030?ooo`<00000503oool00ol00000oooo0?ooo`0=
+0?ooo`8000003@3oool2000006l0oooo001Z0?ooo`80000000<0oooo000000000000103oool00`00
+0000oooo0?ooo`02000001X0oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`020000
+00`0oooo0`00001/0?ooo`00J@3oool01@000000oooo0?ooo`000000oooo00<000001`3oool20000
+00H0oooo00<000000?ooo`3oool03`3oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo
+0080oooo00<000000?ooo`3oool0303oool2000006X0oooo001X0?ooo`050000003oool0oooo0000
+003oool00P00000;0?ooo`<000000P3oool00`000000oooo0?ooo`070?ooo`03o`00003oool0oooo
+00L0oooo00<000000?ooo`3oool01@3oool00`000000oooo0?ooo`020?ooo`030000003oool0oooo
+00/0oooo1000001X0?ooo`00I`3oool010000000oooo0?ooo`0000030?ooo`030000003oool0oooo
+00`0oooo0P00000:0?ooo`03o`00003oool0oooo00l0oooo00<000000?ooo`3oool04`3oool30000
+06H0oooo001U0?ooo`8000000P3oool200000080oooo00<000000?ooo`3oool03`3oool2000000L0
+oooo00?o00000?ooo`3oool0403oool00`000000oooo0?ooo`040?ooo`800000403oool3000006<0
+oooo001T0?ooo`050000003oool0oooo0?ooo`000000103oool00`000000oooo0?ooo`0;0?ooo`03
+0000003oool0oooo00<0oooo0P0000050?ooo`03o`00003oool0oooo00X0oooo00<000000?ooo`3o
+ool0103oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo0100oooo0P00001Q0?ooo`00
+H`3oool3000000030?ooo`000000oooo00@0oooo00<000000?ooo`3oool02P3oool00`000000oooo
+0?ooo`060?ooo`<000003`3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo00H0oooo
+00<000000?ooo`3oool0403oool200000600oooo001R0?ooo`8000000P3oool00`000000oooo0?oo
+o`040?ooo`030000003oool0oooo00T0oooo00<000000?ooo`3oool02P3oool2000000h0oooo00<0
+00000?ooo`3oool0103oool00`000000oooo0?ooo`0F0?ooo`80000000<0oooo0000003oool0G`3o
+ool00680oooo00@000000?ooo`3oool000001P3oool00`000000oooo0?ooo`0I0?ooo`800000303o
+ool00`000000oooo0?ooo`040?ooo`030000003oool0oooo00L0oooo0`00000:0?ooo`800000103o
+ool00`000000oooo0?ooo`1M0?ooo`00H@3oool2000000030?ooo`000000oooo00H0oooo00<00000
+0?ooo`3oool0203oool00`000000oooo0?ooo`0=0?ooo`03o`00003oool0oooo008000004@3oool0
+0`000000oooo0?ooo`0:0?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool00P3oool0
+0`000000oooo0000001O0?ooo`00H03oool010000000oooo0?ooo`0000080?ooo`030000003oool0
+oooo00P0oooo00<000000?ooo`3oool03@3oool00ol00000oooo0?ooo`020?ooo`<000003`3oool0
+0`000000oooo0?ooo`0@0?ooo`8000001@3oool010000000oooo00000000001N0?ooo`00G`3oool0
+0`000000oooo0?ooo`02000000P0oooo00<000000?ooo`3oool01`3oool00`000000oooo0?ooo`0>
+0?ooo`03o`00003oool0oooo00D0oooo0P0000060?ooo`030000003oool0oooo00@0oooo00<00000
+0?ooo`3oool02`3oool2000000030?ooo`000000000000H0oooo00D000000?ooo`3oool0oooo0000
+001N0?ooo`00GP3oool010000000oooo0?ooo`0000090?ooo`030000003oool0oooo00L0oooo00<0
+00000?ooo`3oool06@3oool2000000D0oooo00<000000?ooo`3oool00`3oool00`000000oooo0?oo
+o`0<0?ooo`800000303oool00`000000oooo0?ooo`1L0?ooo`00G@3oool010000000oooo0?ooo`00
+000:0?ooo`030000003oool0oooo02D0oooo0`0000030?ooo`030000003oool0oooo00<0oooo00<0
+00000?ooo`3oool02@3oool200000080oooo00<000000?ooo`3oool02@3oool2000005d0oooo001L
+0?ooo`040000003oool0oooo000000<0oooo00<000000?ooo`3oool01@3oool00`000000oooo0?oo
+o`050?ooo`030000003oool0oooo0200oooo0P0000070?ooo`030000003oool0oooo00L0oooo0P00
+000:0?ooo`030000003oool0oooo00@0oooo00<000000?ooo`3oool0F`3oool005`0oooo00<00000
+0?ooo`000000103oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo00@0oooo00<00000
+0?ooo`3oool04@3oool00ol00000oooo0?ooo`0?0?ooo`8000001@3oool00`000000oooo0?ooo`05
+0?ooo`800000203oool200000080oooo00<000000?ooo`3oool0103oool2000005`0oooo001K0?oo
+o`030000003oool0000000D0oooo00<000000?ooo`3oool0103oool00`000000oooo0?ooo`040?oo
+o`030000003oool0oooo0180oooo00?o00000?ooo`3oool04@3oool2000000@0oooo00<000000?oo
+o`3oool00`3oool00`000000oooo0?ooo`0:0?ooo`800000203oool00`000000oooo0?ooo`1J0?oo
+o`00FP3oool00`000000oooo000000060?ooo`030000003oool0oooo00@0oooo00<000000?ooo`3o
+ool06@3oool00ol00000oooo0?ooo`0A0?ooo`030000003oool000000080000000<0oooo0000003o
+ool00P3oool2000000h0oooo00<000000?ooo`3oool01P3oool2000005/0oooo001I0?ooo`030000
+003oool0000000h0oooo00<000000?ooo`3oool00P3oool00`000000oooo0?ooo`0X0?ooo`030000
+003oool0oooo0080oooo0P0000000`3oool000000000000@0?ooo`030000003oool0oooo00H0oooo
+0P00001K0?ooo`00F03oool00`000000oooo0000000?0?ooo`050000003oool0oooo0?ooo`000000
+;03oool00`000000oooo0?ooo`05000000h0oooo00D000000?ooo`3oool0oooo000000080?ooo`80
+0000FP3oool005L0oooo00<000000?ooo`0000002@3oool00`000000oooo0?ooo`030?ooo`050000
+003oool0oooo0?ooo`000000:P3oool600000080oooo0P0000000`3oool000000000000<0?ooo`03
+0000003oool0oooo00X0oooo0P00001J0?ooo`00EP3oool00`000000oooo0000000:0?ooo`030000
+003oool0oooo00<0oooo00<000000?ooo`3oool06@3oool00ol00000oooo0?ooo`0:0?ooo`H00000
+1`3oool010000000oooo0000000000020?ooo`8000002@3oool00`000000oooo0?ooo`0;0?ooo`03
+0000003oool0000005T0oooo001E0?ooo`040000003oool0oooo000000/0oooo00<000000?ooo`3o
+ool00P3oool00`000000oooo0?ooo`0I0?ooo`03o`00003oool0oooo00D0oooo1@00000;0?ooo`80
+00000P3oool2000000@0oooo0P0000070?ooo`030000003oool0oooo00@0oooo00<000000?ooo`3o
+ool01@3oool2000005T0oooo001E0?ooo`030000003oool0000000`0oooo00<000000?ooo`3oool0
+0P3oool2000001T0oooo00?o00000?ooo`3oool01P00000@0?ooo`040000003oool0oooo00000080
+oooo00<000000?ooo`3oool00`3oool2000000d0oooo00<000000?ooo`3oool0103oool2000005T0
+oooo001D0?ooo`030000003oool000000140oooo0P00000G0?ooo`H000005@3oool01@000000oooo
+0000003oool000000080oooo00<000000?ooo`3oool01@3oool00`000000oooo0000000;0?ooo`03
+0000003oool0oooo00@0oooo0P00001H0?ooo`00D`3oool00`000000oooo0000000B0?ooo`030000
+003oool0oooo0100oooo1P00000J0?ooo`060000003oool0oooo0000003oool000000`3oool00`00
+0000oooo0?ooo`050?ooo`8000004P3oool2000005P0oooo001B0?ooo`030000003oool0000001<0
+oooo00<000000?ooo`3oool02P3oool6000001l0oooo00<000000?ooo`3oool00`3oool01@000000
+oooo0?ooo`3oool0000000L0oooo00@000000?ooo`0000000000403oool00`000000oooo0000001G
+0?ooo`00D@3oool00`000000oooo0000000@0?ooo`050000003oool000000?ooo`0000001`3oool5
+000000l0oooo00?o00000?ooo`3oool04P3oool00`000000oooo0?ooo`040?ooo`030000003oool0
+oooo0080oooo00<000000?ooo`3oool0203oool2000000T0oooo00<000000?ooo`3oool00`3oool2
+000005L0oooo001@0?ooo`030000003oool000000140oooo0P000000103oool000000?ooo`3oool6
+000001@0oooo00?o00000?ooo`3oool04@3oool00`000000oooo0?ooo`050?ooo`030000003oool0
+oooo0080oooo00<000000?ooo`3oool02P3oool2000000L0oooo00<000000?ooo`3oool00`3oool0
+0`000000oooo0000001F0?ooo`00C`3oool00`000000oooo0000000A0?ooo`80000000<0oooo0000
+000000000P0000001?l00000oooo0?ooo`3oool3o`0000<0oooo1?l000020?ooo`Co00000P3oool6
+o`000140oooo00<000000?ooo`3oool01P3oool00`000000oooo0?ooo`030?ooo`040000003oool0
+oooo000000X0oooo0P0000060?ooo`030000003oool0oooo0080oooo00<000000?ooo`000000EP3o
+ool004l0oooo0P00000@0?ooo`D0000000<0oooo0000003oool06P3oool01?l00000oooo0?ooool0
+000?0?ooo`030000003oool0oooo00H0oooo00<000000?ooo`000000103oool010000000oooo0?oo
+o`00000<0?ooo`8000002P3oool00`000000oooo0000001E0?ooo`00CP3oool200000140oooo0P00
+00001@3oool00000o`00003oool0000001/0oooo00?o00000?ooo`3oool00`3oool4o`0000P0oooo
+00<000000?ooo`3oool01`3oool00`000000oooo0?ooo`050?ooo`8000003`3oool2000000P0oooo
+00<000000?ooo`000000E@3oool004d0oooo0P00000>0?ooo`@000000P3oool01@000000oooo0?oo
+o`3oool0000002L0oooo1?l000000`3oool000000?ooo`090?ooo`030000003oool0oooo00D0oooo
+00<000000?ooo`3oool0403oool200000080oooo00<000000?ooo`3oool00P3oool00`000000oooo
+0000001D0?ooo`00C03oool2000000h0oooo0P00000:0?ooo`030000003oool0oooo02P0oooo00<0
+00000?ooool000000ol000060?ooo`040000003oool0oooo000000D0oooo00<000000?ooo`3oool0
+4@3oool010000000oooo0?ooo`0000030?ooo`030000003oool0000005@0oooo001;0?ooo`800000
+2`3oool4000000X0oooo00?o00000?ooo`0000006@3oool00ol00000oooo0?ooo`0=0?ooo`030000
+003oool0oooo00H0oooo0ol000001@3oool000000?ooo`3oool000000080oooo00@000000?ooo`3o
+ool00000503oool2000000070?ooo`000000oooo0?ooo`000000oooo0000001D0?ooo`00BP3oool2
+000000/0oooo0P00000>0?ooo`03o`0000000000oooo01P0oooo00?o00000?ooo`3oool0303oool0
+0`000000oooo0?ooo`0:0?ooo`03o`0000000000oooo00;o000000<000000?ooo`0000000P3oool0
+0`000000oooo0?ooo`0D0?ooo`8000000`3oool00`000000oooo0000001C0?ooo`00B@3oool20000
+00T0oooo0`00000;0?ooo`030000003oool0oooo00<0oooo00<000000?ooo`3oool05`3oool00ol0
+0000oooo0?ooo`0;0?ooo`030000003oool0oooo00`0oooo00<000000?ooo`3oool00P3oool20000
+00<0oooo00<000000?ooo`3oool05@3oool2000000040?ooo`000000oooo000005<0oooo00180?oo
+o`800000203oool2000000h0oooo00<000000?ooo`3oool00`3oool00`000000oooo0?ooo`0G0?oo
+o`03o`00003oool0oooo00X0oooo00<000000?ooo`3oool0303oool02@000000oooo0?ooo`3ooooo
+00000?ooo`000000oooo000000020?ooo`030000003oool0oooo01H0oooo0`0000020?ooo`030000
+003oool0oooo0500oooo00180?ooo`030000003oool0oooo00D0oooo0P00000@0?ooo`030000003o
+ool0oooo00<0oooo00<000000?ooo`3oool08`3oool00`000000oooo0?ooo`0=0?ooo`040000003o
+ool0ooooo`000080oooo00<000000?ooo`3oool00P3oool2000001L0oooo00H000000?ooo`3oool0
+00000?ooo`00001B0?ooo`00A`3oool00`000000oooo0?ooo`030?ooo`<00000603oool00`00003o
+00000?ooo`0R0?ooo`030000003oool0oooo00h0oooo00<000000?ooool000002@3oool2000001L0
+oooo00<000000?ooo`0000000P3oool00`000000oooo0?ooo`1?0?ooo`00AP3oool00`000000oooo
+0?ooo`020?ooo`800000703oool00`00003o00000?ooo`0F0?ooo`03o`00003oool0oooo00L0oooo
+00<000000?ooo`3oool03`3oool00`000000oooo0?ooo`0:0?ooo`800000603oool2000000030?oo
+o`000000oooo0500oooo00150?ooo`030000003oool0oooo00@000007@3oool00`000000ooooo`00
+000F0?ooo`03o`00003oool0oooo00H0oooo00<000000?ooo`3oool0403oool00`000000oooo0?oo
+o`030?ooo`030000003oool0oooo00@0oooo00@000000?ooo`3oool0oooo0P00000C0?ooo`030000
+003oool000000080oooo00<000000?ooo`3oool0CP3oool004@0oooo00<000000?ooo`0000000P00
+000H0?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool05@3oool00ol00000oooo0?oo
+o`060?ooo`030000003oool0oooo0100oooo00?o00000000003oool0103oool00`000000oooo0?oo
+o`050?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0403oool2000000040?ooo`00
+0000oooo00000500oooo00130?ooo`@000006P3oool00`000000oooo0?ooo`050?ooo`030000003o
+ool0oooo01D0oooo00?o00000?ooo`3oool01@3oool00`000000oooo0?ooo`0@0?ooo`03o`00003o
+ool0000000H0oooo00<000000?ooo`3oool0103oool00`000000oooo0?ooo`0E0?ooo`040000003o
+ool000000?ooo`800000D03oool00480oooo0P00000L0?ooo`030000003oool0oooo00H0oooo00D0
+00000?ooo`3oool0ooooo`00000J0?ooo`030000003oool0oooo0180oooo00<000000?ooo`3oool0
+1@3oool00`000000oooo0?ooo`050?ooo`030000003oool0oooo00@0oooo0`00000=0?ooo`030000
+003oool0oooo0080000000<0oooo0000003oool0CP3oool00480oooo0`00000T0?ooo`050000003o
+ool0oooo0?ooool000006@3oool00`000000oooo0?ooo`0@0?ooo`04o`00003oool0oooo000000l0
+oooo00<000000?ooo`3oool01`3oool00`000000oooo0?ooo`0:0?ooo`030000003oool0oooo0080
+oooo0P00001?0?ooo`00@`3oool400000280oooo00<000000?ooo`3oool00P3oool00ol00000oooo
+0?ooo`0@0?ooo`03o`00003oool0oooo0080oooo00<000000?ooo`3oool0403oool01Ol00000oooo
+0?ooo`3oool000000100oooo00<000000?ooo`3oool02@3oool00`000000oooo0?ooo`060?ooo`03
+0000003oool0oooo00<0oooo00<000000?ooo`000000CP3oool004@0oooo00<000000?ooo`000000
+0P00000F0?ooo`030000003oool0oooo00P0oooo00D000000?ooo`3oool0ooooo`00000B0?ooo`05
+o`00003oool0oooo0?ooo`0000004P3oool00ol00000oooo0?ooo`020?ooo`030000003oool0oooo
+00D0oooo00<000000?ooo`3oool01P3oool00`000000oooo0?ooo`0:0?ooo`030000003oool0oooo
+00D0oooo00<000000?ooo`3oool00`3oool3000004h0oooo00140?ooo`060000003oool0oooo0000
+003oool000005@3oool00`000000oooo0?ooo`080?ooo`030000003oool0oooo01<0oooo00Go0000
+0?ooo`3oool0oooo0000000H0?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool01`3o
+ool00`000000oooo0?ooo`0:0?ooo`030000003oool0oooo00@0oooo00<000000?ooo`3oool0103o
+ool3000004d0oooo00150?ooo`030000003oool0oooo0080oooo0P00000B0?ooo`030000003oool0
+oooo00T0oooo00<000000?ooo`3oool04`3oool01?l00000oooo0?ooo`00000I0?ooo`030000003o
+ool0oooo00H0oooo00<000000?ooo`3oool01P3oool00`000000oooo0?ooo`0=0?ooo`<0000000<0
+oooo0000003oool01P3oool2000004d0oooo00150?ooo`030000003oool0oooo0080oooo0`00000A
+0?ooo`030000003oool0oooo00T0oooo00<000000?ooo`3oool00`3oool00ol00000oooo0?ooo`0?
+0?ooo`030000003oool0oooo0100oooo00?o00000?ooo`3oool0103oool00`000000oooo0?ooo`07
+0?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3oool03`3oool2000000P0oooo0P00001<
+0?ooo`00AP3oool00`000000oooo0?ooo`030?ooo`<000006`3oool00`000000oooo0?ooo`030?oo
+o`03o`00003oool0oooo00h0oooo00<000000?ooo`3oool0403oool00ol00000oooo0?ooo`050?oo
+o`030000003oool0oooo0140oooo00<000000?ooo`3oool03`3oool00`000000oooo0?ooo`070?oo
+o`800000C03oool004L0oooo00<000000?ooo`3oool01@3oool2000001T0oooo00<000000?ooo`3o
+ool0103oool00ol00000oooo0?ooo`0<0?ooo`030000003oool0oooo0100oooo00?o00000?ooo`3o
+ool01P3oool00`000000oooo0?ooo`0B0?ooo`030000003oool0oooo00h0oooo00<000000?ooo`3o
+ool00P0000050?ooo`<00000B`3oool004L0oooo00<000000?ooo`3oool01@3oool00`000000oooo
+0000000;0?ooo`030000003oool0oooo00X0oooo00<000000?ooo`3oool04P3oool00`00003o0000
+0?ooo`0J0?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3oool0203oool00`000000oooo
+0?ooo`0>0?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool00`3oool2000004/0oooo
+00180?ooo`030000003oool0oooo00D0oooo00@000000?ooo`00000000002@3oool00`000000oooo
+0?ooo`0;0?ooo`030000003oool0oooo0100oooo00<000000?ooool00000403oool00ol00000oooo
+0?ooo`080?ooo`030000003oool0oooo00L0oooo00<000000?ooo`3oool02@3oool00`000000oooo
+0?ooo`0=0?ooo`030000003oool0oooo00T0oooo00<000000?ooo`3oool0B@3oool004T0oooo00<0
+00000?ooo`3oool01@3oool010000000oooo0?ooo`0000080?ooo`030000003oool0oooo00/0oooo
+00<000000?ooo`3oool01@3oool00ol00000oooo0?ooo`070?ooo`040000003oool0ooooo`0000l0
+oooo00?o00000?ooo`3oool02@3oool00`000000oooo0?ooo`080?ooo`030000003oool0oooo00P0
+oooo00<000000?ooo`3oool03@3oool00`000000oooo0?ooo`050?ooo`<000000P3oool00`000000
+oooo0?ooo`180?ooo`00B@3oool00`000000oooo0?ooo`090?ooo`8000001P3oool00`000000oooo
+0?ooo`0;0?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool01P3oool00`000000oooo
+0?ooo`0@0?ooo`03o`00003oool0oooo00X0oooo00<000000?ooo`3oool0203oool00`000000oooo
+0?ooo`090?ooo`030000003oool0oooo00/0oooo00<000000?ooo`3oool02@3oool00`000000oooo
+0000001:0?ooo`00BP3oool00`000000oooo0?ooo`070?ooo`030000003oool0oooo008000004P3o
+ool00`000000oooo0?ooo`060?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool07@3o
+ool00`000000oooo0?ooo`0E0?ooo`030000003oool0oooo00/0oooo00<000000?ooo`3oool02P3o
+ool3000004T0oooo001;0?ooo`030000003oool0oooo00L0oooo00D000000?ooo`3oool0oooo0000
+000A0?ooo`030000003oool0oooo00`0oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?oo
+o`0:0?ooo`03o`00003oool0oooo00`0oooo00<000000?ooo`3oool05P3oool00`000000oooo0?oo
+o`0:0?ooo`030000003oool0oooo00P0oooo0P0000000`3oool00000000000190?ooo`00B`3oool0
+0`000000oooo0?ooo`080?ooo`040000003oool0oooo0?ooo`<000003P3oool00`000000oooo0?oo
+o`0;0?ooo`030000003oool0oooo00<0oooo00?o00000?ooo`3oool02@3oool00ol00000oooo0?oo
+o`0=0?ooo`030000003oool0oooo01H0oooo00<000000?ooo`3oool02P3oool00`000000oooo0?oo
+o`040?ooo`800000103oool2000004X0oooo001<0?ooo`030000003oool0oooo00X0oooo00@00000
+0?ooo`3oool000003P3oool00`000000oooo0?ooo`080?ooo`03o`00003oool0000000H0oooo00?o
+00000?ooo`3oool0203oool00ol00000oooo0?ooo`0>0?ooo`030000003oool0oooo00T0oooo00<0
+00000?ooo`3oool02`3oool00`000000oooo0?ooo`090?ooo`030000003oool0oooo0080oooo0P00
+00050?ooo`800000B`3oool004`0oooo0P00000<0?ooo`80000000<0oooo0000000000003@3oool0
+0`000000oooo0?ooo`070?ooo`03o`0000000000oooo00H0oooo00?o00000?ooo`3oool06@3oool0
+0`000000oooo0?ooo`090?ooo`030000003oool0oooo00/0oooo00<000000?ooo`3oool0203oool0
+10000000oooo0000000000090?ooo`800000B`3oool004d0oooo0P00000<0?ooo`05o`00003oool0
+oooo0?ooo`000000303oool00`000000oooo0?ooo`070?ooo`0300000?l00000oooo0280oooo00<0
+00000?ooo`3oool02P3oool00`000000oooo0?ooo`0;0?ooo`030000003oool0oooo00L0oooo0P00
+00090?ooo`<00000C03oool004h0oooo00<000000?ooo`3oool02P3oool00ol00000ooooo`000002
+o`00008000002P3oool00`000000oooo0?ooo`060?ooo`030000003ooooo00000100oooo00?o0000
+0?ooo`3oool0403oool00`000000oooo0?ooo`0H0?ooo`040000003oool0oooo0?ooo`@000000P3o
+ool00`000000oooo0?ooo`070?ooo`<00000C@3oool004h0oooo00<000000?ooo`3oool03`3oool0
+1?l00000oooo0000000000080?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool0403o
+ool00ol00000oooo0?ooo`0@0?ooo`030000003oool0oooo01T0oooo0P0000080?ooo`030000003o
+ool0oooo00H0oooo0P0000000`3oool000000?ooo`1<0?ooo`00C`3oool00`000000oooo0?ooo`0A
+0?ooo`03o`000000003o000000H0oooo00<000000?ooo`3oool0103oool00`000000oooo0?ooo`08
+0?ooo`03o`00003oool0oooo00D0oooo00?o00000?ooo`3oool04@3oool00`000000oooo0?ooo`0G
+0?ooo`80000000<0oooo0000003oool01`3oool00`000000oooo0?ooo`060?ooo`030000003oool0
+000004h0oooo001@0?ooo`030000003oool0oooo0180oooo0P0000050?ooo`030000003oool0oooo
+00<0oooo00<000000?ooo`3oool0103oool00ol00000oooo0?ooo`020?ooo`03o`00003oool0oooo
+01T0oooo00<000000?ooo`3oool02`3oool00`000000oooo0?ooo`050?ooo`8000001@3oool00`00
+0000oooo0?ooo`050?ooo`030000003oool0oooo00@0oooo00<000000?ooo`0000000P3oool00`00
+0000oooo0?ooo`1<0?ooo`00D03oool2000000X0oooo00<000000?ooo`3oool0203oool00`000000
+ooooo`000002o`0000030000003oool0oooo0080oooo00<000000?ooo`3oool01@3oool00ol00000
+oooo0?ooo`020?ooo`03o`00003oool0oooo00<0oooo00?o00000?ooo`3oool04`3oool00`000000
+oooo0?ooo`0;0?ooo`030000003oool0oooo00<0oooo0P0000080?ooo`030000003oool0oooo00@0
+oooo00<000000?ooo`3oool00`3oool00`000000oooo000000020?ooo`030000003oool0oooo04d0
+oooo001A0?ooo`030000003oool0oooo00P0oooo00<000000?ooo`3oool02@3oool200000080oooo
+00Go00000000003oool0oooo000000090?ooo`03o`00003oool0oooo00H0oooo00?o00000?ooo`3o
+ool0503oool00`000000oooo0?ooo`0;0?ooo`04o`00000000000000000000`0oooo00<000000?oo
+o`3oool0103oool00`000000oooo0?ooo`020?ooo`030000003oool000000080oooo00<000000?oo
+o`3oool0CP3oool00540oooo00<000000?ooo`3oool0203oool00`000000oooo0?ooo`0;0?ooo`80
+000000@0oooo0000003oool000000_l0000@0?ooo`03o`00003oool0oooo01D0oooo00<000000?oo
+o`3oool01@3oool4o`0001<0oooo00<000000?ooo`3oool00`3oool00`000000oooo0?ooo`030?oo
+o`050000003oool0oooo0?ooo`000000D03oool00580oooo0P00000H0?ooo`<000000`3oool00ol0
+0000oooo0?ooo`0S0?ooo`;o000000<000000?ooool000000ol000080?ooo`030000003oool0oooo
+00h0oooo00<000000?ooo`3oool00`3oool01P000000oooo0?ooo`000000oooo000000<0oooo00<0
+00000?ooo`3oool0C`3oool005<0oooo00<000000?ooo`3oool05`3oool3000000D0oooo0_l00005
+0?ooo`03o`00003ooooo00000140oooo1?l000020?ooo`;o000000<0oooo0000003oool03@3oool0
+0`000000oooo0?ooo`0?0?ooo`050000003oool0oooo0?ooo`0000000P3oool00`000000oooo0000
+00030?ooo`030000003oool0oooo0500oooo001C0?ooo`800000603oool00`000000oooo0?ooo`05
+00000080oooo00?o00000?ooo`3oool00P3oool01?l00000ooooo`000?l000050?ooo`;o00000`3o
+ool3o`0000`0oooo00<000000?ooo`3oool0303oool00`000000oooo0?ooo`0?0?ooo`090000003o
+ool0oooo0?ooo`000000oooo0000003oool0000000@0oooo00<000000?ooo`3oool0D03oool005@0
+oooo00<000000?ooo`3oool01P3oool00`000000oooo0?ooo`0<0?ooo`030000003oool0000000H0
+oooo1@0000000`3ooooo0000o`000004o`000080oooo0_l0000D0?ooo`030000003oool0oooo00`0
+oooo00<000000?ooo`3oool0403oool010000000oooo0?ooo`0000020?ooo`030000003oool0oooo
+0080oooo00<000000?ooo`3oool0D@3oool005D0oooo00<000000?ooo`3oool01@3oool00`000000
+oooo0?ooo`0;0?ooo`040000003oool0oooo000000/0oooo1@0000000ol00000oooo0?ooo`0G0?oo
+o`030000003oool0oooo01l0oooo00H000000?ooo`3oool000000?ooo`0000040?ooo`030000003o
+ool0oooo0580oooo001E0?ooo`8000001`3oool00`000000oooo0?ooo`090?ooo`030000003oool0
+oooo0080oooo00<000000?ooo`3oool02@3oool01?l00000oooo0?ooo`3oool5000001D0oooo00<0
+00000?ooo`3oool0803oool4000000D0oooo00<000000?ooo`3oool0DP3oool005H0oooo00<00000
+0?ooo`3oool04@3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo00L0oooo00?o0000
+0?ooo`3oool01`3oool400000140oooo00<000000?ooo`3oool0803oool3000000D0oooo00<00000
+0?ooo`3oool0D`3oool005H0oooo0P00000A0?ooo`030000003oool0oooo00@0oooo00<000000?oo
+o`3oool0103oool2o`0000D0oooo00?o00000?ooo`3oool00P3oool2o`0000<0oooo1@00000<0?oo
+o`030000003oool0oooo00`0oooo00<000000?ooo`3oool0303oool7000000D0oooo00<000000?oo
+o`3oool0E03oool005L0oooo00<000000?ooo`3oool03P3oool00`000000oooo0?ooo`060?ooo`03
+0000003oool0oooo0080oooo00?o00000?ooo`3oool01@3oool00ol00000oooo0?ooo`040?ooo`03
+o`00003oool0oooo00D0oooo1@0000060?ooo`030000003oool0oooo00d0oooo00<000000?ooo`00
+0000300000040?ooo`030000003oool0000000D0oooo00<000000?ooo`3oool0E03oool005P0oooo
+00<000000?ooo`3oool00`3oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo00L0oooo
+00D000000?ooo`3oool0ooooo`0000080?ooo`03o`00003oool0oooo0140oooo1@0000000`3oool0
+00000?ooo`040?ooo``000003`3oool200000080oooo00<000000?ooo`3oool00P3oool00`000000
+oooo0?ooo`1E0?ooo`00F03oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo00H0oooo
+00<000000?ooo`3oool0203oool00`000000oooo0?ooo`090?ooo`03o`00003oool0oooo00L0oooo
+0_l0000=0?ooo`L000006P3oool200000080oooo00<000000?ooo`3oool00`3oool00`000000oooo
+0?ooo`1E0?ooo`00F@3oool00`000000oooo0?ooo`030?ooo`030000003oool0oooo00@0oooo00<0
+00000?ooo`3oool02@3oool00ol0000000000?ooo`0E0?ooo`03o`00003oool0oooo00/0oooo00<0
+00000?ooo`3oool0703oool2000000<0oooo00<000000?ooo`3oool00P3oool00`000000oooo0?oo
+o`1F0?ooo`00FP3oool00`000000oooo0?ooo`080?ooo`030000003oool0oooo00T0oooo00?o0000
+0?ooo`0000005`3oool00ol00000oooo0?ooo`0:0?ooo`030000003oool0oooo01`0oooo00<00000
+0?ooo`3oool00P3oool01@000000oooo0?ooo`3oool0000005T0oooo001J0?ooo`8000002@3oool0
+0`000000oooo0?ooo`080?ooo`05o`00003oool0oooo0?ooo`0000002P3oool00ol00000oooo0?oo
+o`0<0?ooo`03o`00003oool0oooo00H0oooo00<000000?ooo`3oool03@3oool00`000000oooo0?oo
+o`0:0?ooo`030000003oool0000000@0oooo00<000000?ooo`3oool00P3oool00`000000oooo0?oo
+o`1G0?ooo`00F`3oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo00d0oooo00<00000
+0?ooo`3oool0203oool00ol00000oooo0?ooo`0=0?ooo`03o`00003oool0oooo00D0oooo00<00000
+0?ooo`3oool03@3oool00`000000oooo0?ooo`090?ooo`030000003oool0000000D0oooo00D00000
+0?ooo`3oool0oooo0000001J0?ooo`00G03oool01@000000oooo0?ooo`3oool000000080oooo00<0
+00000?ooo`3oool01`3oool2o`0000H0oooo00<000000?ooo`3oool01`3oool00ol00000oooo0?oo
+o`0>0?ooo`03o`00003oool0oooo00@0oooo00<000000?ooo`3oool0303oool00`000000oooo0?oo
+o`090?ooo`030000003oool0000000H0oooo00@000000?ooo`3oool00000F`3oool005`0oooo0P00
+00020?ooo`030000003oool0000000P0oooo0_l000080?ooo`030000003oool0oooo00L0oooo00?o
+00000?ooo`3oool0503oool00`000000oooo0?ooo`0=0?ooo`030000003oool0oooo00X0oooo00<0
+00000?ooo`3oool0103oool01@000000oooo0?ooo`3oool0000005/0oooo001M0?ooo`060000003o
+ool0oooo0000003oool000004`3oool00`000000oooo0?ooo`0J0?ooo`;o000000<0oooo0000003o
+ool0603oool00`000000oooo000000070?ooo`040000003oool0oooo000005`0oooo001M0?ooo`80
+00000P3oool00`000000oooo0?ooo`040?ooo`;o00003@3oool00`000000oooo0?ooo`0K0?ooo`03
+o`0000000000oooo01L0oooo00<000000?ooo`000000203oool00`000000oooo0000001M0?ooo`00
+GP3oool00`000000oooo000000060?ooo`03o`00003oool0oooo00d0oooo00<000000?ooo`3oool0
+1P3oool00ol00000oooo0?ooo`0C0?ooo`030000003oool0oooo00d0oooo00<000000?ooo`3oool0
+1@3oool00`000000oooo000000080?ooo`040000003oool0oooo000005d0oooo001O0?ooo`800000
+1@3oool00ol00000oooo0?ooo`0?0?ooo`030000003oool0oooo00D0oooo00?o00000?ooo`3oool0
+4P3oool00`000000oooo0?ooo`02o`0000`0oooo00<000000?ooo`3oool01P3oool00`000000oooo
+0?ooo`070?ooo`030000003oool0000005h0oooo001O0?ooo`<000005P3oool00`000000oooo0?oo
+o`050?ooo`03o`00003oool0oooo0180oooo00<000000?ooo`3oool00P3oool00ol00000oooo0?oo
+o`090?ooo`030000003oool0oooo00D0oooo00<000000?ooo`3oool0203oool00`000000oooo0000
+001N0?ooo`00H03oool3000000;o0000503oool00`000000oooo0?ooo`040?ooo`03o`00003oool0
+oooo0180oooo00<000000?ooo`3oool03P3oool00`000000oooo0?ooo`020?ooo`<000002P3oool0
+0`000000oooo0000001O0?ooo`00H@3oool4000001D0oooo00<000000?ooo`3oool0603oool00`00
+0000oooo0?ooo`050?ooo`;o00002`3oool00`000000oooo0000000;0?ooo`800000H03oool006<0
+oooo0`00000D0?ooo`030000003oool0oooo01L0oooo00<000000?ooo`3oool0203oool00ol00000
+oooo0?ooo`070?ooo`030000003oool0000000`0oooo0P00001P0?ooo`00I03oool00`000000oooo
+0000000300000140oooo00<000000?ooo`3oool00`3oool00ol00000oooo0?ooo`0@0?ooo`030000
+003oool0oooo00T0oooo00?o00000?ooo`3oool00P3oool00`000000oooo0?ooo`020?ooo`030000
+003oool0oooo00X0oooo0P00001Q0?ooo`00I@3oool4000000030?ooo`000000oooo00l0oooo00<0
+00000?ooo`3oool00`3oool00ol00000oooo0?ooo`0@0?ooo`030000003oool0oooo00`0oooo00Oo
+00000?ooo`000000oooo0000003oool0000000X0oooo1000001R0?ooo`00I`3oool00`000000oooo
+000000030?ooo`<00000303oool00`000000oooo0?ooo`020?ooo`03o`00003oool0oooo00l0oooo
+00<000000?ooo`3oool03P3oool01_l0000000000000003oool000000?ooo`8000000P3oool40000
+00<0oooo00<000000?ooo`3oool0HP3oool006P0oooo0`0000050?ooo`030000003oool0oooo00X0
+oooo00D000000?ooo`3oool0ooooo`00000A0?ooo`030000003oool0oooo00`0oooo10000000103o
+ool000000000000000090?ooo`800000I@3oool006X0oooo0`0000060?ooo`<000001`3oool00`00
+0000oooo0?ooo`0C0?ooo`030000003oool0oooo00H0oooo100000030?ooo`040000003oool0oooo
+000000/0oooo00<000000?ooo`3oool0I@3oool006/0oooo00<000000?ooo`000000203oool00`00
+0000oooo0?ooo`050?ooo`030000003oool0oooo0180oooo00<000000?ooo`3oool00P3oool20000
+00T0oooo0`00000:0?ooo`800000J03oool006`0oooo0`00000:0?ooo`<000000P3oool01@000000
+oooo0?ooo`3ooooo000000l0oooo0P0000020?ooo`8000002P3oool2000000/0oooo00<000000?oo
+o`3oool0J03oool006h0oooo0`00000;0?ooo`040000003oool0oooo00000080oooo00?o00000?oo
+o`3oool01`3oool200000080oooo0`00000?0?ooo`030000003oool0oooo00P0oooo0P00001[0?oo
+o`00K`3oool3000000d0oooo0P0000000`3ooooo00000?ooo`020?ooo`8000000P3oool2000000H0
+oooo00<000000?ooo`3oool0303oool00`000000oooo0?ooo`070?ooo`800000K@3oool00740oooo
+0P00000=0?ooo`<0000000<0oooo000000000000303oool00`000000oooo0?ooo`0:0?ooo`800000
+2@3oool00`000000oooo0?ooo`1]0?ooo`00LP3oool3000000`0oooo0P00000>0?ooo`030000003o
+ool0oooo00X0oooo0P0000080?ooo`800000L03oool007<0oooo0`00000;0?ooo`030000003oool0
+000000d0oooo00<000000?ooo`3oool02@3oool2000000P0oooo00<000000?ooo`3oool0L03oool0
+07D0oooo0P00000;0?ooo`030000003oool0000000`0oooo00<000000?ooo`3oool02@3oool00`00
+0000oooo0?ooo`050?ooo`800000L`3oool007H0oooo0P00000:0?ooo`030000003oool0oooo00/0
+oooo00<000000?ooo`3oool0203oool2000000L0oooo00<000000?ooo`3oool0L`3oool007P0oooo
+0P0000090?ooo`030000003oool0oooo00X0oooo00<000000?ooo`3oool01`3oool2000000H0oooo
+0P00001f0?ooo`00N@3oool2000000T0oooo0P00000:0?ooo`030000003oool0oooo00H0oooo0P00
+00060?ooo`030000003oool0oooo07H0oooo001j0?ooo`800000203oool2000000X0oooo00<00000
+0?ooo`3oool01P3oool00`000000oooo0?ooo`030?ooo`800000N@3oool007`0oooo0P0000070?oo
+o`800000203oool00`000000oooo0?ooo`060?ooo`030000003oool0oooo00<0oooo00<000000?oo
+o`3oool0N@3oool007d0oooo0P0000060?ooo`800000203oool00`000000oooo0?ooo`050?ooo`03
+0000003oool0oooo0080oooo0P00001l0?ooo`00OP3oool2000000H0oooo00<000000?ooo`3oool0
+1P3oool00`000000oooo0?ooo`040?ooo`030000003oool0oooo0080oooo00<000000?ooo`3oool0
+O03oool00800oooo0P0000040?ooo`030000003oool0oooo00H0oooo00<000000?ooo`3oool00`3o
+ool010000000oooo0?ooo`3oool2000007l0oooo00210?ooo`800000103oool2000000D0oooo00<0
+00000?ooo`3oool00`3oool01@000000oooo0?ooo`3oool000000840oooo00230?ooo`030000003o
+ool0oooo0080oooo00<000000?ooo`3oool00`3oool010000000oooo0?ooo`3oool200000080oooo
+0P0000220?ooo`00Q03oool200000080oooo0P0000040?ooo`030000003oool0oooo0080000000<0
+oooo000000000000Q03oool008D0oooo0P0000020?ooo`050000003oool0oooo0?ooo`0000000P3o
+ool2000000030?ooo`000000oooo08D0oooo00270?ooo`030000003oool0000000<0oooo00<00000
+0?ooo`3oool00`0000270?ooo`00R03oool4000000030?ooo`000000oooo00800000R@3oool008X0
+oooo0P000000103oool0000000000000002:0?ooo`00R`3oool3000008`0oooo002<0?ooo`030000
+003oool0oooo08/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0
+oooo003o0?oooa/0oooo003o0?oooa/0oooo003o0?oooa/0oooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+/Mabs {
+Mgmatrix idtransform
+Mtmatrix dtransform
+} bind def
+/Mabsadd { Mabs
+3 -1 roll add
+3 1 roll add
+exch } bind def
+%% Graphics3D
+%%IncludeResource: font Courier
+%%IncludeFont: Courier
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0 1 0 1 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+0 g
+.0025 w
+[ .01 .012 ] 0 setdash
+.486 .58183 m
+.60739 .43861 L
+s
+.486 .58183 m
+.37684 .43254 L
+s
+.486 .58183 m
+.63075 .55515 L
+s
+.486 .58183 m
+.4914 .42433 L
+s
+.486 .58183 m
+.34973 .54914 L
+s
+.49073 .68996 m
+.486 .58183 L
+s
+.36872 .65777 m
+.486 .58183 L
+s
+.6144 .66191 m
+.486 .58183 L
+s
+.4914 .42433 m
+.5 .27523 L
+s
+.4914 .42433 m
+.60739 .43861 L
+s
+.4914 .42433 m
+.37684 .43254 L
+s
+.60739 .43861 m
+.75546 .50603 L
+s
+.60739 .43861 m
+.5 .27523 L
+s
+.60739 .43861 m
+.64786 .36592 L
+s
+.63075 .55515 m
+.60739 .43861 L
+s
+.37684 .43254 m
+.5 .27523 L
+s
+.37684 .43254 m
+.23889 .49384 L
+s
+.37684 .43254 m
+.35026 .35716 L
+s
+.34973 .54914 m
+.37684 .43254 L
+s
+.63075 .55515 m
+.75546 .50603 L
+s
+.6144 .66191 m
+.63075 .55515 L
+s
+.34973 .54914 m
+.23889 .49384 L
+s
+.36872 .65777 m
+.34973 .54914 L
+s
+.64786 .36592 m
+.5 .27523 L
+s
+.35026 .35716 m
+.5 .27523 L
+s
+.0035 w
+[ ] 0 setdash
+.5 .27523 m
+.64397 .32698 L
+s
+.5 .27523 m
+.5105 .28499 L
+s
+.5 .27523 m
+.37177 .31851 L
+s
+.0025 w
+[ .01 .012 ] 0 setdash
+.36872 .65777 m
+.49073 .68996 L
+s
+.6144 .66191 m
+.49073 .68996 L
+s
+.5 .75807 m
+.49073 .68996 L
+s
+.6144 .66191 m
+.75546 .50603 L
+s
+.66054 .65315 m
+.6144 .66191 L
+s
+.5 .75807 m
+.6144 .66191 L
+s
+.64786 .36592 m
+.64397 .32698 L
+s
+.64786 .36592 m
+.75546 .50603 L
+s
+.36872 .65777 m
+.23889 .49384 L
+s
+.33724 .64758 m
+.36872 .65777 L
+s
+.5 .75807 m
+.36872 .65777 L
+s
+.35026 .35716 m
+.37177 .31851 L
+s
+.35026 .35716 m
+.23889 .49384 L
+s
+.0035 w
+[ ] 0 setdash
+.75546 .50603 m
+.68244 .44034 L
+s
+.75546 .50603 m
+.64397 .32698 L
+s
+.66054 .65315 m
+.75546 .50603 L
+s
+.65519 .585 m
+.75546 .50603 L
+s
+.23889 .49384 m
+.37177 .31851 L
+s
+.23889 .49384 m
+.337 .43125 L
+s
+.33724 .64758 m
+.23889 .49384 L
+s
+.36165 .57909 m
+.23889 .49384 L
+s
+.5 .75807 m
+.66054 .65315 L
+s
+.65519 .585 m
+.66054 .65315 L
+s
+.64397 .32698 m
+.51982 .38415 L
+s
+.64397 .32698 m
+.68244 .44034 L
+s
+.5105 .28499 m
+.64397 .32698 L
+s
+.5 .75807 m
+.33724 .64758 L
+s
+.36165 .57909 m
+.33724 .64758 L
+s
+.37177 .31851 m
+.51982 .38415 L
+s
+.37177 .31851 m
+.5105 .28499 L
+s
+.337 .43125 m
+.37177 .31851 L
+s
+.5105 .28499 m
+.51982 .38415 L
+s
+.36165 .57909 m
+.5 .75807 L
+s
+.51151 .60126 m
+.5 .75807 L
+s
+.65519 .585 m
+.5 .75807 L
+s
+.68244 .44034 m
+.51982 .38415 L
+s
+.65519 .585 m
+.68244 .44034 L
+s
+.337 .43125 m
+.51982 .38415 L
+s
+.36165 .57909 m
+.337 .43125 L
+s
+.65519 .585 m
+.51982 .38415 L
+s
+.65519 .585 m
+.51151 .60126 L
+s
+.36165 .57909 m
+.51982 .38415 L
+s
+.51151 .60126 m
+.36165 .57909 L
+s
+.51151 .60126 m
+.51982 .38415 L
+s
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, 0}, {0, 0}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.1,
+  ImageCache->GraphicsData["Bitmap", "\<\
+CF5dJ6E]HGAYHf4PAg9QL6QYHg<PAVmbKF5d0`40004J00016R000`400?l00000o`00003ooooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolKooooo`00oooooolK
+ooooo`00oooooolKooooo`00oooooolKooooo`00Roooool3o`0008cooooo0028ooooo`?o00000_oo
+ool4o`0008Wooooo0025ooooo`Co00000oooool3o`000003ooooool0003o000000;o0000Q_ooool0
+08;ooooo0ol00005ooooo`03o`000?oooooo000000Go00000_ooool3o`0008?ooooo001oooooo`?o
+00000_ooool2o`0000;ooooo1Ol00002ooooo`03o`000?oooooooooo00?o00000_ooool3o`00083o
+oooo001looooo`?o00000oooool7o`0000?ooooo00Co0000oooooooooooo00001Oooool3o`0000;o
+oooo0ol0001mooooo`00NOooool3o`0000Cooooo1?l0000;ooooo`03o`000?oooooooooo00Cooooo
+00?o0000ooooool000000ol000001?oooooo0000o`000?l0001jooooo`00M_ooool3o`0000;ooooo
+1Ol0000?ooooo`03o`000?oooooo000000[ooooo0ol000000ooooooo0000o`00001hooooo`00Looo
+ool3o`000003ooooool0003o000000;o00000_ooool00ol0003oooooooooo`06ooooo`03o`000?oo
+oooooooo00?ooooo00Co0000oooooooooooooooo0_l00007ooooo`;o00001?ooool6o`0007Gooooo
+001`ooooo`Oo00003_ooool00ol0003oooooooooo`04ooooo`07o`000?ooooooooooooooool0003o
+ooooo`000008ooooo`03o`000?oooooooooo00Gooooo1Ol0001booooo`00KOooool6o`0000Kooooo
+0_l00009ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool00_ooool00ol0003ooooo
+o`00000Cooooo`Go0000Koooool006[ooooo1?l0000:ooooo`03o`000?oooooooooo013ooooo00?o
+0000ooooooooool00_ooool00ol0003oooooooooo`0;ooooo`;o00002Oooool5o`0006cooooo001X
+ooooo`;o00009_ooool01Ol0003ooooooooooooooooo000000_ooooo00?o0000ooooooooool02_oo
+ool4o`0006Wooooo001Xooooo`03o`000?oooooo000000;o00001oooool2o`0000cooooo00?o0000
+ooooooooool02oooool01Ol0003ooooooooooooooooo000001_ooooo1?l0001Vooooo`00Ioooool2
+o`0000Cooooo0_l00003ooooo`;o00003Oooool00ol0003oooooooooo`07ooooo`03o`000?oooooo
+oooo00;ooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`0;ooooo`;o00003_ooool2
+o`0006Gooooo001Vooooo`;o00001oooool2o`0000oooooo00?o0000ooooooooool02?ooool00ol0
+003oooooooooo`02ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool03?ooool00ol0
+003oooooooooo`09ooooo`;o000000?oooooo`000?ooool0I?ooool006Gooooo00?o000000000?l0
+00001_ooool2o`000004ooooool0003o0000o`0001Oooooo00?o0000ooooooooool00_ooool00ol0
+003oooooooooo`0Cooooo`03o`000?oooooooooo00Kooooo0_l00004ooooo`03o`000?oooooooooo
+06;ooooo001Uooooo`03o`000?oooooo000000Gooooo00?o0000ooooooooool01?ooool2o`0001Go
+oooo00?o0000ooooooooool00oooool00ol0003oooooooooo`0Eooooo`04o`000?oooooooooooooo
+o`;o00001_ooool2o`0006?ooooo001Tooooo`03o`000?oooooo000000oooooo0_l00006ooooo`03
+o`000?oooooooooo013ooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`0?ooooo`?o
+00002?ooool2o`0006?ooooo001Sooooo`04o`000?ooooooooooo`0000;ooooo0_l0000=ooooo`?o
+00000_ooool00ol0003oooooooooo`0Aooooo`03o`000?oooooooooo00Cooooo00?o0000oooooooo
+ool03Oooool2o`000003ooooool0003ooooo00Sooooo00<00000o`000?l00000H_ooool006;ooooo
+00Co000000000?oooooooooo0ol0000Booooo`;o00003_ooool00ol0003oooooooooo`03ooooo`03
+o`000?oooooooooo00Gooooo00?o0000ooooooooool02_ooool2o`0000kooooo0_l0001Rooooo`00
+H_ooool01?l000000000ooooool0000Gooooo`;o00003?ooool00ol0003oooooooooo`03ooooo`03
+o`000?oooooooooo013ooooo0_l00008ooooo`;o00001_ooool00ol0003oooooo`00001Qooooo`00
+HOooool00ol000000000o`000002o`0001Cooooo00?o0000ooooooooool00_ooool3o`0000Wooooo
+00?o0000ooooooooool00oooool00ol0003oooooooooo`0>ooooo`;o00003?ooool00ol0003ooooo
+ooooo`04ooooo`03o`000?oooooo0000063ooooo001Pooooo`03o`000?ooool0000000;ooooo00?o
+0000ooooooooool04_ooool00ol0003oooooooooo`05ooooo`;o00001oooool00ol0003ooooooooo
+o`03ooooo`03o`000?oooooooooo00Oooooo00?o0000ooooooooool00_ooool2o`0001?ooooo00D0
+0000ooooool0003oooooo`00001Pooooo`00Goooool01_l0003ooooo00000?l0003oooooo`0001Co
+oooo00?o0000ooooooooool02?ooool2o`0000_ooooo00?o0000ooooooooool02?ooool01?l0003o
+ooooo`000?l0000Cooooo`;o000000<00000ooooool000000_ooool00ol0003oooooooooo`1Moooo
+o`00Goooool01_l000000000ooooool0003oooooo`0001Cooooo00?o0000ooooooooool02_ooool3
+o`0000Sooooo00?o0000ooooooooool02?ooool2o`0001Sooooo00<00000ooooool000000_ooool0
+0ol0003oooooooooo`1Looooo`00G_ooool00ol0003oooooooooo`02ooooo`;o00009?ooool2o`00
+00Oooooo00?o0000ooooooooool01?ooool3o`0001[ooooo00<00000ooooool000000_ooool00ol0
+003oooooooooo`1Looooo`00GOooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo017o
+oooo00?o0000ooooooooool04?ooool3o`0000Gooooo00?o0000ooooooooool00_ooool2o`0001co
+oooo00Co0000ooooo`00003o00000oooool00ol0003oooooooooo`1Kooooo`00G?ooool00ol0003o
+oooo00000004ooooo`03o`000?oooooooooo013ooooo00?o0000ooooooooool04Oooool00ol0003o
+ooooooooo`03o`0000;ooooo00?o0000ooooooooool00_l00007ooooo`03o`000?oooooooooo01Co
+oooo00Go0000ooooo`00003oooooo`000002ooooo`03o`000?oooooooooo05_ooooo001Looooo`03
+o`000000003ooooo00Cooooo00?o0000ooooooooool03oooool00ol0003oooooooooo`0Booooo`03
+o`000?oooooooooo00?ooooo1Ol0000:ooooo`03o`000?oooooooooo01;ooooo00?o0000oooooooo
+ool00_ooool01Ol0003ooooooooooooooooo000005cooooo001Kooooo`03o`000000003ooooo00Go
+oooo0_l0000[ooooo`Co00003?ooool00ol0003oooooooooo`0@ooooo`03o`000?oooooooooo00?o
+oooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`1Iooooo`00F_ooool00ol0003ooooo
+ooooo`05ooooo`03o`000?oooooo000002Oooooo1?l00002ooooo`03o`000?oooooo000000;o0000
+8_ooool00`00003o0000ooooo`02ooooo`03o`000?oooooooooo05Wooooo001Iooooo`03o`000000
+003ooooo00Kooooo00Co0000oooooooooooo00003Oooool00ol0003oooooooooo`0Cooooo`?o0000
+1Oooool3o`0000?ooooo0ol0000Hooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool0
+0_ooool00ol0003oooooooooo`1Hooooo`00FOooool00ol000000000ooooo`06ooooo`03o`000?oo
+oooooooo00gooooo00?o0000ooooooooool04?ooool4o`000003ooooool0003ooooo00Cooooo00Go
+0000ooooool0003oooooo`000005ooooo`?o00001Oooool00ol0003oooooooooo`0=ooooo`03o`00
+0?oooooooooo00Gooooo00?o000000000?ooool00oooool00ol0003oooooooooo`1Gooooo`00F?oo
+ool00ol000000000ooooo`06ooooo`03o`000?oooooooooo00gooooo00?o0000ooooooooool03Ooo
+ool4o`0000Gooooo00?o0000ooooooooool00_ooool01_l0003oooooooooool0003oooooo`0000So
+oooo0ol00002ooooo`03o`000?oooooooooo00cooooo00?o0000ooooooooool01oooool00ol0003o
+ooooooooo`02ooooo`03o`000?oooooooooo05Oooooo001Gooooo`03o`000000003ooooo00Oooooo
+00?o0000ooooooooool06_ooool3o`0000Wooooo00Go0000ooooooooooooooooo`000003ooooo`04
+o`000?ooooooooooo`0000[ooooo0_l000000ooooooo0000ooooo`0;ooooo`03o`000?oooooooooo
+00Sooooo00?o0000ooooo`0000000oooool00ol0003oooooooooo`1Fooooo`00E_ooool00ol0003o
+ooooooooo`08ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool04Oooool4o`0000co
+oooo00Co0000oooooooooooo00001?ooool01Ol0003ooooooooooooooooo000000_ooooo0ol0000F
+ooooo`04o`000?oooooooooo000000;ooooo00?o0000ooooooooool0E_ooool005Gooooo00?o0000
+00000?ooool02?ooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo00Kooooo00?o0000
+ooooooooool01?ooool4o`0001?ooooo00?o0000ooooooooool00_ooool01Ol0003ooooooooooooo
+oooo000000kooooo0ol0000Dooooo`04o`000?oooooooooo000000;ooooo00?o0000ooooooooool0
+EOooool005Gooooo00?o0000ooooooooool02?ooool00ol0003oooooooooo`04ooooo`03o`000?oo
+oooooooo00Cooooo00Co0000oooooooooooooooo1?l0000Fooooo`03o`000?oooooooooo00?ooooo
+00?o0000ooooooooool00_ooool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo00?o0000
+1?ooool00ol0003oooooooooo`0:ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool0
+E?ooool005Cooooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`0:ooooo`03o`000?oo
+oooo000000;o00006?ooool2o`0000Kooooo00?o0000ooooooooool00oooool00ol0003ooooooooo
+o`0:ooooo`03o`000?oooooooooo00?ooooo1?l0000=ooooo`03o`000?oooooooooo00Cooooo00?o
+0000ooooooooool0E?ooool005?ooooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`09
+ooooo`Co00006oooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00?ooooo00?o0000
+ooooooooool02oooool00ol0003oooooooooo`04ooooo`Co00003?ooool01Ol0003ooooooooooooo
+ool0000000;ooooo00?o0000ooooooooool0Doooool005;ooooo00?o0000ooooooooool02_ooool0
+0ol0003oooooooooo`05ooooo`Co00007_ooool2o`0000Kooooo00?o0000ooooooooool01Oooool0
+0ol0003oooooooooo`0;ooooo`03o`000?oooooooooo00Oooooo0_l0000:ooooo`03o`000?oooooo
+oooo00;ooooo00@00000oooooooooooo0000E?ooool005;ooooo00?o0000ooooooooool02_ooool0
+0ol0003oooooooooo`02ooooo`?o000000Goooooo`000?ooooooooooo`00000Eooooo`?o00000ooo
+ool6o`0000Cooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`0Fooooo`?o00001ooo
+ool00ol0003oooooooooo`03ooooo`0300000?oooooo000005Cooooo001Aooooo`03o`000000003o
+oooo00[ooooo00?o0000ooooool000000ol00005ooooo`;o00002Oooool4o`0000;ooooo1?l0000:
+ooooo`03o`000?oooooo000000Gooooo0ol00003ooooo`?o000000?oooooo`000?ooool03Oooool0
+0ol0003oooooo`00000:ooooo`?o00001Oooool00ol0003oooooooooo`05ooooo`03o`000?oooooo
+oooo057ooooo001@ooooo`03o`000000003ooooo00[ooooo0ol00008ooooo`Co00000_ooool4o`00
+01Gooooo00?o0000ooooooooool01oooool00ol0003oooooooooo`05ooooo`03o`000?oooooo0000
+00Co00002Oooool00ol0003oooooo`00000=ooooo`?o00000_ooool00ol0003oooooooooo`06oooo
+o`03o`000?oooooooooo053ooooo001?ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooool0
+00002?ooool01?l0003oooooo`000?l0000Kooooo`03o`000?oooooooooo00Sooooo00?o0000oooo
+ooooool02?ooool00ol0003oooooooooo`03ooooo`Co00001?ooool00ol0003oooooooooo`0?oooo
+o`?o00001_ooool00`00003oooooo`00001Booooo`00Coooool00ol0003oooooooooo`08ooooo`;o
+00000_ooool00ol0003oooooooooo`08ooooo`03o`000?oooooo000001Wooooo00Go0000oooooooo
+ooooooooo`000007ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool02Oooool5o`00
+01;ooooo0_l00004ooooo`0400000?ooooooooooo`00057ooooo001>ooooo`03o`000?oooooooooo
+00Oooooo0_l00004ooooo`03o`000?oooooooooo00;ooooo0_l00004ooooo`03o`000?oooooooooo
+01Sooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo
+00Wooooo00?o0000ooooooooool02Oooool2o`0000;ooooo00?o0000ooooooooool03oooool00ol0
+003oooooo`000004ooooo`0300000?oooooo0000057ooooo001=ooooo`03o`000000003ooooo00Oo
+oooo00?o0000ooooooooool01Oooool01?l0003oooooo`000?l0000Qooooo`03o`000?oooooooooo
+00;ooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`0:ooooo`03o`000?oooooooooo
+00Oooooo00Co0000oooooooooooo00001?ooool2o`0000gooooo00Co0000oooooooooooo00001_oo
+ool00ol0003oooooooooo`1>ooooo`00C?ooool00ol000000000ooooo`06ooooo`;o00001_ooool3
+o`0000gooooo00?o0000ooooooooool04oooool00ol0003oooooooooo`03ooooo`03o`000?oooooo
+oooo00Gooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`0Aooooo`03o`000?oooooo
+oooo00[ooooo00Go0000ooooooooooooooooo`000006ooooo`03o`000?oooooooooo04gooooo001<
+ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool01Oooool01?l0003oooooooooool0
+0008ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool04Oooool00ol0003ooooooooo
+o`0<ooooo`03o`000?oooooooooo00_ooooo00?o0000ooooooooool07?ooool00ol0003ooooooooo
+o`03ooooo`07o`000?ooooooooooooooo`00003oooooo`00001?ooooo`00Boooool00ol0003ooooo
+ooooo`04ooooo`;o00002oooool00ol0003oooooooooo`06ooooo`03o`000?oooooooooo00Cooooo
+00?o0000ooooooooool03oooool00ol0003oooooooooo`0=ooooo`03o`000?oooooooooo00cooooo
+00?o0000ooooooooool00oooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo00Oooooo
+0ol00006ooooo`03o`000?oooooooooo00Cooooo00Oo0000oooooooooooooooo00000?oooooo0000
+04kooooo001:ooooo`03o`000?oooooooooo00?ooooo0_l00005ooooo`;o00001_ooool00ol0003o
+ooooooooo`05ooooo`03o`000?oooooooooo01Kooooo00?o0000ooooooooool01_ooool00ol0003o
+ooooooooo`05ooooo`03o`000?oooooooooo00cooooo00?o0000ooooooooool00_ooool00ol0003o
+ooooooooo`03ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool00oooool00ol0003o
+ooooooooo`05ooooo`07o`000?ooooooooooooooo`00003oooooo`00001=ooooo`00BOooool00ol0
+00000000ooooo`03ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool01_ooool00ol0
+003oooooooooo`05ooooo`03o`000?oooooooooo01Kooooo00?o0000ooooooooool01_ooool00ol0
+003oooooooooo`05ooooo`03o`000?oooooooooo00gooooo00Co0000oooooooooooo00001oooool0
+0ol0003oooooooooo`0<ooooo`;o000000?oooooo`000?ooool01oooool00ol0003oooooooooo`02
+ooooo`03o`000?oooooooooo04_ooooo0019ooooo`04o`000?ooooooooooooooo`;o00000oooool2
+o`0000cooooo00?o0000ooooooooool03_ooool00ol0003oooooooooo`0;ooooo`03o`000?oooooo
+oooo00Oooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`0>ooooo`03o`000?oooooo
+oooo00Oooooo00?o0000ooooooooool03_ooool2o`0000Wooooo00?o0000ooooooooool00_ooool0
+0ol0003oooooooooo`1:ooooo`00B?ooool01Ol0003ooooooooooooooooo000000?ooooo0_l0000>
+ooooo`03o`000?oooooooooo00kooooo00?o0000ooooooooool02_ooool00ol0003oooooooooo`08
+ooooo`03o`000?oooooooooo00Gooooo00?o0000ooooooooool03_ooool00ol0003oooooooooo`0I
+ooooo`03o`000?oooooooooo00Sooooo0_l000000oooool00000o`00001<ooooo`00Aoooool00ol0
+003oooooooooo`02o`0001Cooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`08oooo
+o`03o`000?oooooooooo00Sooooo00?o0000ooooooooool04Oooool00ol0003oooooooooo`0>oooo
+o`;o00006Oooool01?l0003oooooooooooooool2o`0000Sooooo00Co0000ooooo`00003o0000Booo
+ool004Kooooo00Co000000000?oooooo00000_ooool2o`0001;ooooo00?o0000ooooooooool01?oo
+ool00ol0003oooooooooo`0Booooo`03o`000?oooooooooo01;ooooo00?o0000ooooooooool03Ooo
+ool01?l0003oooooooooool0000Hooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool0
+1_ooool01?l0003ooooo00000?l0001:ooooo`00A_ooool3o`0000;ooooo00?o0000ooooooooool0
+4_ooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo01;ooooo00?o0000ooooooooool0
+2oooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00cooooo00Go0000oooooooooooo
+ooooo`000007ooooo`03o`000?oooooooooo00kooooo00?o0000ooooooooool03Oooool00ol0003o
+ooooo`00001:ooooo`00AOooool3o`0001Sooooo00?o0000ooooooooool00oooool00ol0003ooooo
+ooooo`0;ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool02oooool00ol0003ooooo
+ooooo`05ooooo`03o`000?oooooooooo017ooooo00?o0000ooooooooool01?ooool00ol0003ooooo
+ooooo`0>ooooo`03o`000?oooooooooo00Kooooo0ol00005ooooo`03o`000?oooooo000004Wooooo
+0014ooooo`;o00006oooool00ol0003oooooooooo`0Aooooo`03o`000?oooooooooo00;ooooo00?o
+0000ooooooooool03?ooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo00[ooooo00?o
+0000ooooooooool01Oooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo00gooooo00?o
+0000ooooooooool02Oooool00ol0003oooooooooo`03ooooo`03o`000000003o000004Sooooo0013
+ooooo`;o00007?ooool00ol0003oooooooooo`0Booooo`04o`000?ooooooooooo`0000oooooo00?o
+0000ooooooooool01?ooool00ol0003oooooooooo`0:ooooo`03o`000?oooooooooo00Kooooo00?o
+0000ooooooooool05?ooool00ol0003oooooooooo`0<ooooo`;o00000_ooool2o`0004Sooooo0013
+ooooo`?o00006oooool01Ol0003ooooooooooooooooo000001;ooooo00?o0000ooooooooool05Ooo
+ool00ol0003oooooooooo`09ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool04_oo
+ool00ol0003oooooooooo`0?ooooo`03o`000?oooooooooo00;o0000Aoooool004Cooooo00Co0000
+ooooool0003o00006Oooool01Ol0003ooooooooooooooooo0000017ooooo00?o0000ooooooooool0
+5_ooool00ol0003oooooooooo`0Eooooo`03o`000?oooooooooo017ooooo00?o0000ooooooooool0
+4oooool00ol0003oooooooooo`15ooooo`00AOooool01?l0003oooooooooool0000Hooooo`05o`00
+0?ooooooooooooooool000004Oooool2o`0001Oooooo00?o0000ooooooooool05Oooool00ol0003o
+ooooooooo`03ooooo`03o`000?oooooooooo00_ooooo00?o0000ooooooooool04_ooool3o`0004Ko
+oooo0015ooooo`04o`000?ooooooooooooooo`?o00005_ooool01?l0003oooooooooool0000@oooo
+o`03o`000?oooooo0000013ooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`07oooo
+o`03o`000?oooooooooo00cooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`0;oooo
+o`03o`000?oooooooooo01Cooooo0_l00015ooooo`00A_ooool01?l000000000ooooooooool3o`00
+01Gooooo00?o0000ooooooooool04?ooool01Ol0003ooooooooooooooooo000000oooooo00?o0000
+ooooooooool01?ooool00ol0003oooooooooo`06ooooo`03o`000?oooooooooo00kooooo00Go0000
+ooooooooooooooooo`00000=ooooo`03o`000?oooooooooo013ooooo0_l000001?oooooo0000oooo
+ool00015ooooo`00A_ooool00ol000000000ooooo`03ooooo`04o`000?ooooooooooo`0001;ooooo
+00?o0000ooooooooool03oooool00ol0003oooooooooo`0Booooo`03o`000?oooooooooo00Cooooo
+00?o0000ooooooooool01Oooool00ol0003oooooooooo`0?ooooo`03o`000?oooooooooo00kooooo
+00?o0000ooooooooool03oooool2o`0000;ooooo00?o0000ooooool00000A_ooool004Oooooo00?o
+000000000?ooool00oooool2o`000003ooooool0003ooooo013ooooo00?o0000ooooool000003_oo
+ool00ol0003oooooooooo`0Jooooo`03o`000?oooooooooo01Sooooo00?o0000ooooooooool03Ooo
+ool00ol0003oooooooooo`0;ooooo`;o00001Oooool00ol0003oooooo`000017ooooo`00B?ooool0
+0ol0003oooooooooo`04ooooo`03o`000?oooooo0000013ooooo00?o0000ooooool000003Oooool0
+0ol0003oooooooooo`06ooooo`03o`000?oooooooooo01;ooooo00?o0000ooooooooool06Oooool0
+0ol0003oooooooooo`0<ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool00oooool2
+o`0000;ooooo00?o0000ooooooooool0AOooool004Sooooo00?o0000ooooooooool01Oooool01?l0
+003oooooooooooooool3o`0000_ooooo0_l0000>ooooo`03o`000?oooooooooo00Oooooo00?o0000
+ooooooooool04Oooool00ol0003oooooooooo`03ooooo`03o`000?oooooooooo01?ooooo00Co0000
+oooooooooooo00002oooool00ol0003oooooooooo`0?ooooo`05o`000?ooool00000ooooool00000
+B?ooool004Wooooo00?o000000000?ooool01Oooool2o`0000Cooooo00?o0000ooooooooool02Ooo
+ool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo00Wooooo00?o0000ooooooooool02Ooo
+ool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool05Ooo
+ool00ol0003oooooo`00000;ooooo`03o`000?oooooooooo00Kooooo0_l00006ooooo`05o`000?oo
+ool00000ooooool00000BOooool004[ooooo00?o000000000?ooool01_ooool00ol0003ooooooooo
+o`0=ooooo`03o`000?oooooooooo00[ooooo00?o0000ooooooooool05_ooool00ol0003ooooooooo
+o`04ooooo`05o`000?ooooooooooooooool000006Oooool2o`0000_ooooo00?o0000ooooooooool0
+1?ooool2o`0000Kooooo0_l000001Oooool00000oooooooooooo000004Wooooo001:ooooo`03o`00
+0?ooool0000000Oooooo0_l00004ooooo`;o00001oooool00ol0003oooooooooo`09ooooo`03o`00
+0?oooooooooo01Kooooo00?o0000ooooooooool01Oooool00ol0003oooooooooo`0Kooooo`03o`00
+0?oooooooooo00Wooooo00Co0000oooooooooooooooo0_l00009ooooo`03o`000?oooooooooo00?o
+oooo00?o0000ooooooooool0B?ooool004_ooooo00?o0000ooooooooool02?ooool00ol0003ooooo
+ooooo`03ooooo`03o`000?oooooooooo00?ooooo0_l0000:ooooo`03o`000?oooooooooo00kooooo
+00?o0000ooooooooool01_ooool00ol0003oooooooooo`05ooooo`03o`000?oooooo000001cooooo
+00?o0000ooooooooool02?ooool01?l0003oooooo`000?l0000:ooooo`04o`000?oooooooooo0000
+00;ooooo00?o0000ooooooooool0BOooool004_ooooo00?o0000ooooooooool02Oooool2o`0000Wo
+oooo0_l0000:ooooo`03o`000?oooooooooo00oooooo00?o0000ooooooooool03Oooool00ol0003o
+ooooo`00000Mooooo`03o`000?oooooooooo00Gooooo0ol0000<ooooo`04o`000?oooooooooo0000
+00?ooooo00?o0000ooooooooool0BOooool004cooooo00?o0000ooooo`0000002_ooool00ol0003o
+ooooooooo`03ooooo`Go00002Oooool00ol0003oooooooooo`0Aooooo`03o`000?oooooooooo00co
+oooo0_l0000Nooooo`03o`000?oooooooooo00?ooooo0_l00002ooooo`03o`000?oooooooooo00So
+oooo0_l00002ooooo`0500000?ooooooooooooooool00000C?ooool004gooooo00?o0000ooooo`00
+00002_ooool00ol0003oooooooooo`05ooooo`?o00001oooool00ol0003oooooooooo`0Iooooo`03
+o`000?oooooooooo00Gooooo00?o0000ooooooooool07Oooool4o`0000Kooooo00?o0000oooooooo
+ool01oooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo04_ooooo001=ooooo`04o`00
+0?oooooooooo000000[ooooo0_l00007ooooo`03o`000?oooooooooo00?o000000?oooooo`000?oo
+ool06oooool00ol0003oooooooooo`05ooooo`03o`000?oooooooooo01kooooo0_l00007ooooo`03
+o`000?oooooooooo00Kooooo00?o0000ooooooooool01_ooool00ol0003oooooooooo`1;ooooo`00
+C_ooool00ol0003oooooooooo`0<ooooo`03o`000?oooooooooo00Cooooo00?o0000ooooooooool0
+0oooool00ol0003oooooooooo`0Fooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0
+0oooool00ol0003oooooo`00000Looooo`?o00000_ooool00ol0003oooooooooo`04ooooo`03o`00
+0?oooooooooo00Kooooo00?o0000ooooooooool00_ooool01@00003ooooooooooooooooo000004ko
+oooo001?ooooo`03o`000?oooooooooo00cooooo0_l00002ooooo`03o`000?oooooo000000Cooooo
+00Co0000oooooooooooooooo1?l0000Booooo`03o`000?oooooooooo00;ooooo00?o0000oooooooo
+ool00_ooool01?l0003oooooooooool0000Eooooo`Co00002Oooool00ol0003oooooooooo`03oooo
+o`03o`000?oooooooooo00Cooooo0_l00004ooooo`0500000?ooooooooooooooool00000Coooool0
+04oooooo00Co0000ooooooooool000003Oooool01Ol0003oooooo`000?oooooo000000Cooooo00?o
+0000ooooooooool01oooool3o`0000kooooo00?o0000ooooooooool01Oooool01Ol0003ooooooooo
+oooooooo0000017ooooo0_l0000<ooooo`05o`000?ooooooooooooooool000001?ooool00ol0003o
+ooooooooo`03ooooo`03o`000?oooooooooo00?ooooo00<00000ooooooooool00_ooool00ol0003o
+ooooooooo`1=ooooo`00D?ooool01?l0003oooooooooo`00000=ooooo`04o`000?oooooo0000o`00
+00?ooooo00?o0000ooooooooool02oooool00ol0003oooooooooo`03o`0001?ooooo00?o0000oooo
+ooooool02_ooool2o`0000;ooooo0_l0000>ooooo`05o`000?ooooooooooooooool000001?ooool0
+0ol0003oooooooooo`02ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool0C_ooool0
+057ooooo00Co0000ooooooooool000003Oooool2o`000004ooooool0003oooooo`0001Cooooo00?o
+0000ooooooooool02Oooool00ol0003oooooooooo`04ooooo`03o`000?oooooooooo00Cooooo0_l0
+0002ooooo`;o00005?ooool00ol0003oooooooooo`02ooooo`05o`000?ooooooooooooooool00000
+0_ooool2o`0000[ooooo00?o0000ooooooooool0Coooool0057ooooo00?o0000ooooooooool04?oo
+ool3o`0001Sooooo0ol00004ooooo`05o`000?oooooo0000ooooool000001?ooool3o`0000;ooooo
+0_l0000Jooooo`03o`000?oooooooooo00?ooooo00Ko0000oooooooooooo0000ooooool00007oooo
+o`0300000?oooooooooo00;ooooo00?o0000ooooooooool0Coooool005;ooooo00?o0000oooooooo
+ool04?ooool5o`0001Sooooo00?o0000ooooooooool01ol00002ooooo`;o00009_ooool01Ol0003o
+ooooo`000?oooooo000000Oooooo00<00000ooooooooool00_ooool00ol0003oooooooooo`1@oooo
+o`00D_ooool01Ol0003oooooooooooooool0000000cooooo00?o0000ooooool000001?ooool7o`00
+01Kooooo0ol00005ooooo`03o`000?oooooooooo02Gooooo0ol00007ooooo`0300000?oooooooooo
+00;ooooo00?o0000ooooooooool0DOooool005?ooooo00Go0000oooooooooooooooo0000000;oooo
+o`;o000000?oooooo`000?ooool02Oooool7o`0000kooooo00Co0000oooooooooooooooo0_l00003
+ooooo`03o`000?oooooooooo01gooooo00Co0000oooooooooooooooo1_l0000=ooooo`03o`000?oo
+oooooooo057ooooo001Dooooo`05o`000?ooooooooooooooo`0000002oooool01?l0003ooooooooo
+ool0000@ooooo`Oo00003Oooool01?l0003oooooooooool0000Iooooo`[o00001Oooool00ol0003o
+ooooooooo`04ooooo`0300000?oooooooooo00?ooooo00?o0000ooooooooool0D_ooool005Cooooo
+00?o0000ooooooooool03Oooool01Ol0003ooooooooooooooooo000001Kooooo1ol00002ooooo`03
+o`000?oooooooooo00;ooooo00?o0000ooooool000003_ooool;o`0000Kooooo00?o0000oooooooo
+ool01Oooool2o`0000Gooooo00<00000ooooooooool01?ooool00ol0003oooooooooo`1Booooo`00
+EOooool00ol0003oooooooooo`0;ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0
+5oooool01?l0003oooooooooooooool7o`0000;ooooo00?o0000ooooooooool00_ooool:o`00017o
+oooo00?o0000ooooooooool01?ooool00ol0003oooooo`000004ooooo`0300000?oooooooooo00Co
+oooo00?o0000ooooooooool0Doooool005Kooooo00Go0000oooooooooooooooo00000008ooooo`03
+o`000?oooooooooo00?ooooo00?o0000ooooooooool05Oooool00ol0003oooooooooo`04ooooo`03
+o`000?oooooooooo00;ooooo1ol0000Qooooo`04o`000?ooooooooooo`0000[ooooo00?o0000oooo
+ooooool0E?ooool005Kooooo00?o0000ooooooooool00_ooool00`00003oooooooooo`05ooooo`;o
+00001Oooool00ol0003oooooooooo`0Aooooo`03o`000?oooooooooo00Oooooo00?o0000oooooooo
+ool01?ooool01?l0003oooooooooool0000Qooooo`05o`000?ooooooooooooooool000002_ooool0
+0ol0003oooooooooo`1Dooooo`00Eoooool00ol0003oooooooooo`02ooooo`0300000?oooooooooo
+00?ooooo00?o0000ooooool000001_ooool00ol0003oooooooooo`0?ooooo`03o`000?oooooooooo
+00oooooo00?o0000ooooooooool07?ooool00ol0003oooooooooo`02ooooo`03o`000?oooooooooo
+00;ooooo00?o0000ooooo`0000001oooool00ol0003oooooooooo`1Eooooo`00Eoooool00ol0003o
+ooooooooo`08ooooo`04o`000?ooooooooooo`0000Kooooo00?o0000ooooooooool03Oooool00ol0
+003oooooooooo`0@ooooo`03o`000?oooooooooo00?ooooo0_l0000Gooooo`05o`000?oooooooooo
+ooooool000001Oooool00ol0003ooooo00000006ooooo`03o`000?oooooooooo05Kooooo001Hoooo
+o`03o`000?oooooooooo00?ooooo00@00000oooooooooooo00000oooool00ol0003oooooooooo`04
+ooooo`03o`000?oooooooooo01Wooooo00?o0000ooooooooool01?ooool00ol0003oooooooooo`05
+ooooo`03o`000?oooooooooo01Cooooo00Co0000oooooooooooo00001_ooool00ol000000000oooo
+o`06ooooo`03o`000?oooooooooo05Kooooo001Iooooo`03o`000?oooooooooo00;ooooo00@00000
+oooooooooooo00002oooool00ol0003oooooooooo`08ooooo`;o00003_ooool00ol0003ooooooooo
+o`04ooooo`03o`000?oooooooooo01cooooo00?o0000ooooool000001oooool00ol0003ooooooooo
+o`05ooooo`03o`000?oooooooooo05Oooooo001Iooooo`03o`000?oooooooooo00?ooooo00<00000
+ooooool000003?ooool00ol0003oooooooooo`06ooooo`03o`000?oooooooooo00oooooo00?o0000
+ooooooooool00oooool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo01;ooooo00?o0000
+ooooooooool01?ooool01000003oooooooooool00005ooooo`03o`000?oooooooooo05Sooooo001J
+ooooo`03o`000?oooooooooo00;ooooo00<00000o`000?ooool03Oooool00ol0003oooooooooo`0G
+ooooo`03o`000?oooooooooo00?ooooo00?o0000ooooooooool02Oooool00ol0003oooooooooo`0A
+ooooo`03o`000?oooooooooo00?ooooo00D00000ooooooooooooooooo`000005ooooo`03o`000?oo
+oooooooo05Sooooo001Kooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool00oooool0
+0ol0003oooooooooo`06ooooo`04o`000?ooooooooooooooo`;o00006Oooool00ol0003ooooooooo
+o`0;ooooo`03o`000?oooooooooo00oooooo00?o0000ooooooooool00oooool00`00003ooooooooo
+o`02ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool0FOooool005_ooooo00?o0000
+ooooooooool00_ooool00ol000000000ooooo`03ooooo`03o`000?oooooooooo00Oooooo00?o0000
+ooooool000006oooool00ol0003oooooooooo`0>ooooo`;o00003?ooool00ol0003oooooooooo`09
+ooooo`05o`000?ooooooooooooooool00000G?ooool005cooooo00Ko0000oooooooooooo0000oooo
+o`000004ooooo`03o`000?oooooooooo00Sooooo00?o0000ooooooooool05Oooool00ol0003ooooo
+ooooo`02ooooo`03o`000?oooooooooo013ooooo00?o0000ooooooooool02?ooool2o`0000_ooooo
+00Go0000ooooooooooooooooo`00001Looooo`00G?ooool01?l0003oooooooooool00002ooooo`03
+00000?oooooooooo00Wooooo0_l00002ooooo`03o`000?oooooooooo01Cooooo00?o0000oooooooo
+ool00_ooool00ol0003oooooooooo`0Aooooo`03o`000?oooooooooo00Kooooo00?o0000ooooool0
+00001?ooool00`00003oooooooooo`04ooooo`04o`000?ooooooooooo`0005gooooo001Mooooo`03
+o`000?oooooo000000?ooooo00<00000ooooooooool01oooool00ol0003oooooooooo`02ooooo`03
+o`000?oooooooooo01Cooooo00?o0000ooooooooool00_ooool00ol0003oooooooooo`0Iooooo`03
+o`000?oooooooooo00Cooooo00<00000ooooooooool01Oooool00ol0003oooooo`00001Nooooo`00
+G_ooool2o`00000300000?oooooooooo00Wooooo00?o0000ooooooooool01?ooool00ol0003ooooo
+ooooo`0Cooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool04oooool3o`0000;ooooo
+00?o0000ooooooooool01?ooool00`00003oooooooooo`06ooooo`03o`000?oooooo000005kooooo
+001Pooooo`03o`000000003ooooo00;ooooo00<00000ooooool000003?ooool00ol0003ooooooooo
+o`0Gooooo`03o`000?oooooooooo01Kooooo0_l0000@ooooo`;o0000Goooool0067ooooo0_l00000
+1?ooool00000000000000003o`0000_ooooo00?o0000ooooooooool05_ooool00ol0003ooooooooo
+o`0Fooooo`03o`000?oooooooooo00?ooooo00?o000000000?ooool02?ooool2o`00063ooooo001S
+ooooo`04o`000?ooooooooooooooo`<000002oooool00ol0003oooooooooo`0Aooooo`03o`000?oo
+oooooooo00;ooooo00?o0000ooooooooool05Oooool01?l0003oooooooooooooool2o`000003oooo
+o`00003ooooo00?ooooo0P000002ooooo`0300000?l0003ooooo067ooooo001Tooooo`03o`000?oo
+oooooooo00@000002oooool00ol0003oooooooooo`0@ooooo`03o`000?oooooooooo00;ooooo00?o
+0000ooooooooool05Oooool00ol0003oooooooooo`02ooooo`0300000?l0003o000000;ooooo0P00
+0003ooooo`;o0000Hoooool006Gooooo0_l00003ooooo`0300000?oooooooooo00<000001oooool0
+0ol0003oooooooooo`0?ooooo`03o`000?oooooooooo00;ooooo00?o0000ooooooooool05?ooool0
+1?l0003oooooooooooooool2000000Wooooo00?o0000ooooooooool0Hoooool006Oooooo00?o0000
+ooooooooool01_ooool00`00003oooooooooo`05ooooo`03o`000?oooooooooo00kooooo00?o0000
+ooooooooool00_ooool00ol0003oooooooooo`0Cooooo`03o`0000000000000000?ooooo0P000006
+ooooo`;o0000I_ooool006Sooooo0_l00002ooooo`8000001Oooool4000000;ooooo00?o0000oooo
+ooooool04_ooool00ol0003oooooooooo`0>ooooo`8000000_ooool00ol000000000ooooo`03oooo
+o`0300000?oooooooooo00Gooooo00?o0000ooooooooool0I_ooool006[ooooo00Go0000oooooooo
+oooooooo0000000:ooooo`03o`0000000000000001;ooooo00?o0000ooooooooool03?ooool20000
+00?ooooo00?o0000ooooooooool00oooool00`00003oooooooooo`04ooooo`;o0000JOooool006_o
+oooo0_l00002ooooo`0300000?oooooooooo00Sooooo00?o0000ooooo`0000004Oooool00ol0003o
+ooooooooo`06ooooo`@000001_ooool00ol0003oooooooooo`0:ooooo`03o`000?oooooooooo06Wo
+oooo001]ooooo`03o`000?oooooooooo00_ooooo00Co0000oooooooooooooooo10000006ooooo`05
+o`000?ooooooooooooooool000001Oooool2000000_ooooo00?o0000ooooooooool00oooool00`00
+003oooooooooo`03ooooo`;o0000K?ooool006kooooo0_l000000oooool00000ooooo`09ooooo`03
+o`000?oooooooooo00Kooooo0`0000000ooooooo0000ooooo`02ooooo`04o`000000003ooooooooo
+o`8000003?ooool00ol0003oooooooooo`03ooooo`0300000?oooooooooo00?ooooo00?o0000oooo
+ooooool0K?ooool0073ooooo00?o0000ooooo`0000002Oooool00ol0003oooooooooo`09ooooo`03
+00000?l0003ooooo0080000000?o0000ooooooooool03_ooool00ol0003oooooooooo`03ooooo`03
+00000?oooooooooo00;ooooo0_l0001_ooooo`00LOooool00ol0003ooooo00000009ooooo`03o`00
+0?oooooooooo00Wooooo00Go0000ooooooooooooooooo`00000@ooooo`03o`000?oooooooooo00Oo
+oooo00?o0000ooooooooool0Koooool007;ooooo0_l0000:ooooo`03o`000?oooooooooo00cooooo
+00?o0000ooooooooool03Oooool01Ol0003oooooooooooooool0000000Cooooo0_l0001booooo`00
+M?ooool00ol0003ooooo00000008ooooo`03o`000?oooooooooo00_ooooo00?o0000ooooooooool0
+3?ooool01Ol0003oooooooooooooool0000000Cooooo00?o0000ooooooooool0L_ooool007Gooooo
+0_l000000`00003oooooooooo`05ooooo`03o`000?oooooooooo00_ooooo00?o0000ooooooooool0
+2oooool01Ol0003oooooooooooooool0000000?ooooo0_l0001eooooo`00Moooool00ol000000000
+ooooo`06ooooo`03o`000?oooooooooo00Oooooo00@00000oooooooooooo00003?ooool00ol0003o
+ooooooooo`05ooooo`03o`000?oooooooooo07Gooooo001hooooo`;o00001oooool00ol0003ooooo
+ooooo`06ooooo`0400000?ooooooooooo`0000_ooooo00Co0000ooooooooool000000oooool2o`00
+07Sooooo001jooooo`03o`0000000000000000Gooooo00?o0000ooooooooool01Oooool01000003o
+ooooooooool0000:ooooo`04o`000?oooooooooo000000?ooooo00?o0000ooooooooool0N?ooool0
+07_ooooo00?o0000ooooo`0000001?ooool00ol0003oooooooooo`08ooooo`03o`000?oooooooooo
+00Oooooo00Co0000ooooooooool000000_ooool2o`0007_ooooo001looooo`;o00001Oooool00ol0
+003oooooooooo`07ooooo`03o`000?oooooooooo00Kooooo00?o0000ooooooooool00oooool00ol0
+003oooooooooo`1kooooo`00O_ooool00ol0003ooooo00000003ooooo`03o`000?oooooooooo00Ko
+oooo00?o0000ooooooooool01Oooool01Ol0003ooooo00000000003ooooo00;o0000O_ooool007oo
+oooo0_l000001@00003ooooooooooooooooo000000Gooooo00<00000ooooool000001oooool01Ol0
+00000000oooooooooooo0000083ooooo0021ooooo`03o`000000003ooooo00;ooooo00?o0000oooo
+ooooool00_ooool00`00003oooooo`000006ooooo`03o`000000003ooooo00;o0000POooool008;o
+oooo0_l00002ooooo`03o`000?oooooooooo00;ooooo00<00000o`000?ooool01Oooool01?l0003o
+ooooooooool00023ooooo`00Q?ooool01?l000000000ooooool00004ooooo`03o`000?oooooooooo
+00?ooooo00Co000000000?l0003o0000Q?ooool008Gooooo0_l000000ooooooo0000ooooo`02oooo
+o`03o`000?oooooooooo00;ooooo00?o000000000?l00000Q_ooool008Oooooo00?o0000ooooool0
+00000_ooool01?l0003oooooooooooooool3o`0008Oooooo0028ooooo`;o00000_ooool00ol0003o
+ooooooooo`02o`0008Wooooo0029ooooo`;o000000?oooooo`000?ooool00_l0002:ooooo`00Rooo
+ool3o`0008cooooo002<ooooo`03o`000?oooooooooo08_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_ooooo003ooooooa_o
+oooo0000\
+\>"],
+  ImageRangeCache->{{{0, 281}, {281, 0}} -> {-5.00005*^-6, -5.00005*^-6, \
+0.00355875, 0.00355875}}]
+}, Closed]]
+}, Closed]]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["Unfolding the Polytope", "Section",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["UnfoldPolytope[facets1] ", "Input",
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  AnimationCycleOffset->0.0625,
+  AnimationCycleRepetitions->Infinity]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["Disconnect cddmathlink", "Section",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["Uninstall[cddml]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \("/Users/fukuda/Math/cddmathlink"\)], "Output"]
+}, Open  ]]
+}, Open  ]]
+},
+FrontEndVersion->"4.1 for Macintosh",
+ScreenRectangle->{{0, 1152}, {0, 746}},
+AutoGeneratedPackage->None,
+WindowToolbars->{},
+CellGrouping->Manual,
+WindowSize->{520, 624},
+WindowMargins->{{274, Automatic}, {9, Automatic}},
+PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}},
+ShowCellLabel->True,
+ShowCellTags->False,
+RenderingOptions->{"ObjectDithering"->True,
+"RasterDithering"->False}
+]
+
+(*******************************************************************
+Cached data follows.  If you edit this Notebook file directly, not
+using Mathematica, you must remove the line containing CacheID at
+the top of  the file.  The cache data will then be recreated when
+you save this file from within Mathematica.
+*******************************************************************)
+
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+
+(*NotebookFileOutline
+Notebook[{
+Cell[1705, 50, 133, 4, 252, "Title"],
+Cell[1841, 56, 231, 4, 92, "Subtitle"],
+
+Cell[CellGroupData[{
+Cell[2097, 64, 110, 2, 56, "Section",
+  InitializationCell->True],
+Cell[2210, 68, 119, 2, 27, "Input",
+  InitializationCell->True],
+Cell[2332, 72, 112, 2, 27, "Input",
+  InitializationCell->True],
+Cell[2447, 76, 534, 13, 86, "Text",
+  InitializationCell->True],
+
+Cell[CellGroupData[{
+Cell[3006, 93, 83, 2, 27, "Input",
+  InitializationCell->True],
+Cell[3092, 97, 969, 16, 299, "Output"]
+}, Open  ]],
+Cell[4076, 116, 112, 2, 27, "Input",
+  InitializationCell->True],
+Cell[4191, 120, 418, 10, 68, "Text",
+  InitializationCell->True],
+
+Cell[CellGroupData[{
+Cell[4634, 134, 115, 2, 27, "Input",
+  InitializationCell->True],
+Cell[4752, 138, 84, 1, 27, "Output"]
+}, Open  ]],
+Cell[4851, 142, 437, 10, 86, "Text",
+  InitializationCell->True],
+Cell[5291, 154, 99, 2, 27, "Input",
+  InitializationCell->True],
+
+Cell[CellGroupData[{
+Cell[5415, 160, 94, 2, 27, "Input",
+  InitializationCell->True],
+Cell[5512, 164, 219, 4, 63, "Message"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[5768, 173, 97, 2, 27, "Input",
+  InitializationCell->True],
+Cell[5868, 177, 222, 4, 63, "Message"]
+}, Open  ]]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[6139, 187, 106, 1, 56, "Section"],
+
+Cell[CellGroupData[{
+Cell[6270, 192, 84, 1, 27, "Input"],
+Cell[6357, 195, 726, 11, 187, "Output"]
+}, Open  ]],
+Cell[7098, 209, 176, 4, 50, "Text"],
+
+Cell[CellGroupData[{
+Cell[7299, 217, 130, 4, 42, "Input"],
+Cell[7432, 223, 259, 4, 23, "Print"]
+}, Open  ]],
+Cell[7706, 230, 132, 4, 42, "Input"],
+
+Cell[CellGroupData[{
+Cell[7863, 238, 75, 1, 27, "Input"],
+Cell[7941, 241, 41, 1, 27, "Output"]
+}, Open  ]],
+Cell[7997, 245, 162, 4, 42, "Input"],
+
+Cell[CellGroupData[{
+Cell[8184, 253, 83, 1, 27, "Input"],
+Cell[8270, 256, 1633, 28, 243, "Output"]
+}, Open  ]],
+Cell[9918, 287, 286, 12, 177, "Input"],
+
+Cell[CellGroupData[{
+Cell[10229, 303, 98, 1, 27, "Input"],
+Cell[10330, 306, 739, 10, 187, "Output"]
+}, Open  ]]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[11118, 322, 86, 1, 56, "Section"],
+
+Cell[CellGroupData[{
+Cell[11229, 327, 77, 1, 46, "Subsection"],
+
+Cell[CellGroupData[{
+Cell[11331, 332, 167, 8, 70, "Input"],
+Cell[11501, 342, 170, 6, 70, "Input"]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[11720, 354, 92, 1, 30, "Subsection"],
+
+Cell[CellGroupData[{
+Cell[11837, 359, 260, 11, 147, "Input"],
+Cell[12100, 372, 27476, 517, 290, 4617, 230, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[39579, 891, 28078, 525, 290, 4575, 230, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[67660, 1418, 26948, 511, 290, 4571, 230, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[94611, 1931, 26009, 499, 290, 4580, 230, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[120623, 2432, 27636, 519, 290, 4587, 230, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[148262, 2953, 27754, 521, 290, 4563, 230, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[176019, 3476, 27734, 520, 290, 4584, 230, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[203756, 3998, 4691, 234, 290, 4572, 230, "GraphicsData", "PostScript", \
+"Graphics",
+  ImageCacheValid->False],
+Cell[208450, 4234, 28930, 535, 290, 4589, 230, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[237383, 4771, 4736, 234, 70, 4617, 230, "GraphicsData", "PostScript", \
+"Graphics",
+  ImageCacheValid->False],
+Cell[242122, 5007, 4694, 234, 70, 4575, 230, "GraphicsData", "PostScript", \
+"Graphics",
+  ImageCacheValid->False],
+Cell[246819, 5243, 4690, 234, 70, 4571, 230, "GraphicsData", "PostScript", \
+"Graphics",
+  ImageCacheValid->False],
+Cell[251512, 5479, 4699, 234, 70, 4580, 230, "GraphicsData", "PostScript", \
+"Graphics",
+  ImageCacheValid->False],
+Cell[256214, 5715, 4706, 234, 290, 4587, 230, "GraphicsData", "PostScript", \
+"Graphics",
+  ImageCacheValid->False],
+Cell[260923, 5951, 4682, 234, 290, 4563, 230, "GraphicsData", "PostScript", \
+"Graphics",
+  ImageCacheValid->False],
+Cell[265608, 6187, 27734, 520, 290, 4584, 230, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[293345, 6709, 29055, 537, 290, 4572, 230, "GraphicsData", "PostScript", \
+"Graphics"]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[322449, 7252, 106, 1, 30, "Subsection"],
+
+Cell[CellGroupData[{
+Cell[322580, 7257, 334, 13, 147, "Input"],
+Cell[322917, 7272, 34287, 652, 290, 3040, 261, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[357207, 7926, 34393, 657, 290, 3065, 265, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[391603, 8585, 32309, 628, 290, 3030, 261, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[423915, 9215, 31029, 615, 290, 3071, 265, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[454947, 9832, 33813, 646, 290, 3032, 261, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[488763, 10480, 33771, 649, 290, 3047, 265, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[522537, 11131, 34320, 656, 290, 3061, 265, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[556860, 11789, 35334, 665, 290, 2994, 261, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[592197, 12456, 35474, 667, 290, 3032, 261, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[627674, 13125, 33704, 645, 290, 3040, 261, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[661381, 13772, 35106, 666, 290, 3065, 265, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[696490, 14440, 33151, 638, 290, 3030, 261, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[729644, 15080, 31118, 616, 290, 3071, 265, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[760765, 15698, 33999, 648, 290, 3032, 261, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[794767, 16348, 32836, 638, 290, 3047, 265, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[827606, 16988, 33441, 645, 290, 3061, 265, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[861050, 17635, 35108, 663, 290, 2994, 261, "GraphicsData", "PostScript", \
+"Graphics"]
+}, Closed]]
+}, Closed]]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[896219, 18305, 74, 1, 56, "Section"],
+Cell[896296, 18308, 179, 4, 27, "Input"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[896512, 18317, 74, 1, 56, "Section"],
+
+Cell[CellGroupData[{
+Cell[896611, 18322, 66, 1, 27, "Input"],
+Cell[896680, 18325, 66, 1, 27, "Output"]
+}, Open  ]]
+}, Open  ]]
+}
+]
+*)
+
+
+
+(*******************************************************************
+End of Mathematica Notebook file.
+*******************************************************************)
+
diff --git a/third_party/cddlib/examples-ml/cddml-Zonotope.m b/third_party/cddlib/examples-ml/cddml-Zonotope.m
new file mode 100644
index 0000000..b59e07f
--- /dev/null
+++ b/third_party/cddlib/examples-ml/cddml-Zonotope.m
@@ -0,0 +1,88 @@
+(*******************************************************************
+This file was generated automatically by the Mathematica front end.
+It contains Initialization cells from a Notebook file, which
+typically will have the same name as this file except ending in
+".nb" instead of ".m".
+
+This file is intended to be loaded into the Mathematica kernel using
+the package loading commands Get or Needs.  Doing so is equivalent
+to using the Evaluate Initialization Cells menu command in the front
+end.
+
+DO NOT EDIT THIS FILE.  This entire file is regenerated
+automatically each time the parent Notebook file is saved in the
+Mathematica front end.  Any changes you make to this file will be
+overwritten.
+***********************************************************************)
+
+Off[General::spell1];Off[General::spell]
+
+
+(* Russell Towle's codes to create projections (zonotopes) of
+hypercubes.  *)
+
+cross[ {ax_, ay_, az_}, {bx_, by_, bz_} ] := (*cross product*)
+   {ay bz - az by, az bx - ax bz, ax by - ay bx}
+
+mag[v_]:= Sqrt[Plus@@(v^2)] (*magnitude of a vector*)
+
+unit[v_]:= v/Sqrt[v.v] (*make unit vector*)
+
+tolerance=0.000001;
+collinear[ v1_, v2_ ] := (*test for collinearity*)
+   Apply[And, Map[Abs[#]<tolerance&, cross[v1,v2]]]
+
+setStar[vlist_] := (*discard collinear vectors*)
+   Module[{selected={}},
+    Scan[Function[v, If[v!={0,0,0} &&
+                        Select[selected,
+                               collinear[v,#]&]=={},
+                        AppendTo[selected,v]] ],
+         vlist];
+
+    Print[Length[selected]," zonal directions."];
+    gStar=selected] (*gStar is global, list of non-collinear vectors*)
+
+
+
+(* Here I set to a directory where I store
+the packages I need *)
+
+SetDirectory["~/Math"]
+
+cddml=Install["~/Math/cddmathlink"]
+
+Needs["ExtendGraphics`View3D`"];
+
+<<UnfoldPolytope.m
+
+<<Combinatorica5.m
+
+<<PolytopeSkeleton.m
+
+<<IOPolyhedra.m
+
+(*the vectors which determine an n-merous polar zonohedron*)
+(*3<=n, 0<=pitch<=90 degrees*)
+
+vectors[n_Integer,pitch_]:=
+Table[N[{Cos[Degree pitch] Cos[2Pi i/n],
+	Cos[Degree pitch] Sin[2Pi i/n],
+	-Sin[Degree pitch]},15],
+	{i,n}]      (* modified by KF, precision 15 added *)
+
+(*the pitch at which a polar zonohedron is
+an isometric shadow of an n-cube*)
+
+N[1/Degree * ArcTan[(1/2)^(1/2)],15];
+
+
+(*Here, we obtain the vectors for an isometric projection of
+a d-cube into cyclic symmetry*)
+
+dim=8;
+gen=Zonotope[vectors[dim, N[ 1/Degree * ArcTan[(1/2)^(1/2)],15 ] ] ];
+genc = Chop[gen,10^(-12)];
+
+extlist=Map[Prepend[#,1]&,genc];
+{n,d}=Dimensions[extlist]
\ No newline at end of file
diff --git a/third_party/cddlib/examples-ml/cddml-Zonotope.nb b/third_party/cddlib/examples-ml/cddml-Zonotope.nb
new file mode 100644
index 0000000..275f3a1
--- /dev/null
+++ b/third_party/cddlib/examples-ml/cddml-Zonotope.nb
@@ -0,0 +1,16192 @@
+(************** Content-type: application/mathematica **************
+
+                    Mathematica-Compatible Notebook
+
+This notebook can be used with any Mathematica-compatible
+application, such as Mathematica, MathReader or Publicon. The data
+for the notebook starts with the line containing stars above.
+
+To get the notebook into a Mathematica-compatible application, do
+one of the following:
+
+* Save the data starting with the line of stars above into a file
+  with a name ending in .nb, then open the file inside the
+  application;
+
+* Copy the data starting with the line of stars above to the
+  clipboard, then use the Paste menu command inside the application.
+
+Data for notebooks contains only printable 7-bit ASCII and can be
+sent directly in email or through ftp in text mode.  Newlines can be
+CR, LF or CRLF (Unix, Macintosh or MS-DOS style).
+
+NOTE: If you modify the data for this notebook not in a Mathematica-
+compatible application, you must delete the line below containing
+the word CacheID, otherwise Mathematica-compatible applications may
+try to use invalid cache data.
+
+For more information on notebooks and Mathematica-compatible 
+applications, contact Wolfram Research:
+  web: http://www.wolfram.com
+  email: info@wolfram.com
+  phone: +1-217-398-0700 (U.S.)
+
+Notebook reader applications are available free of charge from 
+Wolfram Research.
+*******************************************************************)
+
+(*CacheID: 232*)
+
+
+(*NotebookFileLineBreakTest
+NotebookFileLineBreakTest*)
+(*NotebookOptionsPosition[    148963,      16022]*)
+(*NotebookOutlinePosition[    149846,      16054]*)
+(*  CellTagsIndexPosition[    149802,      16050]*)
+(*WindowFrame->Normal*)
+
+
+
+Notebook[{
+
+
+Cell[TextData[{
+  StyleBox["Mathematica",
+    FontWeight->"Plain",
+    FontSlant->"Italic"],
+  StyleBox[" and cddmathlink\nUsing cddmathlink to compute complex convex \
+hulls and drawing with ",
+    FontWeight->"Plain"],
+  StyleBox["Mathematica",
+    FontWeight->"Plain",
+    FontSlant->"Italic"],
+  StyleBox["\nby Komei Fukuda\nwith \na nice zonotope example\nof Russell \
+Towle\n (April 17, 2001)",
+    FontWeight->"Plain"]
+}], "Title",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{Cell["Off[General::spell1];Off[General::spell]", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["\<\
+
+(* Russell Towle's codes to create projections (zonotopes) of
+hypercubes.  *)
+
+cross[ {ax_, ay_, az_}, {bx_, by_, bz_} ] := (*cross product*)
+   {ay bz - az by, az bx - ax bz, ax by - ay bx}
+
+mag[v_]:= Sqrt[Plus@@(v^2)] (*magnitude of a vector*)
+
+unit[v_]:= v/Sqrt[v.v] (*make unit vector*)
+
+tolerance=0.000001;
+collinear[ v1_, v2_ ] := (*test for collinearity*)
+   Apply[And, Map[Abs[#]<tolerance&, cross[v1,v2]]]
+
+setStar[vlist_] := (*discard collinear vectors*)
+   Module[{selected={}},
+    Scan[Function[v, If[v!={0,0,0} &&
+                        Select[selected,
+                               collinear[v,#]&]=={},
+                        AppendTo[selected,v]] ],
+         vlist];
+
+    Print[Length[selected],\" zonal directions.\"];
+    gStar=selected] (*gStar is global, list of non-collinear vectors*)
+
+\
+\>", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{Cell["\<\
+(* Here I set to a directory where I store
+the packages I need *)
+
+SetDirectory[\"~/Math\"]\
+\>", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[OutputFormData["\<\
+\"/Users/fukuda/Math\"\
+\>", "\<\
+/Users/fukuda/Math\
+\
+\>"], "Output",
+  ImageRegion->{{0, 1}, {0, 1}}]}, Open]],
+
+Cell[CellGroupData[{Cell["cddml=Install[\"~/Math/cddmathlink\"]", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[OutputFormData["\<\
+LinkObject[\"~/Math/cddmathlink\", 6, 6]\
+\>", \
+"\<\
+LinkObject[~/Math/cddmathlink, 6, 6]\
+\>"], "Output",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}]}, Open]],
+
+Cell["Needs[\"ExtendGraphics`View3D`\"];", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["<<UnfoldPolytope.m", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["<<Combinatorica5.m", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["<<PolytopeSkeleton.m", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["<<IOPolyhedra.m", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["\<\
+(*the vectors which determine an n-merous polar zonohedron*)
+(*3<=n, 0<=pitch<=90 degrees*)
+
+vectors[n_Integer,pitch_]:=
+Table[N[{Cos[Degree pitch] Cos[2Pi i/n],
+\tCos[Degree pitch] Sin[2Pi i/n],
+\t-Sin[Degree pitch]},15],
+\t{i,n}]      (* modified by KF, precision 15 added *)\
+\>", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["\<\
+(*the pitch at which a polar zonohedron is
+an isometric shadow of an n-cube*)
+
+N[1/Degree * ArcTan[(1/2)^(1/2)],15];
+\
+\>", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["\<\
+(*Here, we obtain the vectors for an isometric projection of
+a d-cube into cyclic symmetry*)
+
+dim=8;
+gen=Zonotope[vectors[dim, N[ 1/Degree * ArcTan[(1/2)^(1/2)],15 ] ] ];
+genc = Chop[gen,10^(-12)];\
+\>", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{Cell["\<\
+extlist=Map[Prepend[#,1]&,genc];
+{n,d}=Dimensions[extlist]\
+\>", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[OutputFormData["\<\
+{256, 4}\
+\>", "\<\
+{256, 4}\
+\>"], "Output",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]],
+
+Cell[CellGroupData[{Cell["\<\
+{{inelist,equalities}, icd, iad,ecd,ead}=
+\tAllFacetsWithAdjacency[n,d,Flatten[extlist]];\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{Cell["{m,d}=Dimensions[inelist]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[OutputFormData["\<\
+{56, 4}\
+\>", "\<\
+{56, 4}\
+\>"], "Output",
+  ImageRegion->{{0, 1}, {0, 1}}]}, Open]],
+
+Cell[CellGroupData[{Cell["facets=Map[(Part[genc,#]) &, icd];", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{Cell["Length[facets]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[OutputFormData["\<\
+56\
+\>", "\<\
+56\
+\>"], "Output",
+  ImageRegion->{{0, 1}, {0, 1}}]}, Open]],
+
+Cell["facets1=OrderFacets[facets];", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{Cell["viewpt={2, -2.4, 1}", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[OutputFormData["\<\
+{2, -2.4, 1}\
+\>", "\<\
+{2, -2.4, 1}\
+\>"], "Output",
+  ImageRegion->{{0, 1}, {0, 1}}]}, Open]],
+
+Cell[CellGroupData[{Cell["\<\
+Show[poly=Graphics3D[Polygon /@ facets1],Boxed->False,
+ViewPoint->viewpt];\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1.05969 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+-0.05793 1.131557 0.028289 1.131557 [
+[ 0 0 0 0 ]
+[ 1 1.05969 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1.05969 L
+0 1.05969 L
+closepath
+clip
+newpath
+p
+P
+p
+.002 w
+.48297 .75416 m .59511 .67945 L .48346 .60071 L p
+.722 .54 .643 r
+F P
+s
+P
+p
+.002 w
+.48346 .60071 m .37043 .67388 L .48297 .75416 L p
+.722 .54 .643 r
+F P
+s
+P
+p
+.002 w
+.37043 .67388 m .48346 .60071 L .40971 .49714 L p
+.787 .68 .746 r
+F P
+s
+P
+p
+.002 w
+.40971 .49714 m .48346 .60071 L .57031 .50212 L p
+.714 .663 .798 r
+F P
+s
+P
+p
+.002 w
+.57031 .50212 m .48346 .60071 L .59511 .67945 L p
+.651 .564 .744 r
+F P
+s
+P
+p
+.002 w
+.68454 .58172 m .59511 .67945 L .68816 .7386 L p
+.53 .386 .63 r
+F P
+s
+P
+p
+.002 w
+.68816 .7386 m .59511 .67945 L .48297 .75416 L p
+.608 .341 .488 r
+F P
+s
+P
+p
+.002 w
+.59511 .67945 m .68454 .58172 L .57031 .50212 L p
+.651 .564 .744 r
+F P
+s
+P
+p
+.002 w
+.48297 .75416 m .37043 .67388 L .28841 .7295 L p
+.786 .48 .472 r
+F P
+s
+P
+p
+.002 w
+.28841 .7295 m .37043 .67388 L .29287 .57062 L p
+.886 .679 .617 r
+F P
+s
+P
+p
+.002 w
+.40971 .49714 m .29287 .57062 L .37043 .67388 L p
+.787 .68 .746 r
+F P
+s
+P
+p
+.002 w
+.57031 .50212 m .49731 .39421 L .40971 .49714 L p
+.714 .663 .798 r
+F P
+s
+P
+p
+.002 w
+.49731 .39421 m .57031 .50212 L .58315 .38397 L p
+.651 .641 .827 r
+F P
+s
+P
+p
+.002 w
+.57031 .50212 m .68454 .58172 L .7015 .46563 L p
+.575 .572 .812 r
+F P
+s
+P
+p
+.002 w
+.7015 .46563 m .58315 .38397 L .57031 .50212 L p
+.575 .572 .812 r
+F P
+s
+P
+p
+.002 w
+.48297 .75416 m .57291 .81714 L .68816 .7386 L p
+.608 .341 .488 r
+F P
+s
+P
+p
+.002 w
+.57291 .81714 m .48297 .75416 L .4056 .81382 L p
+.66 .291 .334 r
+F P
+s
+P
+p
+.002 w
+.28841 .7295 m .4056 .81382 L .48297 .75416 L p
+.786 .48 .472 r
+F P
+s
+P
+p
+.002 w
+.41695 .37811 m .40971 .49714 L .29287 .57062 L p
+.824 .791 .821 r
+F P
+s
+P
+p
+.002 w
+.40971 .49714 m .49731 .39421 L .50785 .26916 L p
+.757 .735 .832 r
+F P
+s
+P
+p
+.002 w
+.50785 .26916 m .41695 .37811 L .40971 .49714 L p
+.757 .735 .832 r
+F P
+s
+P
+p
+.002 w
+.68816 .7386 m .78294 .63809 L .68454 .58172 L p
+.53 .386 .63 r
+F P
+s
+P
+p
+.002 w
+.7015 .46563 m .68454 .58172 L .78294 .63809 L p
+.418 .424 .759 r
+F P
+s
+P
+p
+.002 w
+.29287 .57062 m .20513 .62282 L .28841 .7295 L p
+.886 .679 .617 r
+F P
+s
+P
+p
+.002 w
+.29604 .45247 m .29287 .57062 L .20513 .62282 L p
+.93 .872 .758 r
+F P
+s
+P
+p
+.002 w
+.29287 .57062 m .29604 .45247 L .41695 .37811 L p
+.824 .791 .821 r
+F P
+s
+P
+p
+.002 w
+.58315 .38397 m .50785 .26916 L .49731 .39421 L p
+.651 .641 .827 r
+F P
+s
+P
+p
+.002 w
+.81079 .68732 m .7099 .79274 L .68816 .7386 L p
+.189 0 .281 r
+F P
+s
+P
+p
+.002 w
+.68816 .7386 m .78294 .63809 L .81079 .68732 L p
+.189 0 .281 r
+F P
+s
+P
+p
+.002 w
+.57291 .81714 m .68816 .7386 L .7099 .79274 L p
+.387 .024 .222 r
+F P
+s
+P
+p
+.002 w
+.58315 .38397 m .7015 .46563 L .62873 .35218 L p
+.481 .567 .865 r
+F P
+s
+P
+p
+.002 w
+.62873 .35218 m .50785 .26916 L .58315 .38397 L p
+.481 .567 .865 r
+F P
+s
+P
+p
+.002 w
+.41091 .87364 m .28671 .78391 L .28841 .7295 L p
+.788 .322 .13 r
+F P
+s
+P
+p
+.002 w
+.28841 .7295 m .4056 .81382 L .41091 .87364 L p
+.788 .322 .13 r
+F P
+s
+P
+p
+.002 w
+.20513 .62282 m .28841 .7295 L .28671 .78391 L p
+.899 .485 .112 r
+F P
+s
+P
+p
+.002 w
+.29604 .45247 m .41695 .37811 L .50785 .26916 L p
+.836 .889 .879 r
+F P
+s
+P
+p
+.002 w
+.7099 .79274 m .58813 .87679 L .57291 .81714 L p
+.387 .024 .222 r
+F P
+s
+P
+p
+.002 w
+.58813 .87679 m .57291 .81714 L .49662 .8823 L p
+.509 .097 .194 r
+F P
+s
+P
+p
+.002 w
+.4056 .81382 m .49662 .8823 L .57291 .81714 L p
+.66 .291 .334 r
+F P
+s
+P
+p
+.002 w
+.7311 .40241 m .80422 .51927 L .7015 .46563 L p
+.254 .443 .854 r
+F P
+s
+P
+p
+.002 w
+.7015 .46563 m .62873 .35218 L .7311 .40241 L p
+.254 .443 .854 r
+F P
+s
+P
+p
+.002 w
+.78294 .63809 m .80422 .51927 L .7015 .46563 L p
+.418 .424 .759 r
+F P
+s
+P
+p
+.002 w
+.83448 .56304 m .80422 .51927 L .78294 .63809 L p
+0 0 .386 r
+F P
+s
+P
+p
+.002 w
+.78294 .63809 m .81079 .68732 L .83448 .56304 L p
+0 0 .386 r
+F P
+s
+P
+p
+.002 w
+.50785 .94906 m .41091 .87364 L .4056 .81382 L p
+.688 .228 .153 r
+F P
+s
+P
+p
+.002 w
+.4056 .81382 m .49662 .8823 L .50785 .94906 L p
+.688 .228 .153 r
+F P
+s
+P
+p
+.002 w
+.20513 .62282 m .20514 .50089 L .29604 .45247 L p
+.93 .872 .758 r
+F P
+s
+P
+p
+.002 w
+.20514 .50089 m .29604 .45247 L .38592 .34334 L p
+.847 .994 .841 r
+F P
+s
+P
+p
+.002 w
+.50785 .26916 m .38592 .34334 L .29604 .45247 L p
+.836 .889 .879 r
+F P
+s
+P
+p
+.002 w
+.38592 .34334 m .50785 .26916 L .42686 .30886 L p
+.562 .927 .769 r
+F P
+s
+P
+p
+.002 w
+.42686 .30886 m .50785 .26916 L .51943 .29676 L p
+.284 0 0 r
+F P
+s
+P
+p
+.002 w
+.62873 .35218 m .50785 .26916 L .60442 .31555 L p
+.016 .415 .859 r
+F P
+s
+P
+p
+.002 w
+.62265 .34733 m .60442 .31555 L .50785 .26916 L p
+.514 0 0 r
+F P
+s
+P
+p
+.002 w
+.50785 .26916 m .51943 .29676 L .62265 .34733 L p
+.514 0 0 r
+F P
+s
+P
+p
+.002 w
+.28671 .78391 m .19829 .67219 L .20513 .62282 L p
+.899 .485 .112 r
+F P
+s
+P
+p
+.002 w
+.20514 .50089 m .20513 .62282 L .19829 .67219 L p
+.789 .66 .107 r
+F P
+s
+P
+p
+.002 w
+.60442 .31555 m .7311 .40241 L .62873 .35218 L p
+.016 .415 .859 r
+F P
+s
+P
+p
+.002 w
+.38592 .34334 m .29761 .38735 L .20514 .50089 L p
+.847 .994 .841 r
+F P
+s
+P
+p
+.002 w
+.42686 .30886 m .29761 .38735 L .38592 .34334 L p
+.562 .927 .769 r
+F P
+s
+P
+p
+.002 w
+.83448 .56304 m .80422 .51927 L .7311 .40241 L p
+0 0 .411 r
+F P
+s
+P
+p
+.002 w
+.58813 .87679 m .7099 .79274 L .637 .85965 L p
+0 0 0 r
+F P
+s
+P
+p
+.002 w
+.81079 .68732 m .7099 .79274 L .637 .85965 L p
+.595 .887 .587 r
+F P
+s
+P
+p
+.002 w
+.49662 .8823 m .50785 .94906 L .58813 .87679 L p
+.509 .097 .194 r
+F P
+s
+P
+p
+.002 w
+.50785 .94906 m .41091 .87364 L .28671 .78391 L p
+.511 0 0 r
+F P
+s
+P
+p
+.002 w
+.28671 .78391 m .37751 .85486 L .50785 .94906 L p
+.511 0 0 r
+F P
+s
+P
+p
+.002 w
+.37751 .85486 m .28671 .78391 L .19829 .67219 L p
+0 .255 .765 r
+F P
+s
+P
+p
+.002 w
+.637 .85965 m .50785 .94906 L .58813 .87679 L p
+0 0 0 r
+F P
+s
+P
+p
+.002 w
+.7311 .40241 m .75754 .43997 L .83448 .56304 L p
+0 0 .411 r
+F P
+s
+P
+p
+.002 w
+.75754 .43997 m .7311 .40241 L .60442 .31555 L p
+.602 .038 0 r
+F P
+s
+P
+p
+.002 w
+.60442 .31555 m .62265 .34733 L .75754 .43997 L p
+.602 .038 0 r
+F P
+s
+P
+p
+.002 w
+.19829 .67219 m .19804 .54449 L .20514 .50089 L p
+.789 .66 .107 r
+F P
+s
+P
+p
+.002 w
+.20514 .50089 m .19804 .54449 L .29635 .42454 L p
+0 0 0 r
+F P
+s
+P
+p
+.002 w
+.29635 .42454 m .29761 .38735 L .20514 .50089 L p
+0 0 0 r
+F P
+s
+P
+p
+.002 w
+.74149 .75026 m .81079 .68732 L .83448 .56304 L p
+.957 .948 .701 r
+F P
+s
+P
+p
+.002 w
+.637 .85965 m .74149 .75026 L .81079 .68732 L p
+.595 .887 .587 r
+F P
+s
+P
+p
+.002 w
+.43388 .34043 m .42686 .30886 L .29761 .38735 L p
+.103 0 0 r
+F P
+s
+P
+p
+.002 w
+.51943 .29676 m .43388 .34043 L .42686 .30886 L p
+.284 0 0 r
+F P
+s
+P
+p
+.002 w
+.53866 .39582 m .62265 .34733 L .51943 .29676 L p
+.585 .12 .115 r
+F P
+s
+P
+p
+.002 w
+.51943 .29676 m .43388 .34043 L .53866 .39582 L p
+.585 .12 .115 r
+F P
+s
+P
+p
+.002 w
+.29761 .38735 m .29635 .42454 L .43388 .34043 L p
+.103 0 0 r
+F P
+s
+P
+p
+.002 w
+.19804 .54449 m .19829 .67219 L .28767 .7401 L p
+.259 .329 .746 r
+F P
+s
+P
+p
+.002 w
+.19829 .67219 m .28767 .7401 L .37751 .85486 L p
+0 .255 .765 r
+F P
+s
+P
+p
+.002 w
+.637 .85965 m .74149 .75026 L .61128 .83979 L p
+.825 .976 .889 r
+F P
+s
+P
+p
+.002 w
+.61128 .83979 m .50785 .94906 L .637 .85965 L p
+.825 .976 .889 r
+F P
+s
+P
+p
+.002 w
+.42108 .83616 m .28767 .7401 L .37751 .85486 L p
+.345 .53 .894 r
+F P
+s
+P
+p
+.002 w
+.37751 .85486 m .50785 .94906 L .42108 .83616 L p
+.345 .53 .894 r
+F P
+s
+P
+p
+.002 w
+.83448 .56304 m .76359 .62196 L .68032 .4939 L p
+.938 .703 .556 r
+F P
+s
+P
+p
+.002 w
+.68032 .4939 m .75754 .43997 L .83448 .56304 L p
+.938 .703 .556 r
+F P
+s
+P
+p
+.002 w
+.83448 .56304 m .76359 .62196 L .74149 .75026 L p
+.957 .948 .701 r
+F P
+s
+P
+p
+.002 w
+.50785 .94906 m .61128 .83979 L .62831 .71304 L p
+.766 .781 .865 r
+F P
+s
+P
+p
+.002 w
+.62831 .71304 m .52027 .82957 L .50785 .94906 L p
+.766 .781 .865 r
+F P
+s
+P
+p
+.002 w
+.52027 .82957 m .50785 .94906 L .42108 .83616 L p
+.627 .657 .86 r
+F P
+s
+P
+p
+.002 w
+.74149 .75026 m .76359 .62196 L .62831 .71304 L p
+.849 .856 .847 r
+F P
+s
+P
+p
+.002 w
+.62831 .71304 m .61128 .83979 L .74149 .75026 L p
+.849 .856 .847 r
+F P
+s
+P
+p
+.002 w
+.53866 .39582 m .62265 .34733 L .75754 .43997 L p
+.794 .422 .353 r
+F P
+s
+P
+p
+.002 w
+.28767 .7401 m .29114 .60922 L .19804 .54449 L p
+.259 .329 .746 r
+F P
+s
+P
+p
+.002 w
+.29635 .42454 m .19804 .54449 L .29114 .60922 L p
+.454 .307 .59 r
+F P
+s
+P
+p
+.002 w
+.43021 .70836 m .29114 .60922 L .28767 .7401 L p
+.521 .562 .838 r
+F P
+s
+P
+p
+.002 w
+.28767 .7401 m .42108 .83616 L .43021 .70836 L p
+.521 .562 .838 r
+F P
+s
+P
+p
+.002 w
+.53866 .39582 m .43388 .34043 L .29635 .42454 L p
+.553 .238 .388 r
+F P
+s
+P
+p
+.002 w
+.75754 .43997 m .68032 .4939 L .53866 .39582 L p
+.794 .422 .353 r
+F P
+s
+P
+p
+.002 w
+.42108 .83616 m .43021 .70836 L .52027 .82957 L p
+.627 .657 .86 r
+F P
+s
+P
+p
+.002 w
+.29114 .60922 m .39635 .48497 L .29635 .42454 L p
+.454 .307 .59 r
+F P
+s
+P
+p
+.002 w
+.29635 .42454 m .39635 .48497 L .53866 .39582 L p
+.553 .238 .388 r
+F P
+s
+P
+p
+.002 w
+.52027 .82957 m .62831 .71304 L .53944 .58546 L p
+.713 .685 .821 r
+F P
+s
+P
+p
+.002 w
+.53944 .58546 m .43021 .70836 L .52027 .82957 L p
+.713 .685 .821 r
+F P
+s
+P
+p
+.002 w
+.68032 .4939 m .76359 .62196 L .62831 .71304 L p
+.808 .709 .755 r
+F P
+s
+P
+p
+.002 w
+.39635 .48497 m .29114 .60922 L .43021 .70836 L p
+.634 .56 .753 r
+F P
+s
+P
+p
+.002 w
+.62831 .71304 m .53944 .58546 L .68032 .4939 L p
+.808 .709 .755 r
+F P
+s
+P
+p
+.002 w
+.53866 .39582 m .68032 .4939 L .53944 .58546 L p
+.726 .528 .623 r
+F P
+s
+P
+p
+.002 w
+.53944 .58546 m .39635 .48497 L .53866 .39582 L p
+.726 .528 .623 r
+F P
+s
+P
+p
+.002 w
+.43021 .70836 m .53944 .58546 L .39635 .48497 L p
+.634 .56 .753 r
+F P
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{269, 285},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCacheValid->False]}, Open]],
+
+Cell[CellGroupData[{Cell["\<\
+Show[poly0=
+\tGraphics3D[
+\tJoin[{PointSize[0.02]},
+\t\tPoint /@ genc]
+\t],Boxed->True,ViewPoint->viewpt];\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1.05969 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+-0.05793 1.131557 0.028289 1.131557 [
+[ 0 0 0 0 ]
+[ 1 1.05969 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1.05969 L
+0 1.05969 L
+closepath
+clip
+newpath
+p
+.002 w
+.07153 .23631 m
+.02829 .96071 L
+s
+.02829 .96071 m
+.47161 1.0314 L
+s
+.47161 1.0314 m
+.47437 .41457 L
+s
+.47437 .41457 m
+.07153 .23631 L
+s
+.55473 .02829 m
+.93113 .27045 L
+s
+.93113 .27045 m
+.97171 .97442 L
+s
+.97171 .97442 m
+.56032 .8754 L
+s
+.56032 .8754 m
+.55473 .02829 L
+s
+.07153 .23631 m
+.02829 .96071 L
+s
+.02829 .96071 m
+.56032 .8754 L
+s
+.56032 .8754 m
+.55473 .02829 L
+s
+.55473 .02829 m
+.07153 .23631 L
+s
+.47437 .41457 m
+.93113 .27045 L
+s
+.93113 .27045 m
+.97171 .97442 L
+s
+.97171 .97442 m
+.47161 1.0314 L
+s
+.47161 1.0314 m
+.47437 .41457 L
+s
+P
+p
+.02 w
+.48346 .60071 Mdot
+P
+p
+.02 w
+.59511 .67945 Mdot
+P
+p
+.02 w
+.37043 .67388 Mdot
+P
+p
+.02 w
+.57031 .50212 Mdot
+P
+p
+.02 w
+.48297 .75416 Mdot
+P
+p
+.02 w
+.40971 .49714 Mdot
+P
+p
+.02 w
+.68454 .58172 Mdot
+P
+p
+.02 w
+.52362 .57716 Mdot
+P
+p
+.02 w
+.45642 .57525 Mdot
+P
+p
+.02 w
+.49307 .48814 Mdot
+P
+p
+.02 w
+.29287 .57062 Mdot
+P
+p
+.02 w
+.57158 .65643 Mdot
+P
+p
+.02 w
+.57158 .65643 Mdot
+P
+p
+.02 w
+.60865 .56892 Mdot
+P
+p
+.02 w
+.49731 .39421 Mdot
+P
+p
+.02 w
+.4077 .65223 Mdot
+P
+p
+.02 w
+.4077 .65223 Mdot
+P
+p
+.02 w
+.68816 .7386 Mdot
+P
+p
+.02 w
+.37623 .56225 Mdot
+P
+p
+.02 w
+.6139 .47509 Mdot
+P
+p
+.02 w
+.52394 .73486 Mdot
+P
+p
+.02 w
+.45536 .7333 Mdot
+P
+p
+.02 w
+.58315 .38397 Mdot
+P
+p
+.02 w
+.49276 .64466 Mdot
+P
+p
+.02 w
+.49276 .64466 Mdot
+P
+p
+.02 w
+.37953 .46758 Mdot
+P
+p
+.02 w
+.66356 .55498 Mdot
+P
+p
+.02 w
+.28841 .7295 Mdot
+P
+p
+.02 w
+.41695 .37811 Mdot
+P
+p
+.02 w
+.57291 .81714 Mdot
+P
+p
+.02 w
+.7015 .46563 Mdot
+P
+p
+.02 w
+.61075 .7281 Mdot
+P
+p
+.02 w
+.49709 .55011 Mdot
+P
+p
+.02 w
+.49709 .55011 Mdot
+P
+p
+.02 w
+.49709 .55011 Mdot
+P
+p
+.02 w
+.78294 .63809 Mdot
+P
+p
+.02 w
+.4056 .81382 Mdot
+P
+p
+.02 w
+.53496 .46023 Mdot
+P
+p
+.02 w
+.46539 .45797 Mdot
+P
+p
+.02 w
+.32864 .54518 Mdot
+P
+p
+.02 w
+.37346 .72263 Mdot
+P
+p
+.02 w
+.61613 .63368 Mdot
+P
+p
+.02 w
+.61613 .63368 Mdot
+P
+p
+.02 w
+.54645 .63184 Mdot
+P
+p
+.02 w
+.29604 .45247 Mdot
+P
+p
+.02 w
+.58474 .54131 Mdot
+P
+p
+.02 w
+.58474 .54131 Mdot
+P
+p
+.02 w
+.58474 .54131 Mdot
+P
+p
+.02 w
+.44733 .62922 Mdot
+P
+p
+.02 w
+.49244 .8078 Mdot
+P
+p
+.02 w
+.37681 .62736 Mdot
+P
+p
+.02 w
+.37681 .62736 Mdot
+P
+p
+.02 w
+.50785 .26916 Mdot
+P
+p
+.02 w
+.66686 .71666 Mdot
+P
+p
+.02 w
+.41502 .53628 Mdot
+P
+p
+.02 w
+.41502 .53628 Mdot
+P
+p
+.02 w
+.41502 .53628 Mdot
+P
+p
+.02 w
+.70561 .62571 Mdot
+P
+p
+.02 w
+.70561 .62571 Mdot
+P
+p
+.02 w
+.58996 .44401 Mdot
+P
+p
+.02 w
+.20513 .62282 Mdot
+P
+p
+.02 w
+.49686 .71267 Mdot
+P
+p
+.02 w
+.49686 .71267 Mdot
+P
+p
+.02 w
+.49686 .71267 Mdot
+P
+p
+.02 w
+.62873 .35218 Mdot
+P
+p
+.02 w
+.53553 .62116 Mdot
+P
+p
+.02 w
+.53553 .62116 Mdot
+P
+p
+.02 w
+.41878 .43835 Mdot
+P
+p
+.02 w
+.46448 .61925 Mdot
+P
+p
+.02 w
+.46448 .61925 Mdot
+P
+p
+.02 w
+.71193 .52854 Mdot
+P
+p
+.02 w
+.3248 .70862 Mdot
+P
+p
+.02 w
+.50327 .52717 Mdot
+P
+p
+.02 w
+.61845 .79907 Mdot
+P
+p
+.02 w
+.38592 .34334 Mdot
+P
+p
+.02 w
+.68034 .43389 Mdot
+P
+p
+.02 w
+.29147 .61462 Mdot
+P
+p
+.02 w
+.29147 .61462 Mdot
+P
+p
+.02 w
+.54038 .52335 Mdot
+P
+p
+.02 w
+.5864 .70544 Mdot
+P
+p
+.02 w
+.5864 .70544 Mdot
+P
+p
+.02 w
+.5864 .70544 Mdot
+P
+p
+.02 w
+.62566 .61292 Mdot
+P
+p
+.02 w
+.46871 .52118 Mdot
+P
+p
+.02 w
+.37398 .79405 Mdot
+P
+p
+.02 w
+.50785 .4281 Mdot
+P
+p
+.02 w
+.50785 .4281 Mdot
+P
+p
+.02 w
+.50785 .4281 Mdot
+P
+p
+.02 w
+.50785 .4281 Mdot
+P
+p
+.02 w
+.80422 .51927 Mdot
+P
+p
+.02 w
+.41301 .7013 Mdot
+P
+p
+.02 w
+.41301 .7013 Mdot
+P
+p
+.02 w
+.41301 .7013 Mdot
+P
+p
+.02 w
+.7099 .79274 Mdot
+P
+p
+.02 w
+.29418 .5159 Mdot
+P
+p
+.02 w
+.59174 .60749 Mdot
+P
+p
+.02 w
+.59174 .60749 Mdot
+P
+p
+.02 w
+.33323 .42224 Mdot
+P
+p
+.02 w
+.37971 .60624 Mdot
+P
+p
+.02 w
+.49662 .8823 Mdot
+P
+p
+.02 w
+.63137 .51396 Mdot
+P
+p
+.02 w
+.63137 .51396 Mdot
+P
+p
+.02 w
+.63137 .51396 Mdot
+P
+p
+.02 w
+.53614 .78911 Mdot
+P
+p
+.02 w
+.55914 .51175 Mdot
+P
+p
+.02 w
+.41683 .60271 Mdot
+P
+p
+.02 w
+.41683 .60271 Mdot
+P
+p
+.02 w
+.46353 .7876 Mdot
+P
+p
+.02 w
+.59888 .41762 Mdot
+P
+p
+.02 w
+.71639 .69494 Mdot
+P
+p
+.02 w
+.45637 .5086 Mdot
+P
+p
+.02 w
+.50317 .69382 Mdot
+P
+p
+.02 w
+.38324 .50635 Mdot
+P
+p
+.02 w
+.38324 .50635 Mdot
+P
+p
+.02 w
+.38324 .50635 Mdot
+P
+p
+.02 w
+.68413 .59895 Mdot
+P
+p
+.02 w
+.68413 .59895 Mdot
+P
+p
+.02 w
+.28671 .78391 Mdot
+P
+p
+.02 w
+.4229 .41163 Mdot
+P
+p
+.02 w
+.5411 .69067 Mdot
+P
+p
+.02 w
+.58813 .87679 Mdot
+P
+p
+.02 w
+.72437 .50437 Mdot
+P
+p
+.02 w
+.46785 .68889 Mdot
+P
+p
+.02 w
+.60442 .31555 Mdot
+P
+p
+.02 w
+.20514 .50089 Mdot
+P
+p
+.02 w
+.50785 .59407 Mdot
+P
+p
+.02 w
+.50785 .59407 Mdot
+P
+p
+.02 w
+.50785 .59407 Mdot
+P
+p
+.02 w
+.50785 .59407 Mdot
+P
+p
+.02 w
+.50785 .59407 Mdot
+P
+p
+.02 w
+.50785 .59407 Mdot
+P
+p
+.02 w
+.81079 .68732 Mdot
+P
+p
+.02 w
+.41091 .87364 Mdot
+P
+p
+.02 w
+.548 .49888 Mdot
+P
+p
+.02 w
+.28943 .68455 Mdot
+P
+p
+.02 w
+.42686 .30886 Mdot
+P
+p
+.02 w
+.4743 .49659 Mdot
+P
+p
+.02 w
+.59361 .77824 Mdot
+P
+p
+.02 w
+.7311 .40241 Mdot
+P
+p
+.02 w
+.32934 .58912 Mdot
+P
+p
+.02 w
+.32934 .58912 Mdot
+P
+p
+.02 w
+.63412 .68295 Mdot
+P
+p
+.02 w
+.63412 .68295 Mdot
+P
+p
+.02 w
+.63412 .68295 Mdot
+P
+p
+.02 w
+.51262 .49248 Mdot
+P
+p
+.02 w
+.56029 .68113 Mdot
+P
+p
+.02 w
+.29477 .491 Mdot
+P
+p
+.02 w
+.41479 .77443 Mdot
+P
+p
+.02 w
+.55315 .39623 Mdot
+P
+p
+.02 w
+.60092 .58523 Mdot
+P
+p
+.02 w
+.60092 .58523 Mdot
+P
+p
+.02 w
+.45521 .67854 Mdot
+P
+p
+.02 w
+.47878 .39364 Mdot
+P
+p
+.02 w
+.38044 .67669 Mdot
+P
+p
+.02 w
+.38044 .67669 Mdot
+P
+p
+.02 w
+.38044 .67669 Mdot
+P
+p
+.02 w
+.51943 .29676 Mdot
+P
+p
+.02 w
+.64009 .58151 Mdot
+P
+p
+.02 w
+.6881 .77144 Mdot
+P
+p
+.02 w
+.42098 .58017 Mdot
+P
+p
+.02 w
+.42098 .58017 Mdot
+P
+p
+.02 w
+.72925 .67506 Mdot
+P
+p
+.02 w
+.29761 .38735 Mdot
+P
+p
+.02 w
+.6066 .48241 Mdot
+P
+p
+.02 w
+.6066 .48241 Mdot
+P
+p
+.02 w
+.6066 .48241 Mdot
+P
+p
+.02 w
+.19829 .67219 Mdot
+P
+p
+.02 w
+.50785 .76755 Mdot
+P
+p
+.02 w
+.50785 .76755 Mdot
+P
+p
+.02 w
+.50785 .76755 Mdot
+P
+p
+.02 w
+.50785 .76755 Mdot
+P
+p
+.02 w
+.64778 .38504 Mdot
+P
+p
+.02 w
+.54891 .67054 Mdot
+P
+p
+.02 w
+.3841 .57426 Mdot
+P
+p
+.02 w
+.42502 .47664 Mdot
+P
+p
+.02 w
+.42502 .47664 Mdot
+P
+p
+.02 w
+.42502 .47664 Mdot
+P
+p
+.02 w
+.47354 .66866 Mdot
+P
+p
+.02 w
+.73617 .57238 Mdot
+P
+p
+.02 w
+.73617 .57238 Mdot
+P
+p
+.02 w
+.32528 .76361 Mdot
+P
+p
+.02 w
+.637 .85965 Mdot
+P
+p
+.02 w
+.39017 .37595 Mdot
+P
+p
+.02 w
+.51272 .66527 Mdot
+P
+p
+.02 w
+.70275 .4721 Mdot
+P
+p
+.02 w
+.2899 .66405 Mdot
+P
+p
+.02 w
+.55419 .56715 Mdot
+P
+p
+.02 w
+.55419 .56715 Mdot
+P
+p
+.02 w
+.60305 .7605 Mdot
+P
+p
+.02 w
+.47811 .56497 Mdot
+P
+p
+.02 w
+.47811 .56497 Mdot
+P
+p
+.02 w
+.37751 .85486 Mdot
+P
+p
+.02 w
+.5197 .4662 Mdot
+P
+p
+.02 w
+.5197 .4662 Mdot
+P
+p
+.02 w
+.5197 .4662 Mdot
+P
+p
+.02 w
+.83448 .56304 Mdot
+P
+p
+.02 w
+.41898 .75647 Mdot
+P
+p
+.02 w
+.29276 .55965 Mdot
+P
+p
+.02 w
+.29276 .55965 Mdot
+P
+p
+.02 w
+.60889 .65697 Mdot
+P
+p
+.02 w
+.60889 .65697 Mdot
+P
+p
+.02 w
+.60889 .65697 Mdot
+P
+p
+.02 w
+.33425 .46022 Mdot
+P
+p
+.02 w
+.50785 .94906 Mdot
+P
+p
+.02 w
+.65102 .55769 Mdot
+P
+p
+.02 w
+.65102 .55769 Mdot
+P
+p
+.02 w
+.52477 .35938 Mdot
+P
+p
+.02 w
+.57432 .55546 Mdot
+P
+p
+.02 w
+.4231 .65222 Mdot
+P
+p
+.02 w
+.4231 .65222 Mdot
+P
+p
+.02 w
+.4231 .65222 Mdot
+P
+p
+.02 w
+.74149 .75026 Mdot
+P
+p
+.02 w
+.46514 .55228 Mdot
+P
+p
+.02 w
+.38742 .55001 Mdot
+P
+p
+.02 w
+.38742 .55001 Mdot
+P
+p
+.02 w
+.65739 .45101 Mdot
+P
+p
+.02 w
+.70731 .64848 Mdot
+P
+p
+.02 w
+.55527 .74609 Mdot
+P
+p
+.02 w
+.47741 .74434 Mdot
+P
+p
+.02 w
+.62265 .34733 Mdot
+P
+p
+.02 w
+.19804 .54449 Mdot
+P
+p
+.02 w
+.51998 .64361 Mdot
+P
+p
+.02 w
+.51998 .64361 Mdot
+P
+p
+.02 w
+.51998 .64361 Mdot
+P
+p
+.02 w
+.39129 .44225 Mdot
+P
+p
+.02 w
+.28767 .7401 Mdot
+P
+p
+.02 w
+.43388 .34043 Mdot
+P
+p
+.02 w
+.61128 .83979 Mdot
+P
+p
+.02 w
+.75754 .43997 Mdot
+P
+p
+.02 w
+.33013 .63868 Mdot
+P
+p
+.02 w
+.65441 .73854 Mdot
+P
+p
+.02 w
+.52517 .53599 Mdot
+P
+p
+.02 w
+.52517 .53599 Mdot
+P
+p
+.02 w
+.42108 .83616 Mdot
+P
+p
+.02 w
+.56833 .43364 Mdot
+P
+p
+.02 w
+.48921 .43099 Mdot
+P
+p
+.02 w
+.38454 .7324 Mdot
+P
+p
+.02 w
+.66097 .63108 Mdot
+P
+p
+.02 w
+.29635 .42454 Mdot
+P
+p
+.02 w
+.62541 .52579 Mdot
+P
+p
+.02 w
+.62541 .52579 Mdot
+P
+p
+.02 w
+.52027 .82957 Mdot
+P
+p
+.02 w
+.38847 .62385 Mdot
+P
+p
+.02 w
+.43209 .51994 Mdot
+P
+p
+.02 w
+.43209 .51994 Mdot
+P
+p
+.02 w
+.76359 .62196 Mdot
+P
+p
+.02 w
+.52559 .7212 Mdot
+P
+p
+.02 w
+.56981 .61673 Mdot
+P
+p
+.02 w
+.48875 .61455 Mdot
+P
+p
+.02 w
+.29114 .60922 Mdot
+P
+p
+.02 w
+.62831 .71304 Mdot
+P
+p
+.02 w
+.53866 .39582 Mdot
+P
+p
+.02 w
+.43021 .70836 Mdot
+P
+p
+.02 w
+.68032 .4939 Mdot
+P
+p
+.02 w
+.39635 .48497 Mdot
+P
+p
+.02 w
+.53944 .58546 Mdot
+P
+p
+.002 w
+.55473 .02829 m
+.93113 .27045 L
+s
+.93113 .27045 m
+.97171 .97442 L
+s
+.97171 .97442 m
+.56032 .8754 L
+s
+.56032 .8754 m
+.55473 .02829 L
+s
+.07153 .23631 m
+.02829 .96071 L
+s
+.02829 .96071 m
+.56032 .8754 L
+s
+.56032 .8754 m
+.55473 .02829 L
+s
+.55473 .02829 m
+.07153 .23631 L
+s
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{266, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCacheValid->False]}, Open]]}, Open]],
+
+Cell["\<\
+amat=-Map[Drop[#,1]&, inelist];
+bvec=Map[First[#]&, inelist];
+\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["\<\
+skel3D[vp_]:= 
+\tGraphics3D[
+\t\tVisibleSkeleton[genc, ecd, ead, 
+     \t{amat, bvec}, vp]
+     ]; 
+\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{Cell["\<\
+uvp={20,20,20};
+Show[skel3D[uvp], 
+\t\tBoxed->False, 
+ \t\tViewPoint -> getMmaViewPoint[uvp,skel3D[uvp]],
+ \t\tSphericalRegion->True
+ \t]\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .57327 m
+.59131 .62727 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .57327 m
+.40869 .62727 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56391 .48472 m
+.5 .57327 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43609 .48472 m
+.5 .57327 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56391 .48472 m
+.65702 .53755 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56504 .37823 m
+.56391 .48472 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43609 .48472 m
+.34298 .53755 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43496 .37823 m
+.43609 .48472 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .39488 m
+.56391 .48472 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .39488 m
+.43609 .48472 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .286 m
+.5 .39488 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59131 .62727 m
+.6628 .64905 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59131 .62727 m
+.5 .68322 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65702 .53755 m
+.59131 .62727 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40869 .62727 m
+.5 .68322 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40869 .62727 m
+.3372 .64905 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34298 .53755 m
+.40869 .62727 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65702 .53755 m
+.732 .55548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65986 .4301 m
+.65702 .53755 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34298 .53755 m
+.268 .55548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34014 .4301 m
+.34298 .53755 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56504 .37823 m
+.65986 .4301 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43496 .37823 m
+.34014 .4301 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .286 m
+.56504 .37823 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .286 m
+.43496 .37823 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .286 m
+.59435 .33658 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .286 m
+.56848 .29273 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .286 m
+.5 .27388 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .286 m
+.43152 .29273 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .286 m
+.40565 .33658 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .68322 m
+.5687 .70794 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .68322 m
+.4313 .70794 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65986 .4301 m
+.73638 .44347 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59435 .33658 m
+.65986 .4301 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34014 .4301 m
+.26362 .44347 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40565 .33658 m
+.34014 .4301 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59435 .33658 m
+.66846 .34576 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40565 .33658 m
+.33154 .34576 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6628 .64905 m
+.67231 .65776 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6628 .64905 m
+.5687 .70794 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.732 .55548 m
+.6628 .64905 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3372 .64905 m
+.4313 .70794 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3372 .64905 m
+.32769 .65776 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.268 .55548 m
+.3372 .64905 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.732 .55548 m
+.74566 .55875 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73638 .44347 m
+.732 .55548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.268 .55548 m
+.25434 .55875 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26362 .44347 m
+.268 .55548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56848 .29273 m
+.66846 .34576 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56848 .29273 m
+.57254 .28043 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43152 .29273 m
+.42746 .28043 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43152 .29273 m
+.33154 .34576 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5687 .70794 m
+.57279 .72032 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5687 .70794 m
+.5 .73499 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4313 .70794 m
+.5 .73499 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4313 .70794 m
+.42721 .72032 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73638 .44347 m
+.75058 .44008 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66846 .34576 m
+.73638 .44347 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26362 .44347 m
+.24942 .44008 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33154 .34576 m
+.26362 .44347 L
+s
+P
+p
+.0035 w
+.5 .27388 m
+.57254 .28043 L
+s
+P
+p
+.0035 w
+.5 .27388 m
+.42746 .28043 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66846 .34576 m
+.67866 .33642 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33154 .34576 m
+.32134 .33642 L
+s
+P
+p
+.0035 w
+.67231 .65776 m
+.60591 .68344 L
+s
+P
+p
+.0035 w
+.67231 .65776 m
+.57279 .72032 L
+s
+P
+p
+.0035 w
+.74566 .55875 m
+.67231 .65776 L
+s
+P
+p
+.0035 w
+.32769 .65776 m
+.42721 .72032 L
+s
+P
+p
+.0035 w
+.32769 .65776 m
+.39409 .68344 L
+s
+P
+p
+.0035 w
+.25434 .55875 m
+.32769 .65776 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .73499 m
+.5 .74969 L
+s
+P
+p
+.0035 w
+.74566 .55875 m
+.68235 .57973 L
+s
+P
+p
+.0035 w
+.75058 .44008 m
+.74566 .55875 L
+s
+P
+p
+.0035 w
+.25434 .55875 m
+.31765 .57973 L
+s
+P
+p
+.0035 w
+.24942 .44008 m
+.25434 .55875 L
+s
+P
+p
+.0035 w
+.57254 .28043 m
+.67866 .33642 L
+s
+P
+p
+.0035 w
+.57254 .28043 m
+.5 .28763 L
+s
+P
+p
+.0035 w
+.42746 .28043 m
+.5 .28763 L
+s
+P
+p
+.0035 w
+.42746 .28043 m
+.32134 .33642 L
+s
+P
+p
+.0035 w
+.57279 .72032 m
+.5 .74969 L
+s
+P
+p
+.0035 w
+.42721 .72032 m
+.5 .74969 L
+s
+P
+p
+.0035 w
+.75058 .44008 m
+.68618 .45548 L
+s
+P
+p
+.0035 w
+.67866 .33642 m
+.75058 .44008 L
+s
+P
+p
+.0035 w
+.24942 .44008 m
+.31382 .45548 L
+s
+P
+p
+.0035 w
+.32134 .33642 m
+.24942 .44008 L
+s
+P
+p
+.0035 w
+.67866 .33642 m
+.61002 .34665 L
+s
+P
+p
+.0035 w
+.32134 .33642 m
+.38998 .34665 L
+s
+P
+p
+.0035 w
+.60591 .68344 m
+.5 .74969 L
+s
+P
+p
+.0035 w
+.68235 .57973 m
+.60591 .68344 L
+s
+P
+p
+.0035 w
+.39409 .68344 m
+.5 .74969 L
+s
+P
+p
+.0035 w
+.31765 .57973 m
+.39409 .68344 L
+s
+P
+p
+.0035 w
+.68235 .57973 m
+.57712 .64438 L
+s
+P
+p
+.0035 w
+.68618 .45548 m
+.68235 .57973 L
+s
+P
+p
+.0035 w
+.31765 .57973 m
+.42288 .64438 L
+s
+P
+p
+.0035 w
+.31382 .45548 m
+.31765 .57973 L
+s
+P
+p
+.0035 w
+.5 .28763 m
+.61002 .34665 L
+s
+P
+p
+.0035 w
+.5 .28763 m
+.38998 .34665 L
+s
+P
+p
+.0035 w
+.5 .6275 m
+.5 .74969 L
+s
+P
+p
+.0035 w
+.57712 .64438 m
+.5 .74969 L
+s
+P
+p
+.0035 w
+.42288 .64438 m
+.5 .74969 L
+s
+P
+p
+.0035 w
+.57878 .51884 m
+.57712 .64438 L
+s
+P
+p
+.0035 w
+.42122 .51884 m
+.42288 .64438 L
+s
+P
+p
+.0035 w
+.68618 .45548 m
+.57878 .51884 L
+s
+P
+p
+.0035 w
+.61002 .34665 m
+.68618 .45548 L
+s
+P
+p
+.0035 w
+.31382 .45548 m
+.42122 .51884 L
+s
+P
+p
+.0035 w
+.38998 .34665 m
+.31382 .45548 L
+s
+P
+p
+.0035 w
+.61002 .34665 m
+.5 .40822 L
+s
+P
+p
+.0035 w
+.38998 .34665 m
+.5 .40822 L
+s
+P
+p
+.0035 w
+.57878 .51884 m
+.5 .6275 L
+s
+P
+p
+.0035 w
+.42122 .51884 m
+.5 .6275 L
+s
+P
+p
+.0035 w
+.5 .40822 m
+.57878 .51884 L
+s
+P
+p
+.0035 w
+.5 .40822 m
+.42122 .51884 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  ImageCacheValid->False],
+
+Cell[OutputFormData["\<\
+Graphics3D[\"<<>>\"]\
+\>", "\<\
+-Graphics3D-\
+\>"], \
+"Output",
+  ImageRegion->{{0, 1}, {0, 1}}]}, Open]],
+
+Cell[CellGroupData[{Cell["\<\
+Do[ vp=circle[a,10,2];
+\tShow[skel3D[getUserViewPoint[vp, skel3D[{0,0,0}]]], 
+\t\tBoxed->False, 
+ \t\tViewPoint -> vp, SphericalRegion->True
+ \t],
+ \t{a,Pi/11,Pi,Pi/18}
+ ]
+\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->8.28333,
+  AnimationCycleOffset->1.0625,
+  AnimationCycleRepetitions->Infinity],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.47266 .54987 m
+.56701 .61307 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.47266 .54987 m
+.38566 .60959 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56671 .47655 m
+.47266 .54987 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.38616 .47267 m
+.47266 .54987 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56671 .47655 m
+.66189 .5394 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.61504 .3904 m
+.56671 .47655 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48052 .39879 m
+.56671 .47655 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.38616 .47267 m
+.29785 .53195 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48052 .39879 m
+.38616 .47267 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35661 .38446 m
+.38616 .47267 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56701 .61307 m
+.61607 .66708 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56701 .61307 m
+.48035 .6738 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66189 .5394 m
+.56701 .61307 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5281 .31127 m
+.48052 .39879 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45213 .30942 m
+.48052 .39879 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66189 .5394 m
+.71261 .59234 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71165 .45341 m
+.66189 .5394 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.38566 .60959 m
+.48035 .6738 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.38566 .60959 m
+.35532 .66232 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29785 .53195 m
+.38566 .60959 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.61504 .3904 m
+.71165 .45341 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5281 .31127 m
+.61504 .3904 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58822 .30036 m
+.61504 .3904 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29785 .53195 m
+.2658 .58359 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26685 .44364 m
+.29785 .53195 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48035 .6738 m
+.52849 .72935 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48035 .6738 m
+.45148 .72803 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35661 .38446 m
+.26685 .44364 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40325 .29582 m
+.35661 .38446 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45213 .30942 m
+.35661 .38446 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.5281 .31127 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.45213 .30942 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71165 .45341 m
+.76379 .50556 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68592 .36358 m
+.71165 .45341 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.61607 .66708 m
+.58943 .72154 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.61607 .66708 m
+.52849 .72935 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71261 .59234 m
+.61607 .66708 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71261 .59234 m
+.68763 .64558 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.76379 .50556 m
+.71261 .59234 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58822 .30036 m
+.68592 .36358 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.58822 .30036 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35532 .66232 m
+.45148 .72803 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35532 .66232 m
+.40192 .71829 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.2658 .58359 m
+.35532 .66232 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26685 .44364 m
+.23382 .49439 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31289 .35482 m
+.26685 .44364 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40325 .29582 m
+.31289 .35482 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.40325 .29582 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.59763 .28272 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.54924 .2686 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.47102 .26664 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.41041 .27807 L
+s
+P
+p
+.0035 w
+.2658 .58359 m
+.31116 .63856 L
+s
+P
+p
+.0035 w
+.23382 .49439 m
+.2658 .58359 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52849 .72935 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68592 .36358 m
+.73833 .41494 L
+s
+P
+p
+.0035 w
+.59763 .28272 m
+.68592 .36358 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45148 .72803 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.76379 .50556 m
+.73943 .55788 L
+s
+P
+p
+.0035 w
+.73833 .41494 m
+.76379 .50556 L
+s
+P
+p
+.0035 w
+.59763 .28272 m
+.64885 .33301 L
+s
+P
+p
+.0035 w
+.31289 .35482 m
+.28029 .40457 L
+s
+P
+p
+.0035 w
+.41041 .27807 m
+.31289 .35482 L
+s
+P
+p
+.0035 w
+.58943 .72154 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68763 .64558 m
+.58943 .72154 L
+s
+P
+p
+.0035 w
+.41041 .27807 m
+.3795 .32655 L
+s
+P
+p
+.0035 w
+.68763 .64558 m
+.59899 .7089 L
+s
+P
+p
+.0035 w
+.73943 .55788 m
+.68763 .64558 L
+s
+P
+p
+.0035 w
+.40192 .71829 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31116 .63856 m
+.40192 .71829 L
+s
+P
+p
+.0035 w
+.23382 .49439 m
+.27926 .5486 L
+s
+P
+p
+.0035 w
+.28029 .40457 m
+.23382 .49439 L
+s
+P
+p
+.0035 w
+.54924 .2686 m
+.64885 .33301 L
+s
+P
+p
+.0035 w
+.54924 .2686 m
+.52066 .31722 L
+s
+P
+p
+.0035 w
+.31116 .63856 m
+.40916 .70557 L
+s
+P
+p
+.0035 w
+.27926 .5486 m
+.31116 .63856 L
+s
+P
+p
+.0035 w
+.47102 .26664 m
+.52066 .31722 L
+s
+P
+p
+.0035 w
+.47102 .26664 m
+.3795 .32655 L
+s
+P
+p
+.0035 w
+.73833 .41494 m
+.71317 .46631 L
+s
+P
+p
+.0035 w
+.64885 .33301 m
+.73833 .41494 L
+s
+P
+p
+.0035 w
+.54993 .69878 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.59899 .7089 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.40916 .70557 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.47061 .69738 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.65024 .62107 m
+.59899 .7089 L
+s
+P
+p
+.0035 w
+.73943 .55788 m
+.65024 .62107 L
+s
+P
+p
+.0035 w
+.71317 .46631 m
+.73943 .55788 L
+s
+P
+p
+.0035 w
+.64885 .33301 m
+.6219 .38316 L
+s
+P
+p
+.0035 w
+.37836 .61588 m
+.40916 .70557 L
+s
+P
+p
+.0035 w
+.28029 .40457 m
+.32708 .45792 L
+s
+P
+p
+.0035 w
+.3795 .32655 m
+.28029 .40457 L
+s
+P
+p
+.0035 w
+.3795 .32655 m
+.4281 .37868 L
+s
+P
+p
+.0035 w
+.27926 .5486 m
+.37836 .61588 L
+s
+P
+p
+.0035 w
+.32708 .45792 m
+.27926 .5486 L
+s
+P
+p
+.0035 w
+.65024 .62107 m
+.54993 .69878 L
+s
+P
+p
+.0035 w
+.52086 .60841 m
+.54993 .69878 L
+s
+P
+p
+.0035 w
+.52086 .60841 m
+.47061 .69738 L
+s
+P
+p
+.0035 w
+.37836 .61588 m
+.47061 .69738 L
+s
+P
+p
+.0035 w
+.62248 .52941 m
+.65024 .62107 L
+s
+P
+p
+.0035 w
+.52066 .31722 m
+.6219 .38316 L
+s
+P
+p
+.0035 w
+.52066 .31722 m
+.4281 .37868 L
+s
+P
+p
+.0035 w
+.71317 .46631 m
+.62248 .52941 L
+s
+P
+p
+.0035 w
+.6219 .38316 m
+.71317 .46631 L
+s
+P
+p
+.0035 w
+.42776 .52539 m
+.37836 .61588 L
+s
+P
+p
+.0035 w
+.6219 .38316 m
+.52974 .44575 L
+s
+P
+p
+.0035 w
+.32708 .45792 m
+.42776 .52539 L
+s
+P
+p
+.0035 w
+.4281 .37868 m
+.32708 .45792 L
+s
+P
+p
+.0035 w
+.62248 .52941 m
+.52086 .60841 L
+s
+P
+p
+.0035 w
+.42776 .52539 m
+.52086 .60841 L
+s
+P
+p
+.0035 w
+.4281 .37868 m
+.52974 .44575 L
+s
+P
+p
+.0035 w
+.52974 .44575 m
+.62248 .52941 L
+s
+P
+p
+.0035 w
+.52974 .44575 m
+.42776 .52539 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51723 .55004 m
+.60587 .61037 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51723 .55004 m
+.42396 .61256 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60541 .47354 m
+.51723 .55004 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42429 .47598 m
+.51723 .55004 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42429 .47598 m
+.33009 .53815 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51228 .39892 m
+.42429 .47598 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3793 .3894 m
+.42429 .47598 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60541 .47354 m
+.69528 .53345 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.63857 .38565 m
+.60541 .47354 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51228 .39892 m
+.60541 .47354 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42396 .61256 m
+.51239 .67391 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42396 .61256 m
+.37821 .66628 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33009 .53815 m
+.42396 .61256 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54434 .30984 m
+.51228 .39892 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46812 .311 m
+.51228 .39892 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60587 .61037 m
+.63982 .66328 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60587 .61037 m
+.51239 .67391 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.69528 .53345 m
+.60587 .61037 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33009 .53815 m
+.28266 .59079 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.28364 .45168 m
+.33009 .53815 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.69528 .53345 m
+.73095 .58528 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72991 .44552 m
+.69528 .53345 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3793 .3894 m
+.28364 .45168 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40989 .29955 m
+.3793 .3894 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46812 .311 m
+.3793 .3894 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51239 .67391 m
+.54495 .72832 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51239 .67391 m
+.46768 .72916 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.63857 .38565 m
+.72991 .44552 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54434 .30984 m
+.63857 .38565 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59549 .29669 m
+.63857 .38565 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.46812 .311 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.54434 .30984 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.28364 .45168 m
+.23485 .50351 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31321 .36197 m
+.28364 .45168 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.37821 .66628 m
+.46768 .72916 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.37821 .66628 m
+.40865 .72096 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.28266 .59079 m
+.37821 .66628 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.63982 .66328 m
+.5968 .71891 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.63982 .66328 m
+.54495 .72832 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73095 .58528 m
+.63982 .66328 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.28266 .59079 m
+.3115 .64429 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.23485 .50351 m
+.28266 .59079 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72991 .44552 m
+.76666 .49647 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68754 .35645 m
+.72991 .44552 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40989 .29955 m
+.31321 .36197 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.40989 .29955 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59549 .29669 m
+.68754 .35645 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.59549 .29669 L
+s
+P
+p
+.0035 w
+.73095 .58528 m
+.68927 .63986 L
+s
+P
+p
+.0035 w
+.76666 .49647 m
+.73095 .58528 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.59141 .2789 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.53287 .26693 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.45436 .26816 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.40352 .28183 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46768 .72916 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54495 .72832 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31321 .36197 m
+.26429 .41297 L
+s
+P
+p
+.0035 w
+.40352 .28183 m
+.31321 .36197 L
+s
+P
+p
+.0035 w
+.23485 .50351 m
+.26319 .55611 L
+s
+P
+p
+.0035 w
+.26429 .41297 m
+.23485 .50351 L
+s
+P
+p
+.0035 w
+.68754 .35645 m
+.72399 .40643 L
+s
+P
+p
+.0035 w
+.59141 .2789 m
+.68754 .35645 L
+s
+P
+p
+.0035 w
+.40352 .28183 m
+.35589 .33171 L
+s
+P
+p
+.0035 w
+.40865 .72096 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.3115 .64429 m
+.40865 .72096 L
+s
+P
+p
+.0035 w
+.59141 .2789 m
+.62624 .32764 L
+s
+P
+p
+.0035 w
+.5968 .71891 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68927 .63986 m
+.5968 .71891 L
+s
+P
+p
+.0035 w
+.3115 .64429 m
+.40218 .70826 L
+s
+P
+p
+.0035 w
+.26319 .55611 m
+.3115 .64429 L
+s
+P
+p
+.0035 w
+.76666 .49647 m
+.72503 .55026 L
+s
+P
+p
+.0035 w
+.72399 .40643 m
+.76666 .49647 L
+s
+P
+p
+.0035 w
+.68927 .63986 m
+.59268 .70616 L
+s
+P
+p
+.0035 w
+.72503 .55026 m
+.68927 .63986 L
+s
+P
+p
+.0035 w
+.45436 .26816 m
+.48697 .31707 L
+s
+P
+p
+.0035 w
+.45436 .26816 m
+.35589 .33171 L
+s
+P
+p
+.0035 w
+.53287 .26693 m
+.62624 .32764 L
+s
+P
+p
+.0035 w
+.53287 .26693 m
+.48697 .31707 L
+s
+P
+p
+.0035 w
+.53333 .69758 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.59268 .70616 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.40218 .70826 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.45372 .69847 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.26429 .41297 m
+.29354 .46463 L
+s
+P
+p
+.0035 w
+.35589 .33171 m
+.26429 .41297 L
+s
+P
+p
+.0035 w
+.35454 .62003 m
+.40218 .70826 L
+s
+P
+p
+.0035 w
+.62743 .61676 m
+.59268 .70616 L
+s
+P
+p
+.0035 w
+.26319 .55611 m
+.35454 .62003 L
+s
+P
+p
+.0035 w
+.29354 .46463 m
+.26319 .55611 L
+s
+P
+p
+.0035 w
+.72399 .40643 m
+.68109 .45934 L
+s
+P
+p
+.0035 w
+.62624 .32764 m
+.72399 .40643 L
+s
+P
+p
+.0035 w
+.35589 .33171 m
+.38696 .38216 L
+s
+P
+p
+.0035 w
+.62624 .32764 m
+.58151 .37934 L
+s
+P
+p
+.0035 w
+.72503 .55026 m
+.62743 .61676 L
+s
+P
+p
+.0035 w
+.68109 .45934 m
+.72503 .55026 L
+s
+P
+p
+.0035 w
+.48685 .60829 m
+.45372 .69847 L
+s
+P
+p
+.0035 w
+.35454 .62003 m
+.45372 .69847 L
+s
+P
+p
+.0035 w
+.62743 .61676 m
+.53333 .69758 L
+s
+P
+p
+.0035 w
+.48685 .60829 m
+.53333 .69758 L
+s
+P
+p
+.0035 w
+.38642 .52851 m
+.35454 .62003 L
+s
+P
+p
+.0035 w
+.48697 .31707 m
+.58151 .37934 L
+s
+P
+p
+.0035 w
+.48697 .31707 m
+.38696 .38216 L
+s
+P
+p
+.0035 w
+.5819 .52598 m
+.62743 .61676 L
+s
+P
+p
+.0035 w
+.29354 .46463 m
+.38642 .52851 L
+s
+P
+p
+.0035 w
+.38696 .38216 m
+.29354 .46463 L
+s
+P
+p
+.0035 w
+.68109 .45934 m
+.5819 .52598 L
+s
+P
+p
+.0035 w
+.58151 .37934 m
+.68109 .45934 L
+s
+P
+p
+.0035 w
+.38696 .38216 m
+.48125 .44555 L
+s
+P
+p
+.0035 w
+.5819 .52598 m
+.48685 .60829 L
+s
+P
+p
+.0035 w
+.38642 .52851 m
+.48685 .60829 L
+s
+P
+p
+.0035 w
+.58151 .37934 m
+.48125 .44555 L
+s
+P
+p
+.0035 w
+.48125 .44555 m
+.38642 .52851 L
+s
+P
+p
+.0035 w
+.48125 .44555 m
+.5819 .52598 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56134 .54874 m
+.64185 .60649 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56134 .54874 m
+.46432 .6143 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64122 .46921 m
+.56134 .54874 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46448 .47793 m
+.56134 .54874 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46448 .47793 m
+.36701 .54317 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54369 .39788 m
+.46448 .47793 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40541 .39342 m
+.46448 .47793 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46432 .6143 m
+.54408 .67308 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46432 .6143 m
+.40456 .6695 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36701 .54317 m
+.46432 .6143 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36701 .54317 m
+.30578 .59731 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.30665 .45896 m
+.36701 .54317 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64122 .46921 m
+.72323 .52645 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65813 .38008 m
+.64122 .46921 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54369 .39788 m
+.64122 .46921 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55929 .30779 m
+.54369 .39788 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48503 .31193 m
+.54369 .39788 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40541 .39342 m
+.30665 .45896 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4192 .30296 m
+.40541 .39342 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48503 .31193 m
+.40541 .39342 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64185 .60649 m
+.65956 .65881 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64185 .60649 m
+.54408 .67308 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72323 .52645 m
+.64185 .60649 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.30665 .45896 m
+.24385 .5124 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31917 .36896 m
+.30665 .45896 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54408 .67308 m
+.5601 .72685 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54408 .67308 m
+.48482 .72982 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.48503 .31193 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72323 .52645 m
+.74256 .57769 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74146 .43705 m
+.72323 .52645 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40456 .6695 m
+.48482 .72982 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40456 .6695 m
+.4181 .7234 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.30578 .59731 m
+.40456 .6695 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.30578 .59731 m
+.31751 .6499 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.24385 .5124 m
+.30578 .59731 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65813 .38008 m
+.74146 .43705 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55929 .30779 m
+.65813 .38008 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5999 .29278 m
+.65813 .38008 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.55929 .30779 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4192 .30296 m
+.31917 .36896 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.4192 .30296 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31917 .36896 m
+.2557 .42175 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39961 .2858 m
+.31917 .36896 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65956 .65881 m
+.60128 .71611 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65956 .65881 m
+.5601 .72685 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74256 .57769 m
+.65956 .65881 L
+s
+P
+p
+.0035 w
+.24385 .5124 m
+.25457 .56399 L
+s
+P
+p
+.0035 w
+.2557 .42175 m
+.24385 .5124 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5999 .29278 m
+.68343 .34932 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.5999 .29278 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.58235 .27538 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.51546 .26594 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.43916 .27033 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.39961 .2858 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48482 .72982 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.74146 .43705 m
+.76139 .48735 L
+s
+P
+p
+.0035 w
+.68343 .34932 m
+.74146 .43705 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5601 .72685 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.39961 .2858 m
+.33692 .33769 L
+s
+P
+p
+.0035 w
+.74256 .57769 m
+.68513 .63415 L
+s
+P
+p
+.0035 w
+.76139 .48735 m
+.74256 .57769 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4181 .7234 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31751 .6499 m
+.4181 .7234 L
+s
+P
+p
+.0035 w
+.31751 .6499 m
+.39822 .71111 L
+s
+P
+p
+.0035 w
+.25457 .56399 m
+.31751 .6499 L
+s
+P
+p
+.0035 w
+.68343 .34932 m
+.7025 .39854 L
+s
+P
+p
+.0035 w
+.58235 .27538 m
+.68343 .34932 L
+s
+P
+p
+.0035 w
+.58235 .27538 m
+.59954 .32322 L
+s
+P
+p
+.0035 w
+.2557 .42175 m
+.26679 .47237 L
+s
+P
+p
+.0035 w
+.33692 .33769 m
+.2557 .42175 L
+s
+P
+p
+.0035 w
+.60128 .71611 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68513 .63415 m
+.60128 .71611 L
+s
+P
+p
+.0035 w
+.43916 .27033 m
+.45371 .31824 L
+s
+P
+p
+.0035 w
+.43916 .27033 m
+.33692 .33769 L
+s
+P
+p
+.0035 w
+.25457 .56399 m
+.3354 .62482 L
+s
+P
+p
+.0035 w
+.26679 .47237 m
+.25457 .56399 L
+s
+P
+p
+.0035 w
+.51546 .26594 m
+.59954 .32322 L
+s
+P
+p
+.0035 w
+.51546 .26594 m
+.45371 .31824 L
+s
+P
+p
+.0035 w
+.51567 .69688 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.5835 .70364 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.39822 .71111 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.4383 .70002 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.3354 .62482 m
+.39822 .71111 L
+s
+P
+p
+.0035 w
+.76139 .48735 m
+.70345 .54319 L
+s
+P
+p
+.0035 w
+.7025 .39854 m
+.76139 .48735 L
+s
+P
+p
+.0035 w
+.33692 .33769 m
+.34963 .3871 L
+s
+P
+p
+.0035 w
+.68513 .63415 m
+.5835 .70364 L
+s
+P
+p
+.0035 w
+.70345 .54319 m
+.68513 .63415 L
+s
+P
+p
+.0035 w
+.60047 .61321 m
+.5835 .70364 L
+s
+P
+p
+.0035 w
+.45327 .60922 m
+.4383 .70002 L
+s
+P
+p
+.0035 w
+.3354 .62482 m
+.4383 .70002 L
+s
+P
+p
+.0035 w
+.34891 .53294 m
+.3354 .62482 L
+s
+P
+p
+.0035 w
+.7025 .39854 m
+.64298 .45358 L
+s
+P
+p
+.0035 w
+.59954 .32322 m
+.7025 .39854 L
+s
+P
+p
+.0035 w
+.59954 .32322 m
+.53837 .37708 L
+s
+P
+p
+.0035 w
+.26679 .47237 m
+.34891 .53294 L
+s
+P
+p
+.0035 w
+.34963 .3871 m
+.26679 .47237 L
+s
+P
+p
+.0035 w
+.60047 .61321 m
+.51567 .69688 L
+s
+P
+p
+.0035 w
+.45327 .60922 m
+.51567 .69688 L
+s
+P
+p
+.0035 w
+.45371 .31824 m
+.53837 .37708 L
+s
+P
+p
+.0035 w
+.45371 .31824 m
+.34963 .3871 L
+s
+P
+p
+.0035 w
+.70345 .54319 m
+.60047 .61321 L
+s
+P
+p
+.0035 w
+.64298 .45358 m
+.70345 .54319 L
+s
+P
+p
+.0035 w
+.34963 .3871 m
+.43341 .44708 L
+s
+P
+p
+.0035 w
+.53855 .52396 m
+.60047 .61321 L
+s
+P
+p
+.0035 w
+.53855 .52396 m
+.45327 .60922 L
+s
+P
+p
+.0035 w
+.34891 .53294 m
+.45327 .60922 L
+s
+P
+p
+.0035 w
+.43341 .44708 m
+.34891 .53294 L
+s
+P
+p
+.0035 w
+.64298 .45358 m
+.53855 .52396 L
+s
+P
+p
+.0035 w
+.53837 .37708 m
+.64298 .45358 L
+s
+P
+p
+.0035 w
+.53837 .37708 m
+.43341 .44708 L
+s
+P
+p
+.0035 w
+.43341 .44708 m
+.53855 .52396 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50563 .47845 m
+.6038 .54602 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50563 .47845 m
+.40755 .5469 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57388 .3957 m
+.50563 .47845 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43419 .3964 m
+.50563 .47845 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40755 .5469 m
+.50565 .61477 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40755 .5469 m
+.33439 .60299 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33513 .46529 m
+.40755 .5469 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6038 .54602 m
+.67391 .60153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6038 .54602 m
+.50565 .61477 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67313 .46367 m
+.6038 .54602 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50565 .61477 m
+.57454 .67133 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50565 .61477 m
+.4336 .67189 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43419 .3964 m
+.33513 .46529 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4309 .30593 m
+.43419 .3964 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50237 .31218 m
+.43419 .3964 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57388 .3957 m
+.67313 .46367 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5725 .30517 m
+.57388 .3957 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50237 .31218 m
+.57388 .3957 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33513 .46529 m
+.26038 .52079 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33049 .3756 m
+.33513 .46529 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67313 .46367 m
+.74484 .51856 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67311 .37383 m
+.67313 .46367 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33439 .60299 m
+.4336 .67189 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33439 .60299 m
+.32895 .65522 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26038 .52079 m
+.33439 .60299 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67391 .60153 m
+.67469 .6538 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67391 .60153 m
+.57454 .67133 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74484 .51856 m
+.67391 .60153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4336 .67189 m
+.5024 .73 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4336 .67189 m
+.42996 .72553 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.50237 .31218 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57454 .67133 m
+.5735 .72498 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57454 .67133 m
+.5024 .73 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4309 .30593 m
+.33049 .3756 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.4309 .30593 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5725 .30517 m
+.67311 .37383 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.5725 .30517 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26038 .52079 m
+.25351 .57196 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.25464 .43066 m
+.26038 .52079 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33049 .3756 m
+.25464 .43066 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39878 .28985 m
+.33049 .3756 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67311 .37383 m
+.74582 .42823 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6013 .28875 m
+.67311 .37383 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74484 .51856 m
+.74695 .56979 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74582 .42823 m
+.74484 .51856 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5024 .73 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.6013 .28875 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.57072 .27227 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.49755 .26567 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.42587 .27307 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.39878 .28985 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32895 .65522 m
+.42996 .72553 L
+s
+P
+p
+.0035 w
+.32895 .65522 m
+.39738 .71401 L
+s
+P
+p
+.0035 w
+.25351 .57196 m
+.32895 .65522 L
+s
+P
+p
+.0035 w
+.39878 .28985 m
+.32313 .34428 L
+s
+P
+p
+.0035 w
+.6013 .28875 m
+.67364 .34243 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67469 .6538 m
+.5735 .72498 L
+s
+P
+p
+.0035 w
+.67469 .6538 m
+.6027 .71322 L
+s
+P
+p
+.0035 w
+.74695 .56979 m
+.67469 .6538 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42996 .72553 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5735 .72498 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.25464 .43066 m
+.24757 .48086 L
+s
+P
+p
+.0035 w
+.32313 .34428 m
+.25464 .43066 L
+s
+P
+p
+.0035 w
+.74582 .42823 m
+.74797 .47849 L
+s
+P
+p
+.0035 w
+.67364 .34243 m
+.74582 .42823 L
+s
+P
+p
+.0035 w
+.25351 .57196 m
+.32149 .6301 L
+s
+P
+p
+.0035 w
+.24757 .48086 m
+.25351 .57196 L
+s
+P
+p
+.0035 w
+.74695 .56979 m
+.67526 .62863 L
+s
+P
+p
+.0035 w
+.74797 .47849 m
+.74695 .56979 L
+s
+P
+p
+.0035 w
+.42587 .27307 m
+.42198 .32069 L
+s
+P
+p
+.0035 w
+.42587 .27307 m
+.32313 .34428 L
+s
+P
+p
+.0035 w
+.57072 .27227 m
+.67364 .34243 L
+s
+P
+p
+.0035 w
+.57072 .27227 m
+.56958 .3199 L
+s
+P
+p
+.0035 w
+.32313 .34428 m
+.31729 .39333 L
+s
+P
+p
+.0035 w
+.39738 .71401 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.32149 .6301 m
+.39738 .71401 L
+s
+P
+p
+.0035 w
+.6027 .71322 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.67526 .62863 m
+.6027 .71322 L
+s
+P
+p
+.0035 w
+.67364 .34243 m
+.67445 .39152 L
+s
+P
+p
+.0035 w
+.49752 .69669 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.57171 .70141 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.42483 .70199 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.49755 .26567 m
+.56958 .3199 L
+s
+P
+p
+.0035 w
+.49755 .26567 m
+.42198 .32069 L
+s
+P
+p
+.0035 w
+.24757 .48086 m
+.31643 .53852 L
+s
+P
+p
+.0035 w
+.31729 .39333 m
+.24757 .48086 L
+s
+P
+p
+.0035 w
+.32149 .6301 m
+.42483 .70199 L
+s
+P
+p
+.0035 w
+.31643 .53852 m
+.32149 .6301 L
+s
+P
+p
+.0035 w
+.67526 .62863 m
+.57171 .70141 L
+s
+P
+p
+.0035 w
+.67527 .5369 m
+.67526 .62863 L
+s
+P
+p
+.0035 w
+.74797 .47849 m
+.67527 .5369 L
+s
+P
+p
+.0035 w
+.67445 .39152 m
+.74797 .47849 L
+s
+P
+p
+.0035 w
+.42125 .61118 m
+.42483 .70199 L
+s
+P
+p
+.0035 w
+.57023 .61055 m
+.57171 .70141 L
+s
+P
+p
+.0035 w
+.42198 .32069 m
+.49392 .37647 L
+s
+P
+p
+.0035 w
+.42198 .32069 m
+.31729 .39333 L
+s
+P
+p
+.0035 w
+.57023 .61055 m
+.49752 .69669 L
+s
+P
+p
+.0035 w
+.42125 .61118 m
+.49752 .69669 L
+s
+P
+p
+.0035 w
+.56958 .3199 m
+.67445 .39152 L
+s
+P
+p
+.0035 w
+.56958 .3199 m
+.49392 .37647 L
+s
+P
+p
+.0035 w
+.31729 .39333 m
+.38784 .45028 L
+s
+P
+p
+.0035 w
+.67445 .39152 m
+.60005 .44925 L
+s
+P
+p
+.0035 w
+.31643 .53852 m
+.42125 .61118 L
+s
+P
+p
+.0035 w
+.38784 .45028 m
+.31643 .53852 L
+s
+P
+p
+.0035 w
+.67527 .5369 m
+.57023 .61055 L
+s
+P
+p
+.0035 w
+.60005 .44925 m
+.67527 .5369 L
+s
+P
+p
+.0035 w
+.49389 .52341 m
+.42125 .61118 L
+s
+P
+p
+.0035 w
+.49389 .52341 m
+.57023 .61055 L
+s
+P
+p
+.0035 w
+.49392 .37647 m
+.60005 .44925 L
+s
+P
+p
+.0035 w
+.49392 .37647 m
+.38784 .45028 L
+s
+P
+p
+.0035 w
+.38784 .45028 m
+.49389 .52341 L
+s
+P
+p
+.0035 w
+.60005 .44925 m
+.49389 .52341 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45058 .54924 m
+.54683 .61395 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45058 .54924 m
+.36762 .60766 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54662 .47754 m
+.45058 .54924 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3682 .47051 m
+.45058 .54924 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54662 .47754 m
+.64346 .54193 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60201 .39242 m
+.54662 .47754 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4648 .39828 m
+.54662 .47754 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54683 .61395 m
+.60292 .6687 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54683 .61395 m
+.46448 .6734 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64346 .54193 m
+.54683 .61395 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64346 .54193 m
+.7011 .59561 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.7002 .45706 m
+.64346 .54193 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3682 .47051 m
+.2838 .52845 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34677 .38168 m
+.3682 .47051 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4648 .39828 m
+.3682 .47051 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44463 .3084 m
+.4648 .39828 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51965 .31174 m
+.4648 .39828 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36762 .60766 m
+.46448 .6734 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36762 .60766 m
+.34539 .66009 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.2838 .52845 m
+.36762 .60766 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60201 .39242 m
+.7002 .45706 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58359 .30207 m
+.60201 .39242 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51965 .31174 m
+.60201 .39242 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46448 .6734 m
+.51992 .72969 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46448 .6734 m
+.44388 .7273 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.7002 .45706 m
+.75937 .51001 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68301 .36708 m
+.7002 .45706 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.2838 .52845 m
+.25991 .5798 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26099 .4394 m
+.2838 .52845 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.51965 .31174 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34677 .38168 m
+.26099 .4394 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40101 .29387 m
+.34677 .38168 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44463 .3084 m
+.34677 .38168 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.44463 .3084 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60292 .6687 m
+.58473 .72276 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60292 .6687 m
+.51992 .72969 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.7011 .59561 m
+.60292 .6687 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.7011 .59561 m
+.68468 .64839 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.75937 .51001 m
+.7011 .59561 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58359 .30207 m
+.68301 .36708 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.58359 .30207 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34539 .66009 m
+.44388 .7273 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34539 .66009 m
+.39964 .71689 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.25991 .5798 m
+.34539 .66009 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68301 .36708 m
+.74271 .41933 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59962 .2847 m
+.68301 .36708 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40101 .29387 m
+.31488 .35125 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.40101 .29387 L
+s
+P
+p
+.0035 w
+.26099 .4394 m
+.23636 .48982 L
+s
+P
+p
+.0035 w
+.31488 .35125 m
+.26099 .4394 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.59962 .2847 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.55687 .26968 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.47972 .26614 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.41491 .2763 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51992 .72969 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.75937 .51001 m
+.74383 .56182 L
+s
+P
+p
+.0035 w
+.74271 .41933 m
+.75937 .51001 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44388 .7273 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.25991 .5798 m
+.31316 .6357 L
+s
+P
+p
+.0035 w
+.23636 .48982 m
+.25991 .5798 L
+s
+P
+p
+.0035 w
+.59962 .2847 m
+.6584 .33599 L
+s
+P
+p
+.0035 w
+.58473 .72276 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68468 .64839 m
+.58473 .72276 L
+s
+P
+p
+.0035 w
+.68468 .64839 m
+.601 .71032 L
+s
+P
+p
+.0035 w
+.74383 .56182 m
+.68468 .64839 L
+s
+P
+p
+.0035 w
+.31488 .35125 m
+.29096 .40061 L
+s
+P
+p
+.0035 w
+.41491 .2763 m
+.31488 .35125 L
+s
+P
+p
+.0035 w
+.41491 .2763 m
+.39282 .32432 L
+s
+P
+p
+.0035 w
+.39964 .71689 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31316 .6357 m
+.39964 .71689 L
+s
+P
+p
+.0035 w
+.74271 .41933 m
+.72664 .47017 L
+s
+P
+p
+.0035 w
+.6584 .33599 m
+.74271 .41933 L
+s
+P
+p
+.0035 w
+.55687 .26968 m
+.6584 .33599 L
+s
+P
+p
+.0035 w
+.55687 .26968 m
+.53732 .31779 L
+s
+P
+p
+.0035 w
+.23636 .48982 m
+.28998 .54505 L
+s
+P
+p
+.0035 w
+.29096 .40061 m
+.23636 .48982 L
+s
+P
+p
+.0035 w
+.47972 .26614 m
+.53732 .31779 L
+s
+P
+p
+.0035 w
+.47972 .26614 m
+.39282 .32432 L
+s
+P
+p
+.0035 w
+.47944 .69702 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.55767 .69955 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.601 .71032 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.41372 .7043 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.74383 .56182 m
+.65988 .62346 L
+s
+P
+p
+.0035 w
+.72664 .47017 m
+.74383 .56182 L
+s
+P
+p
+.0035 w
+.65988 .62346 m
+.601 .71032 L
+s
+P
+p
+.0035 w
+.31316 .6357 m
+.41372 .7043 L
+s
+P
+p
+.0035 w
+.28998 .54505 m
+.31316 .6357 L
+s
+P
+p
+.0035 w
+.6584 .33599 m
+.64064 .38562 L
+s
+P
+p
+.0035 w
+.39181 .6141 m
+.41372 .7043 L
+s
+P
+p
+.0035 w
+.29096 .40061 m
+.34609 .45502 L
+s
+P
+p
+.0035 w
+.39282 .32432 m
+.29096 .40061 L
+s
+P
+p
+.0035 w
+.39282 .32432 m
+.44967 .37753 L
+s
+P
+p
+.0035 w
+.53768 .60886 m
+.55767 .69955 L
+s
+P
+p
+.0035 w
+.65988 .62346 m
+.55767 .69955 L
+s
+P
+p
+.0035 w
+.64131 .53161 m
+.65988 .62346 L
+s
+P
+p
+.0035 w
+.53768 .60886 m
+.47944 .69702 L
+s
+P
+p
+.0035 w
+.39181 .6141 m
+.47944 .69702 L
+s
+P
+p
+.0035 w
+.72664 .47017 m
+.64131 .53161 L
+s
+P
+p
+.0035 w
+.64064 .38562 m
+.72664 .47017 L
+s
+P
+p
+.0035 w
+.28998 .54505 m
+.39181 .6141 L
+s
+P
+p
+.0035 w
+.34609 .45502 m
+.28998 .54505 L
+s
+P
+p
+.0035 w
+.53732 .31779 m
+.64064 .38562 L
+s
+P
+p
+.0035 w
+.53732 .31779 m
+.44967 .37753 L
+s
+P
+p
+.0035 w
+.44943 .52436 m
+.39181 .6141 L
+s
+P
+p
+.0035 w
+.64064 .38562 m
+.5537 .4465 L
+s
+P
+p
+.0035 w
+.64131 .53161 m
+.53768 .60886 L
+s
+P
+p
+.0035 w
+.44943 .52436 m
+.53768 .60886 L
+s
+P
+p
+.0035 w
+.5537 .4465 m
+.64131 .53161 L
+s
+P
+p
+.0035 w
+.34609 .45502 m
+.44943 .52436 L
+s
+P
+p
+.0035 w
+.44967 .37753 m
+.34609 .45502 L
+s
+P
+p
+.0035 w
+.44967 .37753 m
+.5537 .4465 L
+s
+P
+p
+.0035 w
+.5537 .4465 m
+.44943 .52436 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49493 .55014 m
+.58674 .61187 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49493 .55014 m
+.40448 .61122 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58635 .47521 m
+.49493 .55014 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40491 .47449 m
+.49493 .55014 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58635 .47521 m
+.67921 .53657 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62726 .38814 m
+.58635 .47521 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49639 .399 m
+.58635 .47521 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40491 .47449 m
+.31332 .53519 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36748 .38704 m
+.40491 .47449 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49639 .399 m
+.40491 .47449 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45998 .31029 m
+.49639 .399 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.53635 .31064 m
+.49639 .399 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58674 .61187 m
+.6284 .66527 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58674 .61187 m
+.49636 .67398 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67921 .53657 m
+.58674 .61187 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40448 .61122 m
+.49636 .67398 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40448 .61122 m
+.36629 .66439 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31332 .53519 m
+.40448 .61122 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67921 .53657 m
+.72259 .58889 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72159 .44955 m
+.67921 .53657 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31332 .53519 m
+.27341 .58726 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.27443 .44774 m
+.31332 .53519 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62726 .38814 m
+.72159 .44955 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5922 .29856 m
+.62726 .38814 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.53635 .31064 m
+.62726 .38814 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49636 .67398 m
+.53685 .7289 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49636 .67398 m
+.45943 .72865 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36748 .38704 m
+.27443 .44774 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40622 .29772 m
+.36748 .38704 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45998 .31029 m
+.36748 .38704 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.53635 .31064 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.45998 .31029 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72159 .44955 m
+.76623 .50104 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68744 .36003 m
+.72159 .44955 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6284 .66527 m
+.59347 .72025 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6284 .66527 m
+.53685 .7289 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72259 .58889 m
+.6284 .66527 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.27443 .44774 m
+.23332 .49896 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31234 .3584 m
+.27443 .44774 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36629 .66439 m
+.45943 .72865 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36629 .66439 m
+.40493 .71965 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.27341 .58726 m
+.36629 .66439 L
+s
+P
+p
+.0035 w
+.72259 .58889 m
+.68917 .64273 L
+s
+P
+p
+.0035 w
+.76623 .50104 m
+.72259 .58889 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5922 .29856 m
+.68744 .36003 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.5922 .29856 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40622 .29772 m
+.31234 .3584 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.40622 .29772 L
+s
+P
+p
+.0035 w
+.27341 .58726 m
+.31061 .64143 L
+s
+P
+p
+.0035 w
+.23332 .49896 m
+.27341 .58726 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.59489 .28078 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.54122 .26768 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.46254 .26732 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.4066 .27992 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.53685 .7289 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45943 .72865 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68744 .36003 m
+.73207 .41063 L
+s
+P
+p
+.0035 w
+.59489 .28078 m
+.68744 .36003 L
+s
+P
+p
+.0035 w
+.31234 .3584 m
+.27138 .4087 L
+s
+P
+p
+.0035 w
+.4066 .27992 m
+.31234 .3584 L
+s
+P
+p
+.0035 w
+.59489 .28078 m
+.6381 .33022 L
+s
+P
+p
+.0035 w
+.76623 .50104 m
+.73315 .55402 L
+s
+P
+p
+.0035 w
+.73207 .41063 m
+.76623 .50104 L
+s
+P
+p
+.0035 w
+.4066 .27992 m
+.36716 .32902 L
+s
+P
+p
+.0035 w
+.59347 .72025 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68917 .64273 m
+.59347 .72025 L
+s
+P
+p
+.0035 w
+.23332 .49896 m
+.27031 .55229 L
+s
+P
+p
+.0035 w
+.27138 .4087 m
+.23332 .49896 L
+s
+P
+p
+.0035 w
+.40493 .71965 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31061 .64143 m
+.40493 .71965 L
+s
+P
+p
+.0035 w
+.68917 .64273 m
+.59621 .70751 L
+s
+P
+p
+.0035 w
+.73315 .55402 m
+.68917 .64273 L
+s
+P
+p
+.0035 w
+.31061 .64143 m
+.4053 .70689 L
+s
+P
+p
+.0035 w
+.27031 .55229 m
+.31061 .64143 L
+s
+P
+p
+.0035 w
+.54122 .26768 m
+.6381 .33022 L
+s
+P
+p
+.0035 w
+.54122 .26768 m
+.50383 .31698 L
+s
+P
+p
+.0035 w
+.46254 .26732 m
+.50383 .31698 L
+s
+P
+p
+.0035 w
+.46254 .26732 m
+.36716 .32902 L
+s
+P
+p
+.0035 w
+.46201 .69786 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.5418 .69812 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.59621 .70751 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.4053 .70689 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.73207 .41063 m
+.69795 .46269 L
+s
+P
+p
+.0035 w
+.6381 .33022 m
+.73207 .41063 L
+s
+P
+p
+.0035 w
+.6394 .61883 m
+.59621 .70751 L
+s
+P
+p
+.0035 w
+.36591 .61787 m
+.4053 .70689 L
+s
+P
+p
+.0035 w
+.27138 .4087 m
+.30952 .46113 L
+s
+P
+p
+.0035 w
+.36716 .32902 m
+.27138 .4087 L
+s
+P
+p
+.0035 w
+.6381 .33022 m
+.60214 .38106 L
+s
+P
+p
+.0035 w
+.73315 .55402 m
+.6394 .61883 L
+s
+P
+p
+.0035 w
+.69795 .46269 m
+.73315 .55402 L
+s
+P
+p
+.0035 w
+.36716 .32902 m
+.40714 .38023 L
+s
+P
+p
+.0035 w
+.27031 .55229 m
+.36591 .61787 L
+s
+P
+p
+.0035 w
+.30952 .46113 m
+.27031 .55229 L
+s
+P
+p
+.0035 w
+.50387 .60821 m
+.5418 .69812 L
+s
+P
+p
+.0035 w
+.6394 .61883 m
+.5418 .69812 L
+s
+P
+p
+.0035 w
+.50387 .60821 m
+.46201 .69786 L
+s
+P
+p
+.0035 w
+.36591 .61787 m
+.46201 .69786 L
+s
+P
+p
+.0035 w
+.60263 .52753 m
+.6394 .61883 L
+s
+P
+p
+.0035 w
+.50383 .31698 m
+.60214 .38106 L
+s
+P
+p
+.0035 w
+.50383 .31698 m
+.40714 .38023 L
+s
+P
+p
+.0035 w
+.4067 .52678 m
+.36591 .61787 L
+s
+P
+p
+.0035 w
+.69795 .46269 m
+.60263 .52753 L
+s
+P
+p
+.0035 w
+.60214 .38106 m
+.69795 .46269 L
+s
+P
+p
+.0035 w
+.30952 .46113 m
+.4067 .52678 L
+s
+P
+p
+.0035 w
+.40714 .38023 m
+.30952 .46113 L
+s
+P
+p
+.0035 w
+.60214 .38106 m
+.50552 .44544 L
+s
+P
+p
+.0035 w
+.40714 .38023 m
+.50552 .44544 L
+s
+P
+p
+.0035 w
+.60263 .52753 m
+.50387 .60821 L
+s
+P
+p
+.0035 w
+.4067 .52678 m
+.50387 .60821 L
+s
+P
+p
+.0035 w
+.50552 .44544 m
+.60263 .52753 L
+s
+P
+p
+.0035 w
+.50552 .44544 m
+.4067 .52678 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.53942 .54957 m
+.62429 .60857 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.53942 .54957 m
+.44395 .61359 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62374 .47153 m
+.53942 .54957 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4442 .47713 m
+.53942 .54957 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4442 .47713 m
+.34803 .54082 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39197 .39153 m
+.4442 .47713 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52808 .39855 m
+.4442 .47713 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44395 .61359 m
+.52833 .67361 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44395 .61359 m
+.391 .66799 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34803 .54082 m
+.44395 .61359 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62374 .47153 m
+.71 .53007 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64889 .38296 m
+.62374 .47153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52808 .39855 m
+.62374 .47153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34803 .54082 m
+.29349 .59415 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29441 .45543 m
+.34803 .54082 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.47649 .31155 m
+.52808 .39855 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55201 .30889 m
+.52808 .39855 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62429 .60857 m
+.65023 .66112 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62429 .60857 m
+.52833 .67361 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71 .53007 m
+.62429 .60857 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39197 .39153 m
+.29441 .45543 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.41423 .3013 m
+.39197 .39153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.47649 .31155 m
+.39197 .39153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52833 .67361 m
+.55271 .72764 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52833 .67361 m
+.47617 .72955 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71 .53007 m
+.73763 .58154 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73656 .44134 m
+.71 .53007 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29441 .45543 m
+.23838 .508 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3155 .3655 m
+.29441 .45543 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.47649 .31155 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64889 .38296 m
+.73656 .44134 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59807 .29476 m
+.64889 .38296 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55201 .30889 m
+.64889 .38296 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.55201 .30889 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.391 .66799 m
+.47617 .72955 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.391 .66799 m
+.41305 .72221 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29349 .59415 m
+.391 .66799 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29349 .59415 m
+.31381 .64712 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.23838 .508 m
+.29349 .59415 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.41423 .3013 m
+.3155 .3655 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.41423 .3013 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65023 .66112 m
+.59942 .71753 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65023 .66112 m
+.55271 .72764 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73763 .58154 m
+.65023 .66112 L
+s
+P
+p
+.0035 w
+.73656 .44134 m
+.76505 .49189 L
+s
+P
+p
+.0035 w
+.6862 .35287 m
+.73656 .44134 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59807 .29476 m
+.6862 .35287 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.59807 .29476 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3155 .3655 m
+.25905 .41733 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40119 .2838 m
+.3155 .3655 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.58722 .2771 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.52426 .26634 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.44655 .26917 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.40119 .2838 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.47617 .72955 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55271 .72764 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.73763 .58154 m
+.68792 .637 L
+s
+P
+p
+.0035 w
+.76505 .49189 m
+.73763 .58154 L
+s
+P
+p
+.0035 w
+.23838 .508 m
+.25794 .56002 L
+s
+P
+p
+.0035 w
+.25905 .41733 m
+.23838 .508 L
+s
+P
+p
+.0035 w
+.40119 .2838 m
+.34579 .33461 L
+s
+P
+p
+.0035 w
+.41305 .72221 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31381 .64712 m
+.41305 .72221 L
+s
+P
+p
+.0035 w
+.31381 .64712 m
+.39982 .70967 L
+s
+P
+p
+.0035 w
+.25794 .56002 m
+.31381 .64712 L
+s
+P
+p
+.0035 w
+.6862 .35287 m
+.71411 .40239 L
+s
+P
+p
+.0035 w
+.58722 .2771 m
+.6862 .35287 L
+s
+P
+p
+.0035 w
+.58722 .2771 m
+.61335 .3253 L
+s
+P
+p
+.0035 w
+.59942 .71753 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68792 .637 m
+.59942 .71753 L
+s
+P
+p
+.0035 w
+.76505 .49189 m
+.71511 .54664 L
+s
+P
+p
+.0035 w
+.71411 .40239 m
+.76505 .49189 L
+s
+P
+p
+.0035 w
+.25905 .41733 m
+.27926 .46839 L
+s
+P
+p
+.0035 w
+.34579 .33461 m
+.25905 .41733 L
+s
+P
+p
+.0035 w
+.44655 .26917 m
+.47022 .31749 L
+s
+P
+p
+.0035 w
+.44655 .26917 m
+.34579 .33461 L
+s
+P
+p
+.0035 w
+.52426 .26634 m
+.61335 .3253 L
+s
+P
+p
+.0035 w
+.52426 .26634 m
+.47022 .31749 L
+s
+P
+p
+.0035 w
+.4458 .69919 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.5246 .69717 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.58844 .70487 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.39982 .70967 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68792 .637 m
+.58844 .70487 L
+s
+P
+p
+.0035 w
+.71511 .54664 m
+.68792 .637 L
+s
+P
+p
+.0035 w
+.34435 .62236 m
+.39982 .70967 L
+s
+P
+p
+.0035 w
+.25794 .56002 m
+.34435 .62236 L
+s
+P
+p
+.0035 w
+.27926 .46839 m
+.25794 .56002 L
+s
+P
+p
+.0035 w
+.34579 .33461 m
+.36774 .38446 L
+s
+P
+p
+.0035 w
+.61442 .61489 m
+.58844 .70487 L
+s
+P
+p
+.0035 w
+.71411 .40239 m
+.66272 .4563 L
+s
+P
+p
+.0035 w
+.61335 .3253 m
+.71411 .40239 L
+s
+P
+p
+.0035 w
+.61335 .3253 m
+.5602 .378 L
+s
+P
+p
+.0035 w
+.46994 .60862 m
+.4458 .69919 L
+s
+P
+p
+.0035 w
+.34435 .62236 m
+.4458 .69919 L
+s
+P
+p
+.0035 w
+.36711 .53057 m
+.34435 .62236 L
+s
+P
+p
+.0035 w
+.46994 .60862 m
+.5246 .69717 L
+s
+P
+p
+.0035 w
+.61442 .61489 m
+.5246 .69717 L
+s
+P
+p
+.0035 w
+.71511 .54664 m
+.61442 .61489 L
+s
+P
+p
+.0035 w
+.66272 .4563 m
+.71511 .54664 L
+s
+P
+p
+.0035 w
+.27926 .46839 m
+.36711 .53057 L
+s
+P
+p
+.0035 w
+.36774 .38446 m
+.27926 .46839 L
+s
+P
+p
+.0035 w
+.47022 .31749 m
+.5602 .378 L
+s
+P
+p
+.0035 w
+.47022 .31749 m
+.36774 .38446 L
+s
+P
+p
+.0035 w
+.56048 .52479 m
+.61442 .61489 L
+s
+P
+p
+.0035 w
+.36774 .38446 m
+.45714 .44611 L
+s
+P
+p
+.0035 w
+.56048 .52479 m
+.46994 .60862 L
+s
+P
+p
+.0035 w
+.36711 .53057 m
+.46994 .60862 L
+s
+P
+p
+.0035 w
+.66272 .4563 m
+.56048 .52479 L
+s
+P
+p
+.0035 w
+.5602 .378 m
+.66272 .4563 L
+s
+P
+p
+.0035 w
+.45714 .44611 m
+.36711 .53057 L
+s
+P
+p
+.0035 w
+.5602 .378 m
+.45714 .44611 L
+s
+P
+p
+.0035 w
+.45714 .44611 m
+.56048 .52479 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.485 .47837 m
+.58285 .54756 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.485 .47837 m
+.3869 .54521 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.41952 .39505 m
+.485 .47837 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55899 .39693 m
+.485 .47837 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58285 .54756 m
+.65843 .60414 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58285 .54756 m
+.48494 .6147 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65772 .46658 m
+.58285 .54756 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3869 .54521 m
+.48494 .6147 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3869 .54521 m
+.31945 .60027 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32026 .46226 m
+.3869 .54521 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48494 .6147 m
+.55952 .67232 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48494 .6147 m
+.4188 .67081 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55899 .39693 m
+.65772 .46658 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49368 .31214 m
+.55899 .39693 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56614 .30654 m
+.55899 .39693 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65772 .46658 m
+.73488 .5226 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66623 .37703 m
+.65772 .46658 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.41952 .39505 m
+.32026 .46226 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42478 .3045 m
+.41952 .39505 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49368 .31214 m
+.41952 .39505 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32026 .46226 m
+.25121 .51667 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32418 .37234 m
+.32026 .46226 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65843 .60414 m
+.66774 .65637 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65843 .60414 m
+.55952 .67232 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73488 .5226 m
+.65843 .60414 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55952 .67232 m
+.56704 .72597 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55952 .67232 m
+.49359 .72997 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31945 .60027 m
+.4188 .67081 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31945 .60027 m
+.32258 .6526 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.25121 .51667 m
+.31945 .60027 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.49368 .31214 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4188 .67081 m
+.49359 .72997 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4188 .67081 m
+.42375 .72451 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56614 .30654 m
+.66623 .37703 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.56614 .30654 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73488 .5226 m
+.74568 .57376 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74456 .43267 m
+.73488 .5226 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66623 .37703 m
+.74456 .43267 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60099 .29077 m
+.66623 .37703 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42478 .3045 m
+.32418 .37234 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.42478 .3045 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32418 .37234 m
+.25423 .42621 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39881 .28782 m
+.32418 .37234 L
+s
+P
+p
+.0035 w
+.25121 .51667 m
+.2531 .56798 L
+s
+P
+p
+.0035 w
+.25423 .42621 m
+.25121 .51667 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49359 .72997 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.60099 .29077 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.57684 .27377 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.50653 .26572 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.43224 .27163 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.39881 .28782 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66774 .65637 m
+.56704 .72597 L
+s
+P
+p
+.0035 w
+.66774 .65637 m
+.60238 .71467 L
+s
+P
+p
+.0035 w
+.74568 .57376 m
+.66774 .65637 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60099 .29077 m
+.67924 .34583 L
+s
+P
+p
+.0035 w
+.39881 .28782 m
+.32935 .34092 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56704 .72597 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32258 .6526 m
+.42375 .72451 L
+s
+P
+p
+.0035 w
+.32258 .6526 m
+.39741 .71256 L
+s
+P
+p
+.0035 w
+.2531 .56798 m
+.32258 .6526 L
+s
+P
+p
+.0035 w
+.74456 .43267 m
+.75569 .48287 L
+s
+P
+p
+.0035 w
+.67924 .34583 m
+.74456 .43267 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42375 .72451 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.74568 .57376 m
+.68091 .63135 L
+s
+P
+p
+.0035 w
+.75569 .48287 m
+.74568 .57376 L
+s
+P
+p
+.0035 w
+.25423 .42621 m
+.2562 .47654 L
+s
+P
+p
+.0035 w
+.32935 .34092 m
+.25423 .42621 L
+s
+P
+p
+.0035 w
+.57684 .27377 m
+.67924 .34583 L
+s
+P
+p
+.0035 w
+.57684 .27377 m
+.5849 .32141 L
+s
+P
+p
+.0035 w
+.2531 .56798 m
+.32776 .62741 L
+s
+P
+p
+.0035 w
+.2562 .47654 m
+.2531 .56798 L
+s
+P
+p
+.0035 w
+.67924 .34583 m
+.68925 .3949 L
+s
+P
+p
+.0035 w
+.43224 .27163 m
+.43759 .31931 L
+s
+P
+p
+.0035 w
+.43224 .27163 m
+.32935 .34092 L
+s
+P
+p
+.0035 w
+.60238 .71467 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68091 .63135 m
+.60238 .71467 L
+s
+P
+p
+.0035 w
+.39741 .71256 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.32776 .62741 m
+.39741 .71256 L
+s
+P
+p
+.0035 w
+.32935 .34092 m
+.33277 .39007 L
+s
+P
+p
+.0035 w
+.4313 .70096 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.50662 .69672 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.57791 .70249 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.50653 .26572 m
+.5849 .32141 L
+s
+P
+p
+.0035 w
+.50653 .26572 m
+.43759 .31931 L
+s
+P
+p
+.0035 w
+.75569 .48287 m
+.69014 .53993 L
+s
+P
+p
+.0035 w
+.68925 .3949 m
+.75569 .48287 L
+s
+P
+p
+.0035 w
+.68091 .63135 m
+.57791 .70249 L
+s
+P
+p
+.0035 w
+.69014 .53993 m
+.68091 .63135 L
+s
+P
+p
+.0035 w
+.58571 .61177 m
+.57791 .70249 L
+s
+P
+p
+.0035 w
+.32776 .62741 m
+.4313 .70096 L
+s
+P
+p
+.0035 w
+.33198 .5356 m
+.32776 .62741 L
+s
+P
+p
+.0035 w
+.2562 .47654 m
+.33198 .5356 L
+s
+P
+p
+.0035 w
+.33277 .39007 m
+.2562 .47654 L
+s
+P
+p
+.0035 w
+.437 .61008 m
+.4313 .70096 L
+s
+P
+p
+.0035 w
+.5849 .32141 m
+.68925 .3949 L
+s
+P
+p
+.0035 w
+.5849 .32141 m
+.51621 .37656 L
+s
+P
+p
+.0035 w
+.437 .61008 m
+.50662 .69672 L
+s
+P
+p
+.0035 w
+.58571 .61177 m
+.50662 .69672 L
+s
+P
+p
+.0035 w
+.68925 .3949 m
+.62203 .45123 L
+s
+P
+p
+.0035 w
+.43759 .31931 m
+.51621 .37656 L
+s
+P
+p
+.0035 w
+.43759 .31931 m
+.33277 .39007 L
+s
+P
+p
+.0035 w
+.33277 .39007 m
+.41024 .44848 L
+s
+P
+p
+.0035 w
+.69014 .53993 m
+.58571 .61177 L
+s
+P
+p
+.0035 w
+.62203 .45123 m
+.69014 .53993 L
+s
+P
+p
+.0035 w
+.51629 .5235 m
+.58571 .61177 L
+s
+P
+p
+.0035 w
+.33198 .5356 m
+.437 .61008 L
+s
+P
+p
+.0035 w
+.41024 .44848 m
+.33198 .5356 L
+s
+P
+p
+.0035 w
+.51629 .5235 m
+.437 .61008 L
+s
+P
+p
+.0035 w
+.51621 .37656 m
+.62203 .45123 L
+s
+P
+p
+.0035 w
+.51621 .37656 m
+.41024 .44848 L
+s
+P
+p
+.0035 w
+.62203 .45123 m
+.51629 .5235 L
+s
+P
+p
+.0035 w
+.41024 .44848 m
+.51629 .5235 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52621 .47817 m
+.62405 .54414 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52621 .47817 m
+.42882 .54825 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44931 .39749 m
+.52621 .47817 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58825 .39419 m
+.52621 .47817 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42882 .54825 m
+.52633 .61452 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42882 .54825 m
+.35049 .60546 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35115 .46805 m
+.42882 .54825 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62405 .54414 m
+.68817 .59868 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62405 .54414 m
+.52633 .61452 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68733 .46049 m
+.62405 .54414 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52633 .61452 m
+.58904 .67012 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52633 .61452 m
+.44886 .67276 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44931 .39749 m
+.35115 .46805 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43754 .30724 m
+.44931 .39749 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51105 .31205 m
+.44931 .39749 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35115 .46805 m
+.27127 .52473 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33804 .37872 m
+.35115 .46805 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58825 .39419 m
+.68733 .46049 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51105 .31205 m
+.58825 .39419 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57834 .30367 m
+.58825 .39419 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35049 .60546 m
+.44886 .67276 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35049 .60546 m
+.33657 .65772 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.27127 .52473 m
+.35049 .60546 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68733 .46049 m
+.75303 .51436 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67872 .37051 m
+.68733 .46049 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44886 .67276 m
+.5112 .72991 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44886 .67276 m
+.43669 .72646 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.51105 .31205 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68817 .59868 m
+.68035 .65114 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68817 .59868 m
+.58904 .67012 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.75303 .51436 m
+.68817 .59868 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58904 .67012 m
+.57941 .72391 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58904 .67012 m
+.5112 .72991 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.27127 .52473 m
+.2558 .57591 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.25691 .43507 m
+.27127 .52473 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43754 .30724 m
+.33804 .37872 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.43754 .30724 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33804 .37872 m
+.25691 .43507 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39951 .29187 m
+.33804 .37872 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57834 .30367 m
+.67872 .37051 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.57834 .30367 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67872 .37051 m
+.7452 .42378 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60085 .28672 m
+.67872 .37051 L
+s
+P
+p
+.0035 w
+.75303 .51436 m
+.74633 .5658 L
+s
+P
+p
+.0035 w
+.7452 .42378 m
+.75303 .51436 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33657 .65772 m
+.43669 .72646 L
+s
+P
+p
+.0035 w
+.33657 .65772 m
+.39812 .71546 L
+s
+P
+p
+.0035 w
+.2558 .57591 m
+.33657 .65772 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5112 .72991 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.39951 .29187 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.60085 .28672 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.56405 .27091 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.48859 .26582 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.42008 .27463 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39951 .29187 m
+.3183 .34773 L
+s
+P
+p
+.0035 w
+.25691 .43507 m
+.24095 .4853 L
+s
+P
+p
+.0035 w
+.3183 .34773 m
+.25691 .43507 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43669 .72646 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.60085 .28672 m
+.66668 .33914 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68035 .65114 m
+.57941 .72391 L
+s
+P
+p
+.0035 w
+.68035 .65114 m
+.60225 .71176 L
+s
+P
+p
+.0035 w
+.74633 .5658 m
+.68035 .65114 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57941 .72391 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.2558 .57591 m
+.31661 .63287 L
+s
+P
+p
+.0035 w
+.24095 .4853 m
+.2558 .57591 L
+s
+P
+p
+.0035 w
+.7452 .42378 m
+.73826 .47424 L
+s
+P
+p
+.0035 w
+.66668 .33914 m
+.7452 .42378 L
+s
+P
+p
+.0035 w
+.42008 .27463 m
+.40702 .32236 L
+s
+P
+p
+.0035 w
+.42008 .27463 m
+.3183 .34773 L
+s
+P
+p
+.0035 w
+.3183 .34773 m
+.30332 .39685 L
+s
+P
+p
+.0035 w
+.39812 .71546 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31661 .63287 m
+.39812 .71546 L
+s
+P
+p
+.0035 w
+.56405 .27091 m
+.66668 .33914 L
+s
+P
+p
+.0035 w
+.56405 .27091 m
+.55367 .31869 L
+s
+P
+p
+.0035 w
+.74633 .5658 m
+.66824 .62599 L
+s
+P
+p
+.0035 w
+.73826 .47424 m
+.74633 .5658 L
+s
+P
+p
+.0035 w
+.60225 .71176 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.66824 .62599 m
+.60225 .71176 L
+s
+P
+p
+.0035 w
+.41896 .70311 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.48843 .69679 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.56495 .70043 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.48859 .26582 m
+.55367 .31869 L
+s
+P
+p
+.0035 w
+.48859 .26582 m
+.40702 .32236 L
+s
+P
+p
+.0035 w
+.66668 .33914 m
+.6582 .38841 L
+s
+P
+p
+.0035 w
+.24095 .4853 m
+.3024 .54168 L
+s
+P
+p
+.0035 w
+.30332 .39685 m
+.24095 .4853 L
+s
+P
+p
+.0035 w
+.31661 .63287 m
+.41896 .70311 L
+s
+P
+p
+.0035 w
+.3024 .54168 m
+.31661 .63287 L
+s
+P
+p
+.0035 w
+.40614 .61253 m
+.41896 .70311 L
+s
+P
+p
+.0035 w
+.66824 .62599 m
+.56495 .70043 L
+s
+P
+p
+.0035 w
+.65895 .53412 m
+.66824 .62599 L
+s
+P
+p
+.0035 w
+.55418 .60958 m
+.56495 .70043 L
+s
+P
+p
+.0035 w
+.73826 .47424 m
+.65895 .53412 L
+s
+P
+p
+.0035 w
+.6582 .38841 m
+.73826 .47424 L
+s
+P
+p
+.0035 w
+.40702 .32236 m
+.47167 .37679 L
+s
+P
+p
+.0035 w
+.40702 .32236 m
+.30332 .39685 L
+s
+P
+p
+.0035 w
+.30332 .39685 m
+.3664 .45247 L
+s
+P
+p
+.0035 w
+.40614 .61253 m
+.48843 .69679 L
+s
+P
+p
+.0035 w
+.55418 .60958 m
+.48843 .69679 L
+s
+P
+p
+.0035 w
+.55367 .31869 m
+.6582 .38841 L
+s
+P
+p
+.0035 w
+.55367 .31869 m
+.47167 .37679 L
+s
+P
+p
+.0035 w
+.3024 .54168 m
+.40614 .61253 L
+s
+P
+p
+.0035 w
+.3664 .45247 m
+.3024 .54168 L
+s
+P
+p
+.0035 w
+.6582 .38841 m
+.57721 .44767 L
+s
+P
+p
+.0035 w
+.47154 .5237 m
+.40614 .61253 L
+s
+P
+p
+.0035 w
+.65895 .53412 m
+.55418 .60958 L
+s
+P
+p
+.0035 w
+.57721 .44767 m
+.65895 .53412 L
+s
+P
+p
+.0035 w
+.47154 .5237 m
+.55418 .60958 L
+s
+P
+p
+.0035 w
+.47167 .37679 m
+.57721 .44767 L
+s
+P
+p
+.0035 w
+.47167 .37679 m
+.3664 .45247 L
+s
+P
+p
+.0035 w
+.3664 .45247 m
+.47154 .5237 L
+s
+P
+p
+.0035 w
+.57721 .44767 m
+.47154 .5237 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.47266 .54987 m
+.56701 .61307 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.47266 .54987 m
+.38566 .60959 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.38616 .47267 m
+.47266 .54987 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56671 .47655 m
+.47266 .54987 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56671 .47655 m
+.66189 .5394 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48052 .39879 m
+.56671 .47655 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.61504 .3904 m
+.56671 .47655 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.38616 .47267 m
+.29785 .53195 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35661 .38446 m
+.38616 .47267 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48052 .39879 m
+.38616 .47267 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56701 .61307 m
+.61607 .66708 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56701 .61307 m
+.48035 .6738 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66189 .5394 m
+.56701 .61307 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45213 .30942 m
+.48052 .39879 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5281 .31127 m
+.48052 .39879 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66189 .5394 m
+.71261 .59234 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71165 .45341 m
+.66189 .5394 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.38566 .60959 m
+.48035 .6738 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.38566 .60959 m
+.35532 .66232 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29785 .53195 m
+.38566 .60959 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.61504 .3904 m
+.71165 .45341 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5281 .31127 m
+.61504 .3904 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58822 .30036 m
+.61504 .3904 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29785 .53195 m
+.2658 .58359 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26685 .44364 m
+.29785 .53195 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48035 .6738 m
+.52849 .72935 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48035 .6738 m
+.45148 .72803 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35661 .38446 m
+.26685 .44364 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40325 .29582 m
+.35661 .38446 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45213 .30942 m
+.35661 .38446 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.5281 .31127 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.45213 .30942 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71165 .45341 m
+.76379 .50556 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68592 .36358 m
+.71165 .45341 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.61607 .66708 m
+.58943 .72154 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.61607 .66708 m
+.52849 .72935 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71261 .59234 m
+.61607 .66708 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71261 .59234 m
+.68763 .64558 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.76379 .50556 m
+.71261 .59234 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58822 .30036 m
+.68592 .36358 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.58822 .30036 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35532 .66232 m
+.45148 .72803 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.35532 .66232 m
+.40192 .71829 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.2658 .58359 m
+.35532 .66232 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26685 .44364 m
+.23382 .49439 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31289 .35482 m
+.26685 .44364 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40325 .29582 m
+.31289 .35482 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.40325 .29582 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.59763 .28272 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.54924 .2686 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.47102 .26664 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.41041 .27807 L
+s
+P
+p
+.0035 w
+.2658 .58359 m
+.31116 .63856 L
+s
+P
+p
+.0035 w
+.23382 .49439 m
+.2658 .58359 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52849 .72935 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68592 .36358 m
+.73833 .41494 L
+s
+P
+p
+.0035 w
+.59763 .28272 m
+.68592 .36358 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45148 .72803 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.76379 .50556 m
+.73943 .55788 L
+s
+P
+p
+.0035 w
+.73833 .41494 m
+.76379 .50556 L
+s
+P
+p
+.0035 w
+.59763 .28272 m
+.64885 .33301 L
+s
+P
+p
+.0035 w
+.31289 .35482 m
+.28029 .40457 L
+s
+P
+p
+.0035 w
+.41041 .27807 m
+.31289 .35482 L
+s
+P
+p
+.0035 w
+.58943 .72154 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68763 .64558 m
+.58943 .72154 L
+s
+P
+p
+.0035 w
+.41041 .27807 m
+.3795 .32655 L
+s
+P
+p
+.0035 w
+.68763 .64558 m
+.59899 .7089 L
+s
+P
+p
+.0035 w
+.73943 .55788 m
+.68763 .64558 L
+s
+P
+p
+.0035 w
+.40192 .71829 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31116 .63856 m
+.40192 .71829 L
+s
+P
+p
+.0035 w
+.23382 .49439 m
+.27926 .5486 L
+s
+P
+p
+.0035 w
+.28029 .40457 m
+.23382 .49439 L
+s
+P
+p
+.0035 w
+.54924 .2686 m
+.64885 .33301 L
+s
+P
+p
+.0035 w
+.54924 .2686 m
+.52066 .31722 L
+s
+P
+p
+.0035 w
+.31116 .63856 m
+.40916 .70557 L
+s
+P
+p
+.0035 w
+.27926 .5486 m
+.31116 .63856 L
+s
+P
+p
+.0035 w
+.47102 .26664 m
+.52066 .31722 L
+s
+P
+p
+.0035 w
+.47102 .26664 m
+.3795 .32655 L
+s
+P
+p
+.0035 w
+.73833 .41494 m
+.71317 .46631 L
+s
+P
+p
+.0035 w
+.64885 .33301 m
+.73833 .41494 L
+s
+P
+p
+.0035 w
+.40916 .70557 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.47061 .69738 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.54993 .69878 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.59899 .7089 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.65024 .62107 m
+.59899 .7089 L
+s
+P
+p
+.0035 w
+.73943 .55788 m
+.65024 .62107 L
+s
+P
+p
+.0035 w
+.71317 .46631 m
+.73943 .55788 L
+s
+P
+p
+.0035 w
+.64885 .33301 m
+.6219 .38316 L
+s
+P
+p
+.0035 w
+.37836 .61588 m
+.40916 .70557 L
+s
+P
+p
+.0035 w
+.28029 .40457 m
+.32708 .45792 L
+s
+P
+p
+.0035 w
+.3795 .32655 m
+.28029 .40457 L
+s
+P
+p
+.0035 w
+.3795 .32655 m
+.4281 .37868 L
+s
+P
+p
+.0035 w
+.27926 .5486 m
+.37836 .61588 L
+s
+P
+p
+.0035 w
+.32708 .45792 m
+.27926 .5486 L
+s
+P
+p
+.0035 w
+.52086 .60841 m
+.54993 .69878 L
+s
+P
+p
+.0035 w
+.65024 .62107 m
+.54993 .69878 L
+s
+P
+p
+.0035 w
+.37836 .61588 m
+.47061 .69738 L
+s
+P
+p
+.0035 w
+.52086 .60841 m
+.47061 .69738 L
+s
+P
+p
+.0035 w
+.62248 .52941 m
+.65024 .62107 L
+s
+P
+p
+.0035 w
+.52066 .31722 m
+.6219 .38316 L
+s
+P
+p
+.0035 w
+.52066 .31722 m
+.4281 .37868 L
+s
+P
+p
+.0035 w
+.71317 .46631 m
+.62248 .52941 L
+s
+P
+p
+.0035 w
+.6219 .38316 m
+.71317 .46631 L
+s
+P
+p
+.0035 w
+.42776 .52539 m
+.37836 .61588 L
+s
+P
+p
+.0035 w
+.6219 .38316 m
+.52974 .44575 L
+s
+P
+p
+.0035 w
+.32708 .45792 m
+.42776 .52539 L
+s
+P
+p
+.0035 w
+.4281 .37868 m
+.32708 .45792 L
+s
+P
+p
+.0035 w
+.42776 .52539 m
+.52086 .60841 L
+s
+P
+p
+.0035 w
+.62248 .52941 m
+.52086 .60841 L
+s
+P
+p
+.0035 w
+.4281 .37868 m
+.52974 .44575 L
+s
+P
+p
+.0035 w
+.52974 .44575 m
+.62248 .52941 L
+s
+P
+p
+.0035 w
+.52974 .44575 m
+.42776 .52539 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51723 .55004 m
+.60587 .61037 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51723 .55004 m
+.42396 .61256 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42429 .47598 m
+.51723 .55004 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60541 .47354 m
+.51723 .55004 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42429 .47598 m
+.33009 .53815 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3793 .3894 m
+.42429 .47598 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51228 .39892 m
+.42429 .47598 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60541 .47354 m
+.69528 .53345 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51228 .39892 m
+.60541 .47354 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.63857 .38565 m
+.60541 .47354 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42396 .61256 m
+.51239 .67391 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42396 .61256 m
+.37821 .66628 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33009 .53815 m
+.42396 .61256 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46812 .311 m
+.51228 .39892 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54434 .30984 m
+.51228 .39892 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60587 .61037 m
+.63982 .66328 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60587 .61037 m
+.51239 .67391 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.69528 .53345 m
+.60587 .61037 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33009 .53815 m
+.28266 .59079 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.28364 .45168 m
+.33009 .53815 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.69528 .53345 m
+.73095 .58528 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72991 .44552 m
+.69528 .53345 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3793 .3894 m
+.28364 .45168 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40989 .29955 m
+.3793 .3894 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46812 .311 m
+.3793 .3894 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51239 .67391 m
+.54495 .72832 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51239 .67391 m
+.46768 .72916 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.63857 .38565 m
+.72991 .44552 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54434 .30984 m
+.63857 .38565 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59549 .29669 m
+.63857 .38565 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.46812 .311 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.54434 .30984 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.28364 .45168 m
+.23485 .50351 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31321 .36197 m
+.28364 .45168 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.37821 .66628 m
+.46768 .72916 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.37821 .66628 m
+.40865 .72096 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.28266 .59079 m
+.37821 .66628 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.63982 .66328 m
+.5968 .71891 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.63982 .66328 m
+.54495 .72832 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73095 .58528 m
+.63982 .66328 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.28266 .59079 m
+.3115 .64429 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.23485 .50351 m
+.28266 .59079 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72991 .44552 m
+.76666 .49647 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68754 .35645 m
+.72991 .44552 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40989 .29955 m
+.31321 .36197 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.40989 .29955 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59549 .29669 m
+.68754 .35645 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.59549 .29669 L
+s
+P
+p
+.0035 w
+.73095 .58528 m
+.68927 .63986 L
+s
+P
+p
+.0035 w
+.76666 .49647 m
+.73095 .58528 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.59141 .2789 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.53287 .26693 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.45436 .26816 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.40352 .28183 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46768 .72916 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54495 .72832 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31321 .36197 m
+.26429 .41297 L
+s
+P
+p
+.0035 w
+.40352 .28183 m
+.31321 .36197 L
+s
+P
+p
+.0035 w
+.23485 .50351 m
+.26319 .55611 L
+s
+P
+p
+.0035 w
+.26429 .41297 m
+.23485 .50351 L
+s
+P
+p
+.0035 w
+.68754 .35645 m
+.72399 .40643 L
+s
+P
+p
+.0035 w
+.59141 .2789 m
+.68754 .35645 L
+s
+P
+p
+.0035 w
+.40352 .28183 m
+.35589 .33171 L
+s
+P
+p
+.0035 w
+.40865 .72096 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.3115 .64429 m
+.40865 .72096 L
+s
+P
+p
+.0035 w
+.59141 .2789 m
+.62624 .32764 L
+s
+P
+p
+.0035 w
+.5968 .71891 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68927 .63986 m
+.5968 .71891 L
+s
+P
+p
+.0035 w
+.3115 .64429 m
+.40218 .70826 L
+s
+P
+p
+.0035 w
+.26319 .55611 m
+.3115 .64429 L
+s
+P
+p
+.0035 w
+.76666 .49647 m
+.72503 .55026 L
+s
+P
+p
+.0035 w
+.72399 .40643 m
+.76666 .49647 L
+s
+P
+p
+.0035 w
+.68927 .63986 m
+.59268 .70616 L
+s
+P
+p
+.0035 w
+.72503 .55026 m
+.68927 .63986 L
+s
+P
+p
+.0035 w
+.45436 .26816 m
+.48697 .31707 L
+s
+P
+p
+.0035 w
+.45436 .26816 m
+.35589 .33171 L
+s
+P
+p
+.0035 w
+.53287 .26693 m
+.62624 .32764 L
+s
+P
+p
+.0035 w
+.53287 .26693 m
+.48697 .31707 L
+s
+P
+p
+.0035 w
+.40218 .70826 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.45372 .69847 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.53333 .69758 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.59268 .70616 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.26429 .41297 m
+.29354 .46463 L
+s
+P
+p
+.0035 w
+.35589 .33171 m
+.26429 .41297 L
+s
+P
+p
+.0035 w
+.35454 .62003 m
+.40218 .70826 L
+s
+P
+p
+.0035 w
+.62743 .61676 m
+.59268 .70616 L
+s
+P
+p
+.0035 w
+.26319 .55611 m
+.35454 .62003 L
+s
+P
+p
+.0035 w
+.29354 .46463 m
+.26319 .55611 L
+s
+P
+p
+.0035 w
+.72399 .40643 m
+.68109 .45934 L
+s
+P
+p
+.0035 w
+.62624 .32764 m
+.72399 .40643 L
+s
+P
+p
+.0035 w
+.35589 .33171 m
+.38696 .38216 L
+s
+P
+p
+.0035 w
+.62624 .32764 m
+.58151 .37934 L
+s
+P
+p
+.0035 w
+.72503 .55026 m
+.62743 .61676 L
+s
+P
+p
+.0035 w
+.68109 .45934 m
+.72503 .55026 L
+s
+P
+p
+.0035 w
+.35454 .62003 m
+.45372 .69847 L
+s
+P
+p
+.0035 w
+.48685 .60829 m
+.45372 .69847 L
+s
+P
+p
+.0035 w
+.48685 .60829 m
+.53333 .69758 L
+s
+P
+p
+.0035 w
+.62743 .61676 m
+.53333 .69758 L
+s
+P
+p
+.0035 w
+.38642 .52851 m
+.35454 .62003 L
+s
+P
+p
+.0035 w
+.48697 .31707 m
+.58151 .37934 L
+s
+P
+p
+.0035 w
+.48697 .31707 m
+.38696 .38216 L
+s
+P
+p
+.0035 w
+.5819 .52598 m
+.62743 .61676 L
+s
+P
+p
+.0035 w
+.29354 .46463 m
+.38642 .52851 L
+s
+P
+p
+.0035 w
+.38696 .38216 m
+.29354 .46463 L
+s
+P
+p
+.0035 w
+.68109 .45934 m
+.5819 .52598 L
+s
+P
+p
+.0035 w
+.58151 .37934 m
+.68109 .45934 L
+s
+P
+p
+.0035 w
+.38696 .38216 m
+.48125 .44555 L
+s
+P
+p
+.0035 w
+.38642 .52851 m
+.48685 .60829 L
+s
+P
+p
+.0035 w
+.5819 .52598 m
+.48685 .60829 L
+s
+P
+p
+.0035 w
+.58151 .37934 m
+.48125 .44555 L
+s
+P
+p
+.0035 w
+.48125 .44555 m
+.38642 .52851 L
+s
+P
+p
+.0035 w
+.48125 .44555 m
+.5819 .52598 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56134 .54874 m
+.64185 .60649 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56134 .54874 m
+.46432 .6143 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46448 .47793 m
+.56134 .54874 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64122 .46921 m
+.56134 .54874 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46448 .47793 m
+.36701 .54317 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40541 .39342 m
+.46448 .47793 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54369 .39788 m
+.46448 .47793 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46432 .6143 m
+.54408 .67308 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46432 .6143 m
+.40456 .6695 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36701 .54317 m
+.46432 .6143 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36701 .54317 m
+.30578 .59731 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.30665 .45896 m
+.36701 .54317 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64122 .46921 m
+.72323 .52645 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54369 .39788 m
+.64122 .46921 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65813 .38008 m
+.64122 .46921 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48503 .31193 m
+.54369 .39788 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55929 .30779 m
+.54369 .39788 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40541 .39342 m
+.30665 .45896 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4192 .30296 m
+.40541 .39342 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48503 .31193 m
+.40541 .39342 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64185 .60649 m
+.65956 .65881 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64185 .60649 m
+.54408 .67308 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72323 .52645 m
+.64185 .60649 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.30665 .45896 m
+.24385 .5124 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31917 .36896 m
+.30665 .45896 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54408 .67308 m
+.5601 .72685 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54408 .67308 m
+.48482 .72982 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.48503 .31193 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72323 .52645 m
+.74256 .57769 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74146 .43705 m
+.72323 .52645 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40456 .6695 m
+.48482 .72982 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40456 .6695 m
+.4181 .7234 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.30578 .59731 m
+.40456 .6695 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.30578 .59731 m
+.31751 .6499 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.24385 .5124 m
+.30578 .59731 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65813 .38008 m
+.74146 .43705 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55929 .30779 m
+.65813 .38008 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5999 .29278 m
+.65813 .38008 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.55929 .30779 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4192 .30296 m
+.31917 .36896 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.4192 .30296 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31917 .36896 m
+.2557 .42175 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39961 .2858 m
+.31917 .36896 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65956 .65881 m
+.60128 .71611 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65956 .65881 m
+.5601 .72685 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74256 .57769 m
+.65956 .65881 L
+s
+P
+p
+.0035 w
+.24385 .5124 m
+.25457 .56399 L
+s
+P
+p
+.0035 w
+.2557 .42175 m
+.24385 .5124 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5999 .29278 m
+.68343 .34932 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.5999 .29278 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.58235 .27538 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.51546 .26594 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.43916 .27033 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.39961 .2858 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48482 .72982 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.74146 .43705 m
+.76139 .48735 L
+s
+P
+p
+.0035 w
+.68343 .34932 m
+.74146 .43705 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5601 .72685 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.39961 .2858 m
+.33692 .33769 L
+s
+P
+p
+.0035 w
+.74256 .57769 m
+.68513 .63415 L
+s
+P
+p
+.0035 w
+.76139 .48735 m
+.74256 .57769 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4181 .7234 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31751 .6499 m
+.4181 .7234 L
+s
+P
+p
+.0035 w
+.31751 .6499 m
+.39822 .71111 L
+s
+P
+p
+.0035 w
+.25457 .56399 m
+.31751 .6499 L
+s
+P
+p
+.0035 w
+.68343 .34932 m
+.7025 .39854 L
+s
+P
+p
+.0035 w
+.58235 .27538 m
+.68343 .34932 L
+s
+P
+p
+.0035 w
+.58235 .27538 m
+.59954 .32322 L
+s
+P
+p
+.0035 w
+.2557 .42175 m
+.26679 .47237 L
+s
+P
+p
+.0035 w
+.33692 .33769 m
+.2557 .42175 L
+s
+P
+p
+.0035 w
+.60128 .71611 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68513 .63415 m
+.60128 .71611 L
+s
+P
+p
+.0035 w
+.43916 .27033 m
+.45371 .31824 L
+s
+P
+p
+.0035 w
+.43916 .27033 m
+.33692 .33769 L
+s
+P
+p
+.0035 w
+.25457 .56399 m
+.3354 .62482 L
+s
+P
+p
+.0035 w
+.26679 .47237 m
+.25457 .56399 L
+s
+P
+p
+.0035 w
+.51546 .26594 m
+.59954 .32322 L
+s
+P
+p
+.0035 w
+.51546 .26594 m
+.45371 .31824 L
+s
+P
+p
+.0035 w
+.39822 .71111 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.4383 .70002 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.51567 .69688 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.5835 .70364 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.3354 .62482 m
+.39822 .71111 L
+s
+P
+p
+.0035 w
+.76139 .48735 m
+.70345 .54319 L
+s
+P
+p
+.0035 w
+.7025 .39854 m
+.76139 .48735 L
+s
+P
+p
+.0035 w
+.33692 .33769 m
+.34963 .3871 L
+s
+P
+p
+.0035 w
+.68513 .63415 m
+.5835 .70364 L
+s
+P
+p
+.0035 w
+.70345 .54319 m
+.68513 .63415 L
+s
+P
+p
+.0035 w
+.60047 .61321 m
+.5835 .70364 L
+s
+P
+p
+.0035 w
+.3354 .62482 m
+.4383 .70002 L
+s
+P
+p
+.0035 w
+.45327 .60922 m
+.4383 .70002 L
+s
+P
+p
+.0035 w
+.34891 .53294 m
+.3354 .62482 L
+s
+P
+p
+.0035 w
+.7025 .39854 m
+.64298 .45358 L
+s
+P
+p
+.0035 w
+.59954 .32322 m
+.7025 .39854 L
+s
+P
+p
+.0035 w
+.59954 .32322 m
+.53837 .37708 L
+s
+P
+p
+.0035 w
+.26679 .47237 m
+.34891 .53294 L
+s
+P
+p
+.0035 w
+.34963 .3871 m
+.26679 .47237 L
+s
+P
+p
+.0035 w
+.45327 .60922 m
+.51567 .69688 L
+s
+P
+p
+.0035 w
+.60047 .61321 m
+.51567 .69688 L
+s
+P
+p
+.0035 w
+.45371 .31824 m
+.53837 .37708 L
+s
+P
+p
+.0035 w
+.45371 .31824 m
+.34963 .3871 L
+s
+P
+p
+.0035 w
+.70345 .54319 m
+.60047 .61321 L
+s
+P
+p
+.0035 w
+.64298 .45358 m
+.70345 .54319 L
+s
+P
+p
+.0035 w
+.34963 .3871 m
+.43341 .44708 L
+s
+P
+p
+.0035 w
+.53855 .52396 m
+.60047 .61321 L
+s
+P
+p
+.0035 w
+.34891 .53294 m
+.45327 .60922 L
+s
+P
+p
+.0035 w
+.53855 .52396 m
+.45327 .60922 L
+s
+P
+p
+.0035 w
+.43341 .44708 m
+.34891 .53294 L
+s
+P
+p
+.0035 w
+.64298 .45358 m
+.53855 .52396 L
+s
+P
+p
+.0035 w
+.53837 .37708 m
+.64298 .45358 L
+s
+P
+p
+.0035 w
+.53837 .37708 m
+.43341 .44708 L
+s
+P
+p
+.0035 w
+.43341 .44708 m
+.53855 .52396 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50563 .47845 m
+.40755 .5469 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50563 .47845 m
+.6038 .54602 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43419 .3964 m
+.50563 .47845 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57388 .3957 m
+.50563 .47845 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40755 .5469 m
+.33439 .60299 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40755 .5469 m
+.50565 .61477 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33513 .46529 m
+.40755 .5469 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6038 .54602 m
+.67391 .60153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6038 .54602 m
+.50565 .61477 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67313 .46367 m
+.6038 .54602 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50565 .61477 m
+.57454 .67133 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50565 .61477 m
+.4336 .67189 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.43419 .3964 m
+.33513 .46529 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4309 .30593 m
+.43419 .3964 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50237 .31218 m
+.43419 .3964 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57388 .3957 m
+.67313 .46367 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.50237 .31218 m
+.57388 .3957 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5725 .30517 m
+.57388 .3957 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33513 .46529 m
+.26038 .52079 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33049 .3756 m
+.33513 .46529 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67313 .46367 m
+.74484 .51856 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67311 .37383 m
+.67313 .46367 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33439 .60299 m
+.32895 .65522 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33439 .60299 m
+.4336 .67189 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26038 .52079 m
+.33439 .60299 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67391 .60153 m
+.67469 .6538 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67391 .60153 m
+.57454 .67133 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74484 .51856 m
+.67391 .60153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4336 .67189 m
+.5024 .73 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4336 .67189 m
+.42996 .72553 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.50237 .31218 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57454 .67133 m
+.5735 .72498 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.57454 .67133 m
+.5024 .73 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4309 .30593 m
+.33049 .3756 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.4309 .30593 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5725 .30517 m
+.67311 .37383 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.5725 .30517 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26038 .52079 m
+.25351 .57196 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.25464 .43066 m
+.26038 .52079 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.33049 .3756 m
+.25464 .43066 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39878 .28985 m
+.33049 .3756 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67311 .37383 m
+.74582 .42823 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6013 .28875 m
+.67311 .37383 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74484 .51856 m
+.74695 .56979 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74582 .42823 m
+.74484 .51856 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5024 .73 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.57072 .27227 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.49755 .26567 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.42587 .27307 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.39878 .28985 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.6013 .28875 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32895 .65522 m
+.42996 .72553 L
+s
+P
+p
+.0035 w
+.32895 .65522 m
+.39738 .71401 L
+s
+P
+p
+.0035 w
+.25351 .57196 m
+.32895 .65522 L
+s
+P
+p
+.0035 w
+.39878 .28985 m
+.32313 .34428 L
+s
+P
+p
+.0035 w
+.6013 .28875 m
+.67364 .34243 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67469 .6538 m
+.5735 .72498 L
+s
+P
+p
+.0035 w
+.67469 .6538 m
+.6027 .71322 L
+s
+P
+p
+.0035 w
+.74695 .56979 m
+.67469 .6538 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42996 .72553 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5735 .72498 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.25464 .43066 m
+.24757 .48086 L
+s
+P
+p
+.0035 w
+.32313 .34428 m
+.25464 .43066 L
+s
+P
+p
+.0035 w
+.74582 .42823 m
+.74797 .47849 L
+s
+P
+p
+.0035 w
+.67364 .34243 m
+.74582 .42823 L
+s
+P
+p
+.0035 w
+.25351 .57196 m
+.32149 .6301 L
+s
+P
+p
+.0035 w
+.24757 .48086 m
+.25351 .57196 L
+s
+P
+p
+.0035 w
+.74695 .56979 m
+.67526 .62863 L
+s
+P
+p
+.0035 w
+.74797 .47849 m
+.74695 .56979 L
+s
+P
+p
+.0035 w
+.42587 .27307 m
+.42198 .32069 L
+s
+P
+p
+.0035 w
+.42587 .27307 m
+.32313 .34428 L
+s
+P
+p
+.0035 w
+.57072 .27227 m
+.56958 .3199 L
+s
+P
+p
+.0035 w
+.57072 .27227 m
+.67364 .34243 L
+s
+P
+p
+.0035 w
+.32313 .34428 m
+.31729 .39333 L
+s
+P
+p
+.0035 w
+.39738 .71401 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.32149 .6301 m
+.39738 .71401 L
+s
+P
+p
+.0035 w
+.6027 .71322 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.67526 .62863 m
+.6027 .71322 L
+s
+P
+p
+.0035 w
+.67364 .34243 m
+.67445 .39152 L
+s
+P
+p
+.0035 w
+.42483 .70199 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.49752 .69669 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.57171 .70141 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.49755 .26567 m
+.56958 .3199 L
+s
+P
+p
+.0035 w
+.49755 .26567 m
+.42198 .32069 L
+s
+P
+p
+.0035 w
+.24757 .48086 m
+.31643 .53852 L
+s
+P
+p
+.0035 w
+.31729 .39333 m
+.24757 .48086 L
+s
+P
+p
+.0035 w
+.32149 .6301 m
+.42483 .70199 L
+s
+P
+p
+.0035 w
+.31643 .53852 m
+.32149 .6301 L
+s
+P
+p
+.0035 w
+.67526 .62863 m
+.57171 .70141 L
+s
+P
+p
+.0035 w
+.67527 .5369 m
+.67526 .62863 L
+s
+P
+p
+.0035 w
+.74797 .47849 m
+.67527 .5369 L
+s
+P
+p
+.0035 w
+.67445 .39152 m
+.74797 .47849 L
+s
+P
+p
+.0035 w
+.42125 .61118 m
+.42483 .70199 L
+s
+P
+p
+.0035 w
+.57023 .61055 m
+.57171 .70141 L
+s
+P
+p
+.0035 w
+.42198 .32069 m
+.49392 .37647 L
+s
+P
+p
+.0035 w
+.42198 .32069 m
+.31729 .39333 L
+s
+P
+p
+.0035 w
+.42125 .61118 m
+.49752 .69669 L
+s
+P
+p
+.0035 w
+.57023 .61055 m
+.49752 .69669 L
+s
+P
+p
+.0035 w
+.56958 .3199 m
+.49392 .37647 L
+s
+P
+p
+.0035 w
+.56958 .3199 m
+.67445 .39152 L
+s
+P
+p
+.0035 w
+.31729 .39333 m
+.38784 .45028 L
+s
+P
+p
+.0035 w
+.67445 .39152 m
+.60005 .44925 L
+s
+P
+p
+.0035 w
+.31643 .53852 m
+.42125 .61118 L
+s
+P
+p
+.0035 w
+.38784 .45028 m
+.31643 .53852 L
+s
+P
+p
+.0035 w
+.67527 .5369 m
+.57023 .61055 L
+s
+P
+p
+.0035 w
+.60005 .44925 m
+.67527 .5369 L
+s
+P
+p
+.0035 w
+.49389 .52341 m
+.42125 .61118 L
+s
+P
+p
+.0035 w
+.49389 .52341 m
+.57023 .61055 L
+s
+P
+p
+.0035 w
+.49392 .37647 m
+.38784 .45028 L
+s
+P
+p
+.0035 w
+.49392 .37647 m
+.60005 .44925 L
+s
+P
+p
+.0035 w
+.38784 .45028 m
+.49389 .52341 L
+s
+P
+p
+.0035 w
+.60005 .44925 m
+.49389 .52341 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45058 .54924 m
+.36762 .60766 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45058 .54924 m
+.54683 .61395 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3682 .47051 m
+.45058 .54924 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54662 .47754 m
+.45058 .54924 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54662 .47754 m
+.64346 .54193 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4648 .39828 m
+.54662 .47754 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60201 .39242 m
+.54662 .47754 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54683 .61395 m
+.60292 .6687 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.54683 .61395 m
+.46448 .6734 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64346 .54193 m
+.54683 .61395 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64346 .54193 m
+.7011 .59561 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.7002 .45706 m
+.64346 .54193 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3682 .47051 m
+.2838 .52845 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34677 .38168 m
+.3682 .47051 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4648 .39828 m
+.3682 .47051 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44463 .3084 m
+.4648 .39828 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51965 .31174 m
+.4648 .39828 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36762 .60766 m
+.34539 .66009 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36762 .60766 m
+.46448 .6734 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.2838 .52845 m
+.36762 .60766 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60201 .39242 m
+.7002 .45706 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51965 .31174 m
+.60201 .39242 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58359 .30207 m
+.60201 .39242 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46448 .6734 m
+.51992 .72969 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.46448 .6734 m
+.44388 .7273 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.7002 .45706 m
+.75937 .51001 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68301 .36708 m
+.7002 .45706 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.2838 .52845 m
+.25991 .5798 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.26099 .4394 m
+.2838 .52845 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.51965 .31174 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34677 .38168 m
+.26099 .4394 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40101 .29387 m
+.34677 .38168 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44463 .3084 m
+.34677 .38168 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.44463 .3084 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60292 .6687 m
+.58473 .72276 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60292 .6687 m
+.51992 .72969 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.7011 .59561 m
+.60292 .6687 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.7011 .59561 m
+.68468 .64839 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.75937 .51001 m
+.7011 .59561 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58359 .30207 m
+.68301 .36708 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.58359 .30207 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34539 .66009 m
+.39964 .71689 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34539 .66009 m
+.44388 .7273 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.25991 .5798 m
+.34539 .66009 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68301 .36708 m
+.74271 .41933 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59962 .2847 m
+.68301 .36708 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40101 .29387 m
+.31488 .35125 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.40101 .29387 L
+s
+P
+p
+.0035 w
+.26099 .4394 m
+.23636 .48982 L
+s
+P
+p
+.0035 w
+.31488 .35125 m
+.26099 .4394 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.55687 .26968 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.47972 .26614 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.41491 .2763 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.59962 .2847 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.51992 .72969 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.75937 .51001 m
+.74383 .56182 L
+s
+P
+p
+.0035 w
+.74271 .41933 m
+.75937 .51001 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44388 .7273 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.25991 .5798 m
+.31316 .6357 L
+s
+P
+p
+.0035 w
+.23636 .48982 m
+.25991 .5798 L
+s
+P
+p
+.0035 w
+.59962 .2847 m
+.6584 .33599 L
+s
+P
+p
+.0035 w
+.58473 .72276 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68468 .64839 m
+.58473 .72276 L
+s
+P
+p
+.0035 w
+.68468 .64839 m
+.601 .71032 L
+s
+P
+p
+.0035 w
+.74383 .56182 m
+.68468 .64839 L
+s
+P
+p
+.0035 w
+.31488 .35125 m
+.29096 .40061 L
+s
+P
+p
+.0035 w
+.41491 .2763 m
+.31488 .35125 L
+s
+P
+p
+.0035 w
+.41491 .2763 m
+.39282 .32432 L
+s
+P
+p
+.0035 w
+.39964 .71689 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31316 .6357 m
+.39964 .71689 L
+s
+P
+p
+.0035 w
+.74271 .41933 m
+.72664 .47017 L
+s
+P
+p
+.0035 w
+.6584 .33599 m
+.74271 .41933 L
+s
+P
+p
+.0035 w
+.55687 .26968 m
+.53732 .31779 L
+s
+P
+p
+.0035 w
+.55687 .26968 m
+.6584 .33599 L
+s
+P
+p
+.0035 w
+.23636 .48982 m
+.28998 .54505 L
+s
+P
+p
+.0035 w
+.29096 .40061 m
+.23636 .48982 L
+s
+P
+p
+.0035 w
+.47972 .26614 m
+.53732 .31779 L
+s
+P
+p
+.0035 w
+.47972 .26614 m
+.39282 .32432 L
+s
+P
+p
+.0035 w
+.41372 .7043 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.47944 .69702 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.55767 .69955 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.601 .71032 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.74383 .56182 m
+.65988 .62346 L
+s
+P
+p
+.0035 w
+.72664 .47017 m
+.74383 .56182 L
+s
+P
+p
+.0035 w
+.65988 .62346 m
+.601 .71032 L
+s
+P
+p
+.0035 w
+.31316 .6357 m
+.41372 .7043 L
+s
+P
+p
+.0035 w
+.28998 .54505 m
+.31316 .6357 L
+s
+P
+p
+.0035 w
+.6584 .33599 m
+.64064 .38562 L
+s
+P
+p
+.0035 w
+.39181 .6141 m
+.41372 .7043 L
+s
+P
+p
+.0035 w
+.29096 .40061 m
+.34609 .45502 L
+s
+P
+p
+.0035 w
+.39282 .32432 m
+.29096 .40061 L
+s
+P
+p
+.0035 w
+.39282 .32432 m
+.44967 .37753 L
+s
+P
+p
+.0035 w
+.53768 .60886 m
+.55767 .69955 L
+s
+P
+p
+.0035 w
+.65988 .62346 m
+.55767 .69955 L
+s
+P
+p
+.0035 w
+.64131 .53161 m
+.65988 .62346 L
+s
+P
+p
+.0035 w
+.39181 .6141 m
+.47944 .69702 L
+s
+P
+p
+.0035 w
+.53768 .60886 m
+.47944 .69702 L
+s
+P
+p
+.0035 w
+.72664 .47017 m
+.64131 .53161 L
+s
+P
+p
+.0035 w
+.64064 .38562 m
+.72664 .47017 L
+s
+P
+p
+.0035 w
+.28998 .54505 m
+.39181 .6141 L
+s
+P
+p
+.0035 w
+.34609 .45502 m
+.28998 .54505 L
+s
+P
+p
+.0035 w
+.53732 .31779 m
+.44967 .37753 L
+s
+P
+p
+.0035 w
+.53732 .31779 m
+.64064 .38562 L
+s
+P
+p
+.0035 w
+.44943 .52436 m
+.39181 .6141 L
+s
+P
+p
+.0035 w
+.64064 .38562 m
+.5537 .4465 L
+s
+P
+p
+.0035 w
+.44943 .52436 m
+.53768 .60886 L
+s
+P
+p
+.0035 w
+.64131 .53161 m
+.53768 .60886 L
+s
+P
+p
+.0035 w
+.5537 .4465 m
+.64131 .53161 L
+s
+P
+p
+.0035 w
+.34609 .45502 m
+.44943 .52436 L
+s
+P
+p
+.0035 w
+.44967 .37753 m
+.34609 .45502 L
+s
+P
+p
+.0035 w
+.44967 .37753 m
+.5537 .4465 L
+s
+P
+p
+.0035 w
+.5537 .4465 m
+.44943 .52436 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49493 .55014 m
+.40448 .61122 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49493 .55014 m
+.58674 .61187 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40491 .47449 m
+.49493 .55014 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58635 .47521 m
+.49493 .55014 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58635 .47521 m
+.67921 .53657 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49639 .399 m
+.58635 .47521 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62726 .38814 m
+.58635 .47521 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40491 .47449 m
+.31332 .53519 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36748 .38704 m
+.40491 .47449 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49639 .399 m
+.40491 .47449 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45998 .31029 m
+.49639 .399 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.53635 .31064 m
+.49639 .399 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58674 .61187 m
+.6284 .66527 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58674 .61187 m
+.49636 .67398 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67921 .53657 m
+.58674 .61187 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40448 .61122 m
+.36629 .66439 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40448 .61122 m
+.49636 .67398 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31332 .53519 m
+.40448 .61122 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.67921 .53657 m
+.72259 .58889 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72159 .44955 m
+.67921 .53657 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31332 .53519 m
+.27341 .58726 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.27443 .44774 m
+.31332 .53519 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62726 .38814 m
+.72159 .44955 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.53635 .31064 m
+.62726 .38814 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5922 .29856 m
+.62726 .38814 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49636 .67398 m
+.53685 .7289 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49636 .67398 m
+.45943 .72865 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36748 .38704 m
+.27443 .44774 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40622 .29772 m
+.36748 .38704 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45998 .31029 m
+.36748 .38704 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.53635 .31064 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.45998 .31029 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72159 .44955 m
+.76623 .50104 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.68744 .36003 m
+.72159 .44955 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6284 .66527 m
+.59347 .72025 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.6284 .66527 m
+.53685 .7289 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.72259 .58889 m
+.6284 .66527 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.27443 .44774 m
+.23332 .49896 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31234 .3584 m
+.27443 .44774 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36629 .66439 m
+.40493 .71965 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.36629 .66439 m
+.45943 .72865 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.27341 .58726 m
+.36629 .66439 L
+s
+P
+p
+.0035 w
+.72259 .58889 m
+.68917 .64273 L
+s
+P
+p
+.0035 w
+.76623 .50104 m
+.72259 .58889 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5922 .29856 m
+.68744 .36003 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.5922 .29856 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40622 .29772 m
+.31234 .3584 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.40622 .29772 L
+s
+P
+p
+.0035 w
+.27341 .58726 m
+.31061 .64143 L
+s
+P
+p
+.0035 w
+.23332 .49896 m
+.27341 .58726 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.54122 .26768 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.46254 .26732 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.4066 .27992 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.59489 .28078 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.53685 .7289 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.45943 .72865 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68744 .36003 m
+.73207 .41063 L
+s
+P
+p
+.0035 w
+.59489 .28078 m
+.68744 .36003 L
+s
+P
+p
+.0035 w
+.31234 .3584 m
+.27138 .4087 L
+s
+P
+p
+.0035 w
+.4066 .27992 m
+.31234 .3584 L
+s
+P
+p
+.0035 w
+.59489 .28078 m
+.6381 .33022 L
+s
+P
+p
+.0035 w
+.76623 .50104 m
+.73315 .55402 L
+s
+P
+p
+.0035 w
+.73207 .41063 m
+.76623 .50104 L
+s
+P
+p
+.0035 w
+.4066 .27992 m
+.36716 .32902 L
+s
+P
+p
+.0035 w
+.59347 .72025 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68917 .64273 m
+.59347 .72025 L
+s
+P
+p
+.0035 w
+.23332 .49896 m
+.27031 .55229 L
+s
+P
+p
+.0035 w
+.27138 .4087 m
+.23332 .49896 L
+s
+P
+p
+.0035 w
+.40493 .71965 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31061 .64143 m
+.40493 .71965 L
+s
+P
+p
+.0035 w
+.68917 .64273 m
+.59621 .70751 L
+s
+P
+p
+.0035 w
+.73315 .55402 m
+.68917 .64273 L
+s
+P
+p
+.0035 w
+.31061 .64143 m
+.4053 .70689 L
+s
+P
+p
+.0035 w
+.27031 .55229 m
+.31061 .64143 L
+s
+P
+p
+.0035 w
+.54122 .26768 m
+.50383 .31698 L
+s
+P
+p
+.0035 w
+.54122 .26768 m
+.6381 .33022 L
+s
+P
+p
+.0035 w
+.46254 .26732 m
+.50383 .31698 L
+s
+P
+p
+.0035 w
+.46254 .26732 m
+.36716 .32902 L
+s
+P
+p
+.0035 w
+.4053 .70689 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.46201 .69786 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.5418 .69812 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.59621 .70751 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.73207 .41063 m
+.69795 .46269 L
+s
+P
+p
+.0035 w
+.6381 .33022 m
+.73207 .41063 L
+s
+P
+p
+.0035 w
+.6394 .61883 m
+.59621 .70751 L
+s
+P
+p
+.0035 w
+.36591 .61787 m
+.4053 .70689 L
+s
+P
+p
+.0035 w
+.27138 .4087 m
+.30952 .46113 L
+s
+P
+p
+.0035 w
+.36716 .32902 m
+.27138 .4087 L
+s
+P
+p
+.0035 w
+.6381 .33022 m
+.60214 .38106 L
+s
+P
+p
+.0035 w
+.73315 .55402 m
+.6394 .61883 L
+s
+P
+p
+.0035 w
+.69795 .46269 m
+.73315 .55402 L
+s
+P
+p
+.0035 w
+.36716 .32902 m
+.40714 .38023 L
+s
+P
+p
+.0035 w
+.27031 .55229 m
+.36591 .61787 L
+s
+P
+p
+.0035 w
+.30952 .46113 m
+.27031 .55229 L
+s
+P
+p
+.0035 w
+.50387 .60821 m
+.5418 .69812 L
+s
+P
+p
+.0035 w
+.6394 .61883 m
+.5418 .69812 L
+s
+P
+p
+.0035 w
+.36591 .61787 m
+.46201 .69786 L
+s
+P
+p
+.0035 w
+.50387 .60821 m
+.46201 .69786 L
+s
+P
+p
+.0035 w
+.60263 .52753 m
+.6394 .61883 L
+s
+P
+p
+.0035 w
+.50383 .31698 m
+.40714 .38023 L
+s
+P
+p
+.0035 w
+.50383 .31698 m
+.60214 .38106 L
+s
+P
+p
+.0035 w
+.4067 .52678 m
+.36591 .61787 L
+s
+P
+p
+.0035 w
+.69795 .46269 m
+.60263 .52753 L
+s
+P
+p
+.0035 w
+.60214 .38106 m
+.69795 .46269 L
+s
+P
+p
+.0035 w
+.30952 .46113 m
+.4067 .52678 L
+s
+P
+p
+.0035 w
+.40714 .38023 m
+.30952 .46113 L
+s
+P
+p
+.0035 w
+.60214 .38106 m
+.50552 .44544 L
+s
+P
+p
+.0035 w
+.40714 .38023 m
+.50552 .44544 L
+s
+P
+p
+.0035 w
+.4067 .52678 m
+.50387 .60821 L
+s
+P
+p
+.0035 w
+.60263 .52753 m
+.50387 .60821 L
+s
+P
+p
+.0035 w
+.50552 .44544 m
+.60263 .52753 L
+s
+P
+p
+.0035 w
+.50552 .44544 m
+.4067 .52678 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.53942 .54957 m
+.44395 .61359 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.53942 .54957 m
+.62429 .60857 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4442 .47713 m
+.53942 .54957 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62374 .47153 m
+.53942 .54957 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4442 .47713 m
+.34803 .54082 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39197 .39153 m
+.4442 .47713 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52808 .39855 m
+.4442 .47713 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44395 .61359 m
+.391 .66799 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.44395 .61359 m
+.52833 .67361 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34803 .54082 m
+.44395 .61359 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62374 .47153 m
+.71 .53007 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52808 .39855 m
+.62374 .47153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64889 .38296 m
+.62374 .47153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.34803 .54082 m
+.29349 .59415 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29441 .45543 m
+.34803 .54082 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.47649 .31155 m
+.52808 .39855 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55201 .30889 m
+.52808 .39855 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62429 .60857 m
+.65023 .66112 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.62429 .60857 m
+.52833 .67361 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71 .53007 m
+.62429 .60857 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39197 .39153 m
+.29441 .45543 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.41423 .3013 m
+.39197 .39153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.47649 .31155 m
+.39197 .39153 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52833 .67361 m
+.55271 .72764 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.52833 .67361 m
+.47617 .72955 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.71 .53007 m
+.73763 .58154 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73656 .44134 m
+.71 .53007 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29441 .45543 m
+.23838 .508 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3155 .3655 m
+.29441 .45543 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.47649 .31155 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.64889 .38296 m
+.73656 .44134 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55201 .30889 m
+.64889 .38296 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59807 .29476 m
+.64889 .38296 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.55201 .30889 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.391 .66799 m
+.41305 .72221 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.391 .66799 m
+.47617 .72955 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29349 .59415 m
+.391 .66799 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.29349 .59415 m
+.31381 .64712 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.23838 .508 m
+.29349 .59415 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.41423 .3013 m
+.3155 .3655 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.41423 .3013 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65023 .66112 m
+.59942 .71753 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65023 .66112 m
+.55271 .72764 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73763 .58154 m
+.65023 .66112 L
+s
+P
+p
+.0035 w
+.73656 .44134 m
+.76505 .49189 L
+s
+P
+p
+.0035 w
+.6862 .35287 m
+.73656 .44134 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.59807 .29476 m
+.6862 .35287 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.59807 .29476 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3155 .3655 m
+.25905 .41733 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.40119 .2838 m
+.3155 .3655 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.52426 .26634 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.44655 .26917 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.40119 .2838 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.58722 .2771 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.47617 .72955 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55271 .72764 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.73763 .58154 m
+.68792 .637 L
+s
+P
+p
+.0035 w
+.76505 .49189 m
+.73763 .58154 L
+s
+P
+p
+.0035 w
+.23838 .508 m
+.25794 .56002 L
+s
+P
+p
+.0035 w
+.25905 .41733 m
+.23838 .508 L
+s
+P
+p
+.0035 w
+.40119 .2838 m
+.34579 .33461 L
+s
+P
+p
+.0035 w
+.41305 .72221 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.31381 .64712 m
+.41305 .72221 L
+s
+P
+p
+.0035 w
+.31381 .64712 m
+.39982 .70967 L
+s
+P
+p
+.0035 w
+.25794 .56002 m
+.31381 .64712 L
+s
+P
+p
+.0035 w
+.6862 .35287 m
+.71411 .40239 L
+s
+P
+p
+.0035 w
+.58722 .2771 m
+.6862 .35287 L
+s
+P
+p
+.0035 w
+.58722 .2771 m
+.61335 .3253 L
+s
+P
+p
+.0035 w
+.59942 .71753 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68792 .637 m
+.59942 .71753 L
+s
+P
+p
+.0035 w
+.76505 .49189 m
+.71511 .54664 L
+s
+P
+p
+.0035 w
+.71411 .40239 m
+.76505 .49189 L
+s
+P
+p
+.0035 w
+.25905 .41733 m
+.27926 .46839 L
+s
+P
+p
+.0035 w
+.34579 .33461 m
+.25905 .41733 L
+s
+P
+p
+.0035 w
+.44655 .26917 m
+.47022 .31749 L
+s
+P
+p
+.0035 w
+.44655 .26917 m
+.34579 .33461 L
+s
+P
+p
+.0035 w
+.52426 .26634 m
+.47022 .31749 L
+s
+P
+p
+.0035 w
+.52426 .26634 m
+.61335 .3253 L
+s
+P
+p
+.0035 w
+.39982 .70967 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.4458 .69919 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.5246 .69717 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.58844 .70487 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68792 .637 m
+.58844 .70487 L
+s
+P
+p
+.0035 w
+.71511 .54664 m
+.68792 .637 L
+s
+P
+p
+.0035 w
+.34435 .62236 m
+.39982 .70967 L
+s
+P
+p
+.0035 w
+.25794 .56002 m
+.34435 .62236 L
+s
+P
+p
+.0035 w
+.27926 .46839 m
+.25794 .56002 L
+s
+P
+p
+.0035 w
+.34579 .33461 m
+.36774 .38446 L
+s
+P
+p
+.0035 w
+.61442 .61489 m
+.58844 .70487 L
+s
+P
+p
+.0035 w
+.71411 .40239 m
+.66272 .4563 L
+s
+P
+p
+.0035 w
+.61335 .3253 m
+.71411 .40239 L
+s
+P
+p
+.0035 w
+.61335 .3253 m
+.5602 .378 L
+s
+P
+p
+.0035 w
+.34435 .62236 m
+.4458 .69919 L
+s
+P
+p
+.0035 w
+.46994 .60862 m
+.4458 .69919 L
+s
+P
+p
+.0035 w
+.36711 .53057 m
+.34435 .62236 L
+s
+P
+p
+.0035 w
+.46994 .60862 m
+.5246 .69717 L
+s
+P
+p
+.0035 w
+.61442 .61489 m
+.5246 .69717 L
+s
+P
+p
+.0035 w
+.71511 .54664 m
+.61442 .61489 L
+s
+P
+p
+.0035 w
+.66272 .4563 m
+.71511 .54664 L
+s
+P
+p
+.0035 w
+.27926 .46839 m
+.36711 .53057 L
+s
+P
+p
+.0035 w
+.36774 .38446 m
+.27926 .46839 L
+s
+P
+p
+.0035 w
+.47022 .31749 m
+.36774 .38446 L
+s
+P
+p
+.0035 w
+.47022 .31749 m
+.5602 .378 L
+s
+P
+p
+.0035 w
+.56048 .52479 m
+.61442 .61489 L
+s
+P
+p
+.0035 w
+.36774 .38446 m
+.45714 .44611 L
+s
+P
+p
+.0035 w
+.36711 .53057 m
+.46994 .60862 L
+s
+P
+p
+.0035 w
+.56048 .52479 m
+.46994 .60862 L
+s
+P
+p
+.0035 w
+.66272 .4563 m
+.56048 .52479 L
+s
+P
+p
+.0035 w
+.5602 .378 m
+.66272 .4563 L
+s
+P
+p
+.0035 w
+.45714 .44611 m
+.36711 .53057 L
+s
+P
+p
+.0035 w
+.5602 .378 m
+.45714 .44611 L
+s
+P
+p
+.0035 w
+.45714 .44611 m
+.56048 .52479 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  ImageCacheValid->False],
+
+Cell[GraphicsData["PostScript", "\<\
+%!
+%%Creator: Mathematica
+%%AspectRatio: 1 
+MathPictureStart
+%% Graphics3D
+/Courier findfont 10  scalefont  setfont
+% Scaling calculations
+0.02381 0.952381 0.02381 0.952381 [
+[ 0 0 0 0 ]
+[ 1 1 0 0 ]
+] MathScale
+% Start of Graphics
+1 setlinecap
+1 setlinejoin
+newpath
+[ ] 0 setdash
+0 g
+0 0 m
+1 0 L
+1 1 L
+0 1 L
+closepath
+clip
+newpath
+p
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.485 .47837 m
+.3869 .54521 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.485 .47837 m
+.58285 .54756 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.41952 .39505 m
+.485 .47837 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55899 .39693 m
+.485 .47837 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58285 .54756 m
+.48494 .6147 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.58285 .54756 m
+.65843 .60414 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65772 .46658 m
+.58285 .54756 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3869 .54521 m
+.31945 .60027 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.3869 .54521 m
+.48494 .6147 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32026 .46226 m
+.3869 .54521 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48494 .6147 m
+.4188 .67081 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.48494 .6147 m
+.55952 .67232 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55899 .39693 m
+.65772 .46658 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49368 .31214 m
+.55899 .39693 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56614 .30654 m
+.55899 .39693 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65772 .46658 m
+.73488 .5226 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66623 .37703 m
+.65772 .46658 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.41952 .39505 m
+.32026 .46226 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42478 .3045 m
+.41952 .39505 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49368 .31214 m
+.41952 .39505 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32026 .46226 m
+.25121 .51667 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32418 .37234 m
+.32026 .46226 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65843 .60414 m
+.66774 .65637 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.65843 .60414 m
+.55952 .67232 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73488 .5226 m
+.65843 .60414 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55952 .67232 m
+.56704 .72597 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.55952 .67232 m
+.49359 .72997 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31945 .60027 m
+.32258 .6526 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.31945 .60027 m
+.4188 .67081 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.25121 .51667 m
+.31945 .60027 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.49368 .31214 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4188 .67081 m
+.42375 .72451 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.4188 .67081 m
+.49359 .72997 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56614 .30654 m
+.66623 .37703 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.56614 .30654 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.73488 .5226 m
+.74568 .57376 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.74456 .43267 m
+.73488 .5226 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66623 .37703 m
+.74456 .43267 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60099 .29077 m
+.66623 .37703 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42478 .3045 m
+.32418 .37234 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.42478 .3045 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32418 .37234 m
+.25423 .42621 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.39881 .28782 m
+.32418 .37234 L
+s
+P
+p
+.0035 w
+.25121 .51667 m
+.2531 .56798 L
+s
+P
+p
+.0035 w
+.25423 .42621 m
+.25121 .51667 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.49359 .72997 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.5 .2197 m
+.60099 .29077 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.50653 .26572 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.43224 .27163 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.39881 .28782 L
+s
+P
+p
+.0035 w
+.5 .2197 m
+.57684 .27377 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.66774 .65637 m
+.56704 .72597 L
+s
+P
+p
+.0035 w
+.66774 .65637 m
+.60238 .71467 L
+s
+P
+p
+.0035 w
+.74568 .57376 m
+.66774 .65637 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.60099 .29077 m
+.67924 .34583 L
+s
+P
+p
+.0035 w
+.39881 .28782 m
+.32935 .34092 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.56704 .72597 m
+.5 .78548 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.32258 .6526 m
+.42375 .72451 L
+s
+P
+p
+.0035 w
+.32258 .6526 m
+.39741 .71256 L
+s
+P
+p
+.0035 w
+.2531 .56798 m
+.32258 .6526 L
+s
+P
+p
+.0035 w
+.74456 .43267 m
+.75569 .48287 L
+s
+P
+p
+.0035 w
+.67924 .34583 m
+.74456 .43267 L
+s
+P
+p
+[ .01 .012 ] 0 setdash
+.0025 w
+.42375 .72451 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.74568 .57376 m
+.68091 .63135 L
+s
+P
+p
+.0035 w
+.75569 .48287 m
+.74568 .57376 L
+s
+P
+p
+.0035 w
+.25423 .42621 m
+.2562 .47654 L
+s
+P
+p
+.0035 w
+.32935 .34092 m
+.25423 .42621 L
+s
+P
+p
+.0035 w
+.57684 .27377 m
+.5849 .32141 L
+s
+P
+p
+.0035 w
+.57684 .27377 m
+.67924 .34583 L
+s
+P
+p
+.0035 w
+.2531 .56798 m
+.32776 .62741 L
+s
+P
+p
+.0035 w
+.2562 .47654 m
+.2531 .56798 L
+s
+P
+p
+.0035 w
+.67924 .34583 m
+.68925 .3949 L
+s
+P
+p
+.0035 w
+.43224 .27163 m
+.43759 .31931 L
+s
+P
+p
+.0035 w
+.43224 .27163 m
+.32935 .34092 L
+s
+P
+p
+.0035 w
+.60238 .71467 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.68091 .63135 m
+.60238 .71467 L
+s
+P
+p
+.0035 w
+.39741 .71256 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.32776 .62741 m
+.39741 .71256 L
+s
+P
+p
+.0035 w
+.32935 .34092 m
+.33277 .39007 L
+s
+P
+p
+.0035 w
+.4313 .70096 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.50662 .69672 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.57791 .70249 m
+.5 .78548 L
+s
+P
+p
+.0035 w
+.50653 .26572 m
+.43759 .31931 L
+s
+P
+p
+.0035 w
+.50653 .26572 m
+.5849 .32141 L
+s
+P
+p
+.0035 w
+.75569 .48287 m
+.69014 .53993 L
+s
+P
+p
+.0035 w
+.68925 .3949 m
+.75569 .48287 L
+s
+P
+p
+.0035 w
+.68091 .63135 m
+.57791 .70249 L
+s
+P
+p
+.0035 w
+.69014 .53993 m
+.68091 .63135 L
+s
+P
+p
+.0035 w
+.58571 .61177 m
+.57791 .70249 L
+s
+P
+p
+.0035 w
+.32776 .62741 m
+.4313 .70096 L
+s
+P
+p
+.0035 w
+.33198 .5356 m
+.32776 .62741 L
+s
+P
+p
+.0035 w
+.2562 .47654 m
+.33198 .5356 L
+s
+P
+p
+.0035 w
+.33277 .39007 m
+.2562 .47654 L
+s
+P
+p
+.0035 w
+.437 .61008 m
+.4313 .70096 L
+s
+P
+p
+.0035 w
+.5849 .32141 m
+.51621 .37656 L
+s
+P
+p
+.0035 w
+.5849 .32141 m
+.68925 .3949 L
+s
+P
+p
+.0035 w
+.437 .61008 m
+.50662 .69672 L
+s
+P
+p
+.0035 w
+.58571 .61177 m
+.50662 .69672 L
+s
+P
+p
+.0035 w
+.68925 .3949 m
+.62203 .45123 L
+s
+P
+p
+.0035 w
+.43759 .31931 m
+.33277 .39007 L
+s
+P
+p
+.0035 w
+.43759 .31931 m
+.51621 .37656 L
+s
+P
+p
+.0035 w
+.33277 .39007 m
+.41024 .44848 L
+s
+P
+p
+.0035 w
+.69014 .53993 m
+.58571 .61177 L
+s
+P
+p
+.0035 w
+.62203 .45123 m
+.69014 .53993 L
+s
+P
+p
+.0035 w
+.51629 .5235 m
+.58571 .61177 L
+s
+P
+p
+.0035 w
+.33198 .5356 m
+.437 .61008 L
+s
+P
+p
+.0035 w
+.41024 .44848 m
+.33198 .5356 L
+s
+P
+p
+.0035 w
+.51629 .5235 m
+.437 .61008 L
+s
+P
+p
+.0035 w
+.51621 .37656 m
+.41024 .44848 L
+s
+P
+p
+.0035 w
+.51621 .37656 m
+.62203 .45123 L
+s
+P
+p
+.0035 w
+.62203 .45123 m
+.51629 .5235 L
+s
+P
+p
+.0035 w
+.41024 .44848 m
+.51629 .5235 L
+s
+P
+p
+P
+p
+P
+% End of Graphics
+MathPictureEnd
+\
+\>"], "Graphics",
+  ImageSize->{282, 282},
+  ImageMargins->{{34, Inherited}, {Inherited, Inherited}},
+  ImageRegion->{{0, 1}, {0, 1}},
+  AnimationDisplayTime->0.383333,
+  AnimationCycleOffset->-0.0625,
+  AnimationCycleRepetitions->Infinity,
+  ImageCacheValid->False]}, Open]]}, Open]],
+
+Cell["UnfoldPolytope[facets1]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}]
+},
+FrontEndVersion->"4.1 for Macintosh",
+ScreenRectangle->{{0, 1152}, {0, 746}},
+AutoGeneratedPackage->Automatic,
+WindowToolbars->{},
+CellGrouping->Manual,
+WindowSize->{520, 624},
+WindowMargins->{{1, Automatic}, {Automatic, 1}},
+PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}},
+ShowCellLabel->True,
+ShowCellTags->False,
+RenderingOptions->{"ObjectDithering"->True,
+"RasterDithering"->False}
+]
+
+
+(*******************************************************************
+Cached data follows.  If you edit this Notebook file directly, not
+using Mathematica, you must remove the line containing CacheID at
+the top of  the file.  The cache data will then be recreated when
+you save this file from within Mathematica.
+*******************************************************************)
+
+(*CellTagsOutline
+CellTagsIndex->{}
+*)
+
+(*CellTagsIndex
+CellTagsIndex->{}
+*)
+
+(*NotebookFileOutline
+Notebook[{
+Cell[1707, 52, 471, 14, 70, "Title"],
+
+Cell[CellGroupData[{
+Cell[2201, 68, 118, 2, 70, "Input",
+  InitializationCell->True],
+Cell[2322, 72, 900, 30, 70, "Input",
+  InitializationCell->True],
+
+Cell[CellGroupData[{
+Cell[3245, 104, 177, 7, 70, "Input",
+  InitializationCell->True],
+Cell[3425, 113, 129, 6, 70, "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[3586, 121, 115, 2, 70, "Input",
+  InitializationCell->True],
+Cell[3704, 125, 193, 7, 70, "Output",
+  InitializationCell->True]
+}, Open  ]],
+Cell[3909, 134, 112, 2, 70, "Input",
+  InitializationCell->True],
+Cell[4024, 138, 96, 2, 70, "Input",
+  InitializationCell->True],
+Cell[4123, 142, 96, 2, 70, "Input",
+  InitializationCell->True],
+Cell[4222, 146, 98, 2, 70, "Input",
+  InitializationCell->True],
+Cell[4323, 150, 93, 2, 70, "Input",
+  InitializationCell->True],
+Cell[4419, 154, 363, 11, 70, "Input",
+  InitializationCell->True],
+Cell[4785, 167, 203, 8, 70, "Input",
+  InitializationCell->True],
+Cell[4991, 177, 283, 9, 70, "Input",
+  InitializationCell->True],
+
+Cell[CellGroupData[{
+Cell[5297, 188, 144, 5, 70, "Input",
+  InitializationCell->True],
+Cell[5444, 195, 131, 6, 70, "Output",
+  InitializationCell->True]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[5616, 203, 147, 4, 70, "Input"],
+
+Cell[CellGroupData[{
+Cell[5786, 209, 75, 1, 70, "Input"],
+Cell[5864, 212, 101, 5, 70, "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[5997, 219, 84, 1, 70, "Input"],
+
+Cell[CellGroupData[{
+Cell[6104, 222, 64, 1, 70, "Input"],
+Cell[6171, 225, 91, 5, 70, "Output"]
+}, Open  ]],
+Cell[6274, 232, 78, 1, 70, "Input"],
+
+Cell[CellGroupData[{
+Cell[6375, 235, 69, 1, 70, "Input"],
+Cell[6447, 238, 111, 5, 70, "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[6590, 245, 132, 4, 70, "Input"],
+Cell[6725, 251, 9789, 822, 70, 9646, 818, "GraphicsData", "PostScript", \
+"Graphics"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[16546, 1075, 164, 7, 70, "Input"],
+Cell[16713, 1084, 8790, 1136, 70, 8647, 1132, "GraphicsData", "PostScript", \
+"Graphics"]
+}, Open  ]]
+}, Open  ]],
+Cell[25524, 2222, 120, 5, 70, "Input"],
+Cell[25647, 2229, 158, 8, 70, "Input"],
+
+Cell[CellGroupData[{
+Cell[25828, 2239, 195, 8, 70, "Input"],
+Cell[26026, 2249, 6941, 773, 70, 6798, 769, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[32970, 3024, 121, 6, 70, "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[33123, 3032, 334, 13, 70, "Input"],
+Cell[33460, 3047, 6798, 761, 70, 6621, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[40261, 3810, 6811, 761, 70, 6634, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[47075, 4573, 6829, 763, 70, 6652, 758, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[53907, 5338, 6772, 761, 70, 6595, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[60682, 6101, 6762, 761, 70, 6585, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[67447, 6864, 6746, 759, 70, 6569, 754, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[74196, 7625, 6752, 761, 70, 6575, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[80951, 8388, 6773, 761, 70, 6596, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[87727, 9151, 6800, 761, 70, 6623, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[94530, 9914, 6798, 761, 70, 6621, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[101331, 10677, 6811, 761, 70, 6634, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[108145, 11440, 6829, 763, 70, 6652, 758, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[114977, 12205, 6772, 761, 70, 6595, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[121752, 12968, 6762, 761, 70, 6585, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[128517, 13731, 6746, 759, 70, 6569, 754, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[135266, 14492, 6752, 761, 70, 6575, 756, "GraphicsData", "PostScript", \
+"Graphics"],
+Cell[142021, 15255, 6845, 763, 70, 6596, 756, "GraphicsData", "PostScript", \
+"Graphics"]
+}, Open  ]]
+}, Closed]],
+Cell[148887, 16020, 73, 1, 70, "Input"]
+}
+]
+*)
+
+
+
+(*******************************************************************
+End of Mathematica Notebook file.
+*******************************************************************)
diff --git a/third_party/cddlib/examples-ml/cddml-notebook.nb b/third_party/cddlib/examples-ml/cddml-notebook.nb
new file mode 100644
index 0000000..0f5cb7c
--- /dev/null
+++ b/third_party/cddlib/examples-ml/cddml-notebook.nb
@@ -0,0 +1,663 @@
+(************** Content-type: application/mathematica **************
+
+                    Mathematica-Compatible Notebook
+
+This notebook can be used with any Mathematica-compatible
+application, such as Mathematica, MathReader or Publicon. The data
+for the notebook starts with the line containing stars above.
+
+To get the notebook into a Mathematica-compatible application, do
+one of the following:
+
+* Save the data starting with the line of stars above into a file
+  with a name ending in .nb, then open the file inside the
+  application;
+
+* Copy the data starting with the line of stars above to the
+  clipboard, then use the Paste menu command inside the application.
+
+Data for notebooks contains only printable 7-bit ASCII and can be
+sent directly in email or through ftp in text mode.  Newlines can be
+CR, LF or CRLF (Unix, Macintosh or MS-DOS style).
+
+NOTE: If you modify the data for this notebook not in a Mathematica-
+compatible application, you must delete the line below containing
+the word CacheID, otherwise Mathematica-compatible applications may
+try to use invalid cache data.
+
+For more information on notebooks and Mathematica-compatible 
+applications, contact Wolfram Research:
+  web: http://www.wolfram.com
+  email: info@wolfram.com
+  phone: +1-217-398-0700 (U.S.)
+
+Notebook reader applications are available free of charge from 
+Wolfram Research.
+*******************************************************************)
+
+(*CacheID: 232*)
+
+
+(*NotebookFileLineBreakTest
+NotebookFileLineBreakTest*)
+(*NotebookOptionsPosition[     14720,        468]*)
+(*NotebookOutlinePosition[     16078,        512]*)
+(*  CellTagsIndexPosition[     15906,        504]*)
+(*WindowFrame->Normal*)
+
+
+
+Notebook[{
+Cell[TextData[{
+  StyleBox["cddmathlink",
+    FontColor->RGBColor[0.0557107, 0.137819, 0.517113]],
+  "\nConvex Hull and Vertex Enumeration by ",
+  StyleBox["MathLink",
+    FontSlant->"Italic",
+    FontColor->RGBColor[0.0146487, 0.461387, 0.0967727]],
+  " to ",
+  StyleBox["cddlib",
+    FontColor->RGBColor[0.517113, 0.0273594, 0.0273594]],
+  "\nby Komei Fukuda\nApril 17, 2001"
+}], "Title",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["Connecting  cddmathlink", "Subsection",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell[TextData[{
+  "You just put the compiled cddmathlink for your computer in some directory. \
+ In this example, the name of the directory is ",
+  StyleBox["\"~/Math\".",
+    FontFamily->"Courier",
+    FontWeight->"Bold"]
+}], "Text",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["Off[General::spell1]; Off[General::spell];", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+cddml=
+Install[\"~/Math/cddmathlink\"]\
+\>", "Input",
+  InitializationCell->True,
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \(LinkObject["/Users/fukuda/Math/cddmathlink", 9, 8]\)], "Output"]
+}, Open  ]]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+
+Cell["Generating All Vertices ", "Subsection",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["?AllVertices", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \("AllVertices[m,d+1,A] generates all extreme points (vertices) and \
+extreme rays of the convex polyhedron in R^(d+1) given as the solution set to \
+an inequality system  A x >= 0 where  A is an m*(d+1) matrix  and  \
+x=(1,x1,...,xd).  The output is {{extlist, linearity}, ecdlist} where extlist \
+is  the extreme point list and ecdlist is the incidence list.  Each vertex \
+(ray) has the first component 1 (0).  If the convex polyhedron is nonempty \
+and has no vertices, extlist is a (nonunique) set of generators of the \
+polyhedron where those generators in the linearity list are considered as \
+linearity space (of points satisfying A (0, x1, x2, ...., xd) = 0)  \
+generators."\)], "Print",
+  CellTags->"Info3249106863-2654627"],
+
+Cell["\<\
+Let's try this function with a 3-dimenstional cube defined by 6 \
+inequalities (facets);  
+x1  >= 0, x2 >=0, x3 >= 0, 1 - x1 >= 0,   1 - x2 >= 0 and  1 - x3 >= 0.  We \
+write these six inequalities  as   A  x  >=  0  and  x=(1, x1, x2, x3).\
+\>", \
+"Text",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+MatrixForm[a={{0,1,0,0},{0,0,1,0},{0,0,0,1},
+\t{1,-1,0,0},{1,0,-1,0},{1,0,0,-1}}]\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    TagBox[
+      RowBox[{"(", "\[NoBreak]", GridBox[{
+            {"0", "1", "0", "0"},
+            {"0", "0", "1", "0"},
+            {"0", "0", "0", "1"},
+            {"1", \(-1\), "0", "0"},
+            {"1", "0", \(-1\), "0"},
+            {"1", "0", "0", \(-1\)}
+            }], "\[NoBreak]", ")"}],
+      Function[ BoxForm`e$, 
+        MatrixForm[ BoxForm`e$]]]], "Output"],
+
+Cell[CellGroupData[{
+
+Cell["{m,d1}=Dimensions[a]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({6, 4}\)], "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+{{vertices, linearity}, \
+incidences}=AllVertices[m,d1,Flatten[a]]\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({{{{1.`, 1.`, 1.`, 0.`}, {1.`, 0.`, 1.`, 0.`}, {1.`, 0.`, 0.`, 
+            0.`}, {1.`, 1.`, 0.`, 0.`}, {1.`, 0.`, 0.`, 1.`}, {1.`, 1.`, 0.`, 
+            1.`}, {1.`, 0.`, 1.`, 1.`}, {1.`, 1.`, 1.`, 1.`}}, {}}, {{3, 4, 
+          5}, {1, 3, 5}, {1, 2, 3}, {2, 3, 4}, {1, 2, 6}, {2, 4, 6}, {1, 5, 
+          6}, {4, 5, 6}}}\)], "Output"]
+}, Open  ]]
+}, Open  ]]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+
+Cell["Generating the Graph Structure", "Subsection",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["?AllVerticesWithAdjacency", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \("AllVerticesWithAdjacency[m,d+1,A] generates all extreme points \
+(vertices) and extreme rays of the convex polyhedron in R^(d+1) given as the \
+solution set to an inequality system  A x >= 0 where   A is an m*(d+1) matrix \
+ and x=(1,x1,...,xd). The output is {{extlist, linearity}, ecdlist, eadlist, \
+icdlist, iadlist} where extlist, ecdlist, eadlist are the extreme point list, \
+the incidence list, the adjacency list (of extreme points and rays), and \
+icdlist, iadlist are the incidence list, the adjacency list (of \
+inequalities).  Each vertex (ray) has the first component 1 (0). If the \
+convex polyhedron is nonempty and has no vertices, extlist is a (nonunique) \
+set of generators of the polyhedron where those generators in the linearity \
+list are considered as linearity space (of points satisfying A (0, x1, x2, \
+...., xd) = 0) generators."\)], "Print",
+  CellTags->"Info3249106869-2272285"],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+{{vertices,linearity},ecd,ead,icd,iad}=
+\tAllVerticesWithAdjacency[m,d1,Flatten[a]]\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({{{{1.`, 1.`, 1.`, 0.`}, {1.`, 0.`, 1.`, 0.`}, {1.`, 0.`, 0.`, 
+            0.`}, {1.`, 1.`, 0.`, 0.`}, {1.`, 0.`, 0.`, 1.`}, {1.`, 1.`, 0.`, 
+            1.`}, {1.`, 0.`, 1.`, 1.`}, {1.`, 1.`, 1.`, 1.`}}, {}}, {{3, 4, 
+          5}, {1, 3, 5}, {1, 2, 3}, {2, 3, 4}, {1, 2, 6}, {2, 4, 6}, {1, 5, 
+          6}, {4, 5, 6}}, {{2, 4, 8}, {1, 3, 7}, {2, 4, 5}, {1, 3, 6}, {3, 6, 
+          7}, {4, 5, 8}, {2, 5, 8}, {1, 6, 7}}, {{2, 3, 5, 7}, {3, 4, 5, 
+          6}, {1, 2, 3, 4}, {1, 4, 6, 8}, {1, 2, 7, 8}, {5, 6, 7, 
+          8}, {}}, {{2, 3, 5, 6}, {1, 3, 4, 6}, {1, 2, 4, 5}, {2, 3, 5, 
+          6}, {1, 3, 4, 6}, {1, 2, 4, 5}, {}}}\)], "Output"]
+}, Open  ]]
+}, Open  ]],
+
+Cell[TextData[{
+  "The graph structure is output as the adjacency  list  ",
+  StyleBox["ead. ",
+    FontFamily->"Courier",
+    FontWeight->"Bold"],
+  "For example, the first list {2, 4 ,8} represents the neighbour vertices of \
+the first vertex 1.  The adjacency of input is given by\nthe list  ",
+  StyleBox["iad.",
+    FontFamily->"Courier",
+    FontWeight->"Bold"]
+}], "Text",
+  ImageRegion->{{0, 1}, {0, 1}}]
+}, Closed]],
+
+Cell[CellGroupData[{
+
+Cell["Convex Hull (Facet Generation)", "Subsection",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["?AllFacets", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \("AllFacets[n,d+1,G] generates all facet inequalities of the convex \
+polyhedron in R^(d+1) generated by points and rays given in the rows of an \
+n*(d+1) matrix G.  Each point (ray) must have 1 (0) in the first coordinate.  \
+The output is {{faclist, equalities}, icdlist} where faclist is  the facet  \
+list and icdlist is the incidence list.  If the convex polyhedron is not \
+full-dimensional, extlist is a (nonunique) set of inequalities of the \
+polyhedron where those inequalities in the equalities list are considered as \
+equalities."\)], "Print",
+  CellTags->"Info3249106877-5554290"],
+
+Cell["\<\
+We have computed all the vertices of a 3-cube.  Let's try the \
+reverse operation.  First check the size of the list of vertics.   It should \
+reconstruct the facets we have started with.\
+\>", "Text",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["{n, d1}=Dimensions[vertices]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({8, 4}\)], "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+
+{{facets,equalities}, fincidences}= AllFacets[n,d1,Flatten[vertices]]\
+\>", \
+"Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({{{{0.`, 0.`, 0.`, 1.`}, {0.`, 1.`, 0.`, 0.`}, {0.`, 0.`, 1.`, 
+            0.`}, {1.`, 0.`, 0.`, \(-1.`\)}, {1.`, 0.`, \(-1.`\), 
+            0.`}, {1.`, \(-1.`\), 0.`, 0.`}}, {}}, {{1, 2, 3, 4}, {2, 3, 5, 
+          7}, {3, 4, 5, 6}, {5, 6, 7, 8}, {1, 2, 7, 8}, {1, 4, 6, 
+          8}}}\)], "Output"]
+}, Open  ]],
+
+Cell[TextData[{
+  "We can compute how the facets are connected by using ",
+  StyleBox["AllFacetsWithAdjacency",
+    FontWeight->"Bold"],
+  " function."
+}], "Text",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+
+{{facets,equalities}, icd,iad, ecd,ead}= 
+\tAllFacetsWithAdjacency[n,d1,Flatten[vertices]]\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({{{{0.`, 0.`, 0.`, 1.`}, {0.`, 1.`, 0.`, 0.`}, {0.`, 0.`, 1.`, 
+            0.`}, {1.`, 0.`, 0.`, \(-1.`\)}, {1.`, 0.`, \(-1.`\), 
+            0.`}, {1.`, \(-1.`\), 0.`, 0.`}}, {}}, {{1, 2, 3, 4}, {2, 3, 5, 
+          7}, {3, 4, 5, 6}, {5, 6, 7, 8}, {1, 2, 7, 8}, {1, 4, 6, 8}}, {{2, 
+          3, 5, 6}, {1, 3, 4, 5}, {1, 2, 4, 6}, {2, 3, 5, 6}, {1, 2, 4, 
+          6}, {1, 3, 4, 5}}, {{1, 5, 6}, {1, 2, 5}, {1, 2, 3}, {1, 3, 6}, {2, 
+          3, 4}, {3, 4, 6}, {2, 4, 5}, {4, 5, 6}}, {{2, 4, 8}, {1, 3, 7}, {2, 
+          4, 5}, {1, 3, 6}, {3, 6, 7}, {4, 5, 8}, {2, 5, 8}, {1, 6, 
+          7}}}\)], "Output"]
+}, Open  ]]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+If you want to compute an inequality description of the \
+one-dimensional cone in R^3 with a vertex at origin and containing the \
+direction (1,1,1), you must set up the input (generator) data as:\
+\>", "Text",\
+
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["coneGenerators={{1,0,0,0},{0,1,1,1}}", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({{1, 0, 0, 0}, {0, 1, 1, 1}}\)], "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+{{cfacets,cequalities}, cfincidences}= 
+\tAllFacets[2,4,Flatten[coneGenerators]]\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({{{{1.`, 0.`, 0.`, 0.`}, {0.`, 1.`, 0.`, 0.`}, {0.`, \(-1.`\), 1.`, 
+            0.`}, {0.`, \(-1.`\), 0.`, 1.`}}, {3, 4}}, {{2}, {1}, {1, 2}, {1, 
+          2}}}\)], "Output"]
+}, Open  ]],
+
+Cell["\<\
+Since the equalities list contains 3 and 4, of the four output \
+inequalities , the third and the forth must be considered as equalities.  It \
+is important to note that this cone can have infinitely many different \
+minimal inequality descriptions, since it is not full-dimensional.\
+\>", \
+"Text",
+  ImageRegion->{{0, 1}, {0, 1}}]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+
+Cell["A Larger Example (Random 0/1 Polytopes)", "Subsection",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell["\<\
+Let's compute the convex hull of 0/1 points in R^d.  First generate \
+0/1 points.  Below each point with the first component 0 is considered as a \
+direction that must be included in the convex hull.\
+\>", "Text",
+  ImageRegion->{{0, 1}, {0, 1}},
+  FontSize->13],
+
+Cell["n=30; d1=8;", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["\<\
+points=Table[Prepend[Table[Random[Integer,{0,1}],{d1-1}],0],{n}]\
+\>\
+", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({{0, 0, 1, 1, 0, 1, 1, 1}, {0, 1, 0, 0, 1, 1, 0, 0}, {0, 1, 0, 1, 0, 0, 
+        0, 0}, {0, 0, 0, 0, 1, 1, 1, 1}, {0, 0, 1, 1, 0, 1, 1, 1}, {0, 1, 0, 
+        1, 0, 1, 1, 1}, {0, 0, 1, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 1, 1, 0, 
+        1}, {0, 0, 0, 0, 1, 0, 1, 1}, {0, 0, 1, 0, 0, 0, 1, 1}, {0, 0, 1, 0, 
+        0, 0, 1, 0}, {0, 0, 0, 0, 1, 0, 1, 0}, {0, 0, 0, 0, 0, 1, 0, 0}, {0, 
+        0, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 1, 1, 0, 1}, {0, 0, 0, 1, 1, 1, 0, 
+        0}, {0, 0, 1, 1, 1, 0, 0, 1}, {0, 1, 1, 0, 0, 1, 1, 0}, {0, 0, 1, 1, 
+        0, 0, 0, 1}, {0, 1, 0, 1, 1, 0, 1, 0}, {0, 1, 1, 1, 0, 1, 0, 1}, {0, 
+        1, 1, 1, 1, 0, 1, 1}, {0, 0, 0, 0, 1, 0, 0, 1}, {0, 1, 1, 0, 0, 0, 1, 
+        1}, {0, 0, 1, 0, 1, 1, 0, 1}, {0, 1, 0, 0, 0, 1, 1, 1}, {0, 1, 0, 0, 
+        0, 1, 1, 1}, {0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 1, 0, 1, 1, 0, 0}, {0, 
+        0, 0, 0, 1, 0, 1, 1}}\)], "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+
+Cell["Dimensions[points]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({30, 8}\)], "Output"]
+}, Open  ]],
+
+Cell["\<\
+
+{CPUtime, {{facets,equalities}, inc}}= 
+\tTiming[AllFacets[n,d1,Flatten[points]]];\
+\>", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["{CPUtime,Length[facets]}", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({0.`\ Second, 33}\)], "Output"]
+}, Open  ]],
+
+Cell["\<\
+Usually facets of 0/1 polytopes are very pretty and their \
+coefficients are small integers.\
+\>", "Text",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["Take[facets,5]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \({{0.`, 0.`, 0.`, 1.`, 0.`, 0.`, 0.`, 0.`}, {0.`, \(-1.`\), 0.`, 1.`, 
+        0.`, 1.`, 0.`, 1.`}, {0.`, \(-1.`\), \(-1.`\), 1.`, 0.`, 1.`, 1.`, 
+        1.`}, {0.`, 0.`, 0.`, 0.`, 0.`, 0.`, 0.`, 1.`}, {0.`, 0.`, 1.`, 0.`, 
+        1.`, 0.`, \(-1.`\), 1.`}}\)], "Output"]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+
+Cell["Disconnecting  cddmathlink", "Subsection",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[CellGroupData[{
+
+Cell["Uninstall[cddml]", "Input",
+  ImageRegion->{{0, 1}, {0, 1}}],
+
+Cell[BoxData[
+    \("/Users/fukuda/Math/cddmathlink"\)], "Output"]
+}, Open  ]]
+}, Closed]]
+},
+FrontEndVersion->"4.1 for Macintosh",
+ScreenRectangle->{{0, 1152}, {0, 746}},
+AutoGeneratedPackage->None,
+WindowToolbars->{},
+CellGrouping->Manual,
+WindowSize->{583, 634},
+WindowMargins->{{17, Automatic}, {Automatic, 41}},
+PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}},
+ShowCellLabel->True,
+ShowCellTags->False,
+RenderingOptions->{"ObjectDithering"->True,
+"RasterDithering"->False}
+]
+
+(*******************************************************************
+Cached data follows.  If you edit this Notebook file directly, not
+using Mathematica, you must remove the line containing CacheID at
+the top of  the file.  The cache data will then be recreated when
+you save this file from within Mathematica.
+*******************************************************************)
+
+(*CellTagsOutline
+CellTagsIndex->{
+  "Info3249106863-2654627"->{
+    Cell[3168, 111, 753, 11, 183, "Print",
+      CellTags->"Info3249106863-2654627"]},
+  "Info3249106869-2272285"->{
+    Cell[5701, 192, 930, 13, 231, "Print",
+      CellTags->"Info3249106869-2272285"]},
+  "Info3249106877-5554290"->{
+    Cell[8119, 252, 613, 9, 151, "Print",
+      CellTags->"Info3249106877-5554290"]}
+  }
+*)
+
+(*CellTagsIndex
+CellTagsIndex->{
+  {"Info3249106863-2654627", 15561, 491},
+  {"Info3249106869-2272285", 15678, 494},
+  {"Info3249106877-5554290", 15795, 497}
+  }
+*)
+
+(*NotebookFileOutline
+Notebook[{
+Cell[1705, 50, 423, 12, 348, "Title"],
+
+Cell[CellGroupData[{
+Cell[2153, 66, 106, 2, 46, "Subsection",
+  InitializationCell->True],
+
+Cell[CellGroupData[{
+Cell[2284, 72, 295, 8, 50, "Text",
+  InitializationCell->True],
+Cell[2582, 82, 120, 2, 27, "Input",
+  InitializationCell->True],
+
+Cell[CellGroupData[{
+Cell[2727, 88, 124, 5, 42, "Input",
+  InitializationCell->True],
+Cell[2854, 95, 84, 1, 27, "Output"]
+}, Open  ]]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[2999, 103, 79, 1, 30, "Subsection"],
+
+Cell[CellGroupData[{
+Cell[3103, 108, 62, 1, 27, "Input"],
+Cell[3168, 111, 753, 11, 183, "Print",
+  CellTags->"Info3249106863-2654627"],
+Cell[3924, 124, 299, 7, 68, "Text"],
+
+Cell[CellGroupData[{
+Cell[4248, 135, 139, 4, 42, "Input"],
+Cell[4390, 141, 392, 11, 117, "Output"],
+
+Cell[CellGroupData[{
+Cell[4807, 156, 70, 1, 27, "Input"],
+Cell[4880, 159, 40, 1, 27, "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[4957, 165, 124, 4, 42, "Input"],
+Cell[5084, 171, 356, 5, 91, "Output"]
+}, Open  ]]
+}, Open  ]]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[5513, 184, 85, 1, 30, "Subsection"],
+
+Cell[CellGroupData[{
+Cell[5623, 189, 75, 1, 27, "Input"],
+Cell[5701, 192, 930, 13, 231, "Print",
+  CellTags->"Info3249106869-2272285"],
+
+Cell[CellGroupData[{
+Cell[6656, 209, 141, 4, 42, "Input"],
+Cell[6800, 215, 670, 9, 155, "Output"]
+}, Open  ]]
+}, Open  ]],
+Cell[7497, 228, 412, 11, 68, "Text"]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[7946, 244, 85, 1, 30, "Subsection"],
+
+Cell[CellGroupData[{
+Cell[8056, 249, 60, 1, 27, "Input"],
+Cell[8119, 252, 613, 9, 151, "Print",
+  CellTags->"Info3249106877-5554290"],
+Cell[8735, 263, 244, 5, 50, "Text"],
+
+Cell[CellGroupData[{
+Cell[9004, 272, 78, 1, 27, "Input"],
+Cell[9085, 275, 40, 1, 27, "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[9162, 281, 130, 5, 57, "Input"],
+Cell[9295, 288, 323, 5, 75, "Output"]
+}, Open  ]],
+Cell[9633, 296, 196, 6, 32, "Text"],
+
+Cell[CellGroupData[{
+Cell[9854, 306, 149, 5, 57, "Input"],
+Cell[10006, 313, 633, 9, 139, "Output"]
+}, Open  ]]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[10688, 328, 255, 6, 50, "Text"],
+
+Cell[CellGroupData[{
+Cell[10968, 338, 86, 1, 27, "Input"],
+Cell[11057, 341, 62, 1, 27, "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[11156, 347, 138, 4, 42, "Input"],
+Cell[11297, 353, 196, 3, 43, "Output"]
+}, Open  ]],
+Cell[11508, 359, 342, 7, 68, "Text"]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[11899, 372, 94, 1, 30, "Subsection"],
+Cell[11996, 375, 272, 6, 48, "Text"],
+Cell[12271, 383, 61, 1, 27, "Input"],
+
+Cell[CellGroupData[{
+Cell[12357, 388, 124, 4, 42, "Input"],
+Cell[12484, 394, 913, 12, 171, "Output"]
+}, Open  ]],
+
+Cell[CellGroupData[{
+Cell[13434, 411, 68, 1, 27, "Input"],
+Cell[13505, 414, 41, 1, 27, "Output"]
+}, Open  ]],
+Cell[13561, 418, 141, 5, 57, "Input"],
+
+Cell[CellGroupData[{
+Cell[13727, 427, 74, 1, 27, "Input"],
+Cell[13804, 430, 51, 1, 27, "Output"]
+}, Open  ]],
+Cell[13870, 434, 149, 4, 32, "Text"],
+
+Cell[CellGroupData[{
+Cell[14044, 442, 64, 1, 27, "Input"],
+Cell[14111, 445, 291, 4, 59, "Output"]
+}, Open  ]]
+}, Closed]],
+
+Cell[CellGroupData[{
+Cell[14451, 455, 81, 1, 30, "Subsection"],
+
+Cell[CellGroupData[{
+Cell[14557, 460, 66, 1, 27, "Input"],
+Cell[14626, 463, 66, 1, 27, "Output"]
+}, Open  ]]
+}, Closed]]
+}
+]
+*)
+
+
+
+(*******************************************************************
+End of Mathematica Notebook file.
+*******************************************************************)
+
diff --git a/third_party/cddlib/examples/project1.ine b/third_party/cddlib/examples/project1.ine
new file mode 100644
index 0000000..18f265f
--- /dev/null
+++ b/third_party/cddlib/examples/project1.ine
@@ -0,0 +1,28 @@
+* Try to project on (x1, x2, x3) by eliminating the last
+* three variables using cddlib "fourier" or "projection" programs.
+* The correct result is project1res.ine.  
+H-representation
+begin
+20  7  integer
+  1  0  0  0  1  0  0
+  1  0  0  0  0  1  0
+  1  0  0  0  0  0  1
+  1  0  0  0  -1  0  0
+  1  0  0  0  0  -1  0
+  1  0  0  0  0  0  -1
+  1  1  0  0  -1  0  0
+  1  0  1  0  0  -1  0
+  1  0  0  1  0  0  -1
+  1  -1  0  0  1  0  0
+  1  0  -1  0  0  1  0
+  1  0  0  -1  0  0  1
+  2  1  1  1  -1  -1  -1
+  2  -1  1  1  1  -1  -1
+  2  1  -1  1  -1  1  -1
+  2  1  1  -1  -1  -1  1
+  2  -1  -1  1  1  1  -1
+  2  1  -1  -1  -1  1  1
+  2  -1  1  -1  1  -1  1
+  2  -1  -1  -1  1  1  1
+end
+project 3 1 2 3
diff --git a/third_party/cddlib/examples/project1res.ine b/third_party/cddlib/examples/project1res.ine
new file mode 100644
index 0000000..d89603e
--- /dev/null
+++ b/third_party/cddlib/examples/project1res.ine
@@ -0,0 +1,18 @@
+H-representation
+begin
+14  4  integer
+  5  -1  -1  1
+  2  0  0  1
+  5  -1  1  1
+  5  1  -1  1
+  2  1  0  0
+  5  1  1  1
+  5  1  1  -1
+  5  1  -1  -1
+  2  0  1  0
+  5  -1  1  -1
+  2  0  0  -1
+  5  -1  -1  -1
+  2  0  -1  0
+  2  -1  0  0
+end
diff --git a/third_party/cddlib/examples/project2.ine b/third_party/cddlib/examples/project2.ine
new file mode 100644
index 0000000..d7c5074
--- /dev/null
+++ b/third_party/cddlib/examples/project2.ine
@@ -0,0 +1,73 @@
+* Projection example: project2.ine
+* Project on the 3-space (x1, x2, x3) by eliminating the last
+* three variables (x4,x5,x6).  The result is project2res.ine .
+* This appears to be a very hard example to compute by
+* the straighforward Fourier or Block elimination because they
+* generate so many redundant inequalities.
+H-representation
+begin
+62  7  integer
+  7  0  0  0  -3  1  -2
+  9  0  0  0  -2  -1  -3
+  7  0  0  0  -2  1  -3
+  9  0  0  0  -3  -1  -2
+  3  0  0  0  -2  3  -1
+  1  0  0  0  -2  3  1
+  5  0  0  0  -3  2  -1
+  3  0  0  0  -3  2  1
+  3  0  0  0  1  -3  2
+  1  0  0  0  1  -2  3
+  5  0  0  0  -1  -3  2
+  3  0  0  0  -1  -2  3
+  -3  0  0  0  1  2  3
+  -3  0  0  0  1  3  2
+  -1  0  0  0  -1  2  3
+  -1  0  0  0  -1  3  2
+  1  0  0  0  3  1  -2
+  5  0  0  0  2  -1  -3
+  3  0  0  0  3  -1  -2
+  3  0  0  0  2  1  -3
+  -1  0  0  0  2  3  -1
+  -1  0  0  0  3  2  -1
+  -3  0  0  0  2  3  1
+  -3  0  0  0  3  2  1
+  -3  0  0  0  2  1  3
+  -1  0  0  0  3  -1  2
+  -1  0  0  0  2  -1  3
+  -3  0  0  0  3  1  2
+  3  0  0  0  2  -3  1
+  5  0  0  0  2  -3  -1
+  1  0  0  0  3  -2  1
+  3  0  0  0  3  -2  -1
+  3  0  0  0  -1  3  -2
+  5  0  0  0  -1  2  -3
+  1  0  0  0  1  3  -2
+  3  0  0  0  1  2  -3
+  9  0  0  0  -1  -2  -3
+  9  0  0  0  -1  -3  -2
+  7  0  0  0  1  -2  -3
+  7  0  0  0  1  -3  -2
+  5  0  0  0  -3  -1  2
+  1  0  0  0  -2  1  3
+  3  0  0  0  -2  -1  3
+  3  0  0  0  -3  1  2
+  7  0  0  0  -2  -3  1
+  9  0  0  0  -2  -3  -1
+  7  0  0  0  -3  -2  1
+  9  0  0  0  -3  -2  -1
+  0  1  0  0  -1  0  0
+  0  0  1  0  0  -1  0
+  0  0  0  1  0  0  -1
+  2  -1  0  0  1  0  0
+  2  0  -1  0  0  1  0
+  2  0  0  -1  0  0  1
+  -1  1  1  1  -1  -1  -1
+  1  -1  1  1  1  -1  -1
+  1  1  -1  1  -1  1  -1
+  1  1  1  -1  -1  -1  1
+  3  -1  -1  1  1  1  -1
+  3  1  -1  -1  -1  1  1
+  3  -1  1  -1  1  -1  1
+  5  -1  -1  -1  1  1  1
+end
+project 3 1 2 3
diff --git a/third_party/cddlib/examples/project2res.ine b/third_party/cddlib/examples/project2res.ine
new file mode 100644
index 0000000..ce2b510
--- /dev/null
+++ b/third_party/cddlib/examples/project2res.ine
@@ -0,0 +1,90 @@
+H-representation
+begin
+86  4  integer 
+  9  -2  1  -1
+  16  -3  1  -2
+  20  -3  -1  -2
+  12  -3  2  -1
+  8  -3  2  1
+  8  -2  -1  3
+  4  -2  1  3
+  8  -2  3  -1
+  4  -2  3  1
+  9  -1  -2  1
+  11  -2  -2  2
+  5  -1  -1  2
+  1  -1  1  2
+  3  -2  2  2
+  1  -1  2  1
+  4  0  0  -1
+  0  0  1  0
+  8  -1  -2  3
+  12  -1  -3  2
+  0  -1  2  3
+  0  -1  3  2
+  5  1  -2  1
+  8  1  -3  2
+  4  1  -2  3
+  1  1  -1  2
+  -3  1  1  2
+  -4  1  2  3
+  -4  1  3  2
+  -3  1  2  1
+  3  2  -2  2
+ -5  2  2  2
+  8  2  1  -3
+  12  2  -1  -3
+  0  2  3  -1
+  -4  2  3  1
+  1  2  -1  1
+  4  3  -2  1
+  0  3  -1  2
+  -3  2  1  1
+  -4  3  1  2
+  -4  3  2  1
+  0  1  0  0
+  0  3  2  -1
+  4  3  1  -2
+  1  2  1  -1
+  8  3  -1  -2
+  8  3  -2  -1
+  5  2  -1  -1
+  0  2  -1  3
+  -4  2  1  3
+  8  2  -3  1
+  12  2  -3  -1
+  3  2  2  -2
+  11 2  -2  -2
+  1  1  2  -1
+  4  1  3  -2
+  8  1  2  -3
+  5  1  1  -2
+  9  1  -1  -2
+  16  1  -2  -3
+  16  1  -3  -2
+  9  1  -2  -1
+  12  -1  2  -3
+  8  -1  3  -2
+  20  -1  -2  -3
+  20  -1  -3  -2
+  0  0  0  1
+  4  0  -1  0
+  5  -1  2  -1
+  11 -2  2  -2
+  9  -1  1  -2
+  13  -1  -1  -2
+  19 -2  -2  -2
+  13  -1  -2  -1
+  16  -2  1  -3
+  20  -2  -1  -3
+  16  -2  -3  1
+  20  -2  -3  -1
+  12  -3  -1  2
+  8  -3  1  2
+  5  -2  1  1
+  16  -3  -2  1
+  20  -3  -2  -1
+  9  -2  -1  1
+  13  -2  -1  -1
+  4  -1  0  0
+end
diff --git a/third_party/cddlib/examples/redcheck.ext b/third_party/cddlib/examples/redcheck.ext
new file mode 100644
index 0000000..e970c42
--- /dev/null
+++ b/third_party/cddlib/examples/redcheck.ext
@@ -0,0 +1,11 @@
+V-representation
+begin
+  7  3  integer
+ 1 0 0
+ 1 2 0
+ 1 0 2
+ 1 1 1
+ 1 2 1
+ 1 1 2
+ 1 2 2
+end
diff --git a/third_party/cddlib/examples/sample.ine b/third_party/cddlib/examples/sample.ine
new file mode 100644
index 0000000..6a301a0
--- /dev/null
+++ b/third_party/cddlib/examples/sample.ine
@@ -0,0 +1,12 @@
+* file name: sample.ine
+* 3-cube
+H-representation
+begin
+    6    4    rational
+ 10/3  1  0  0
+ 10/3  0  1  0
+ 10/3  0  0  1
+ 10/3 -1  0  0
+ 10/3  0 -1  0
+ 10/3  0  0 -1
+end
diff --git a/third_party/cddlib/examples/sampleh1.ine b/third_party/cddlib/examples/sampleh1.ine
new file mode 100644
index 0000000..2ca4c63
--- /dev/null
+++ b/third_party/cddlib/examples/sampleh1.ine
@@ -0,0 +1,10 @@
+* file name: sampleh1.ine
+* a 3-D cone containing no vertices and a line
+H-representation
+begin
+    3    4   integer
+ 2 -1 -1  0 
+ 0  1  0  0
+ 0  0  1  0
+end
+
diff --git a/third_party/cddlib/examples/sampleh2.ine b/third_party/cddlib/examples/sampleh2.ine
new file mode 100644
index 0000000..44b8b64
--- /dev/null
+++ b/third_party/cddlib/examples/sampleh2.ine
@@ -0,0 +1,8 @@
+* file name: sampleh2.ine
+* a hyperplane with no vertices and rays
+H-representation
+begin
+    1    4   integer
+-1  0  0  1
+end
+
diff --git a/third_party/cddlib/examples/sampleh3.ine b/third_party/cddlib/examples/sampleh3.ine
new file mode 100644
index 0000000..705870f
--- /dev/null
+++ b/third_party/cddlib/examples/sampleh3.ine
@@ -0,0 +1,8 @@
+* file name: sampleh3.ine
+* a 3-D homogeneous cone with no vertices
+H-representation
+begin
+    2    4   integer
+ 0  1  1  0 
+ 0  0  1  0 
+end
diff --git a/third_party/cddlib/examples/sampleh4.ine b/third_party/cddlib/examples/sampleh4.ine
new file mode 100644
index 0000000..b3777ab
--- /dev/null
+++ b/third_party/cddlib/examples/sampleh4.ine
@@ -0,0 +1,13 @@
+* File name: sampleh4.ine
+* trivial inequalities: the polyhedron is the whole space.
+H-representation
+begin
+    6   4    integer
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+ 0  0  0  0
+end
+ 
diff --git a/third_party/cddlib/examples/sampleh5.ine b/third_party/cddlib/examples/sampleh5.ine
new file mode 100644
index 0000000..00edbcf
--- /dev/null
+++ b/third_party/cddlib/examples/sampleh5.ine
@@ -0,0 +1,16 @@
+* file name: sampleh5.ine
+* test file for redundancy removal
+H-representation
+linearity 1 3
+begin
+    8   4   integer
+ 0  1  0  0
+ 0  0  1  0
+ 0  0  0  1
+ 1 -1 -1 -1
+ 1 -1 -1  0
+ 1  0 -1 -1
+ 1 -1  0 -1
+ 2 -1 -1 -1
+end
+
diff --git a/third_party/cddlib/examples/sampleh6.ine b/third_party/cddlib/examples/sampleh6.ine
new file mode 100644
index 0000000..fff163a
--- /dev/null
+++ b/third_party/cddlib/examples/sampleh6.ine
@@ -0,0 +1,12 @@
+* file name: sampleh6.ine
+* test file for forced-equality checking
+H-representation
+begin
+    5   4   integer
+ 0  1  0  0
+ 0  0  1  0
+ 0  0  0  1
+ 1 -1 -1 -1 
+-1  1  1  0
+end
+
diff --git a/third_party/cddlib/examples/sampleh7.ine b/third_party/cddlib/examples/sampleh7.ine
new file mode 100644
index 0000000..16f9130
--- /dev/null
+++ b/third_party/cddlib/examples/sampleh7.ine
@@ -0,0 +1,19 @@
+* test file for redundancy removal
+* the redundant rows are
+* 3 4 5 9 10
+* LP type =  1   Seed = 123
+H-representation
+begin
+  10  3  integer 
+ 0 1 0
+ 0 0 1
+ -10000 651 693
+ -10000 697 637
+ -10000 368 824
+ -10000 87 725
+ -10000 387 219
+ -10000 430 202
+ -10000 356 988
+ -10000 674 979
+end
+
diff --git a/third_party/cddlib/examples/sampleh8.ine b/third_party/cddlib/examples/sampleh8.ine
new file mode 100644
index 0000000..7a8698d
--- /dev/null
+++ b/third_party/cddlib/examples/sampleh8.ine
@@ -0,0 +1,110 @@
+* test file for redundancy removal
+* the redundant rows are
+* 10 11 12 14 21 23 26 32 39 40 41 44 46 
+* 50 51 54 56 57 59 62 63 64 69 76 77 78 
+* 79 83 84 85 87 88 91 94 97
+* LP type =  1   Seed = 123
+H-representation
+begin
+  100  10  integer 
+ 0 1 0 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0
+ 0 0 0 0 0 0 0 1 0 0
+ 0 0 0 0 0 0 0 0 1 0
+ 0 0 0 0 0 0 0 0 0 1
+ -10000 651 693 84 697 637 340 368 824 663
+ -10000 725 742 387 219 751 430 202 745 356
+ -10000 377 674 979 167 815 988 412 676 475
+ -10000 710 275 949 284 629 1 422 974 510
+ -10000 692 945 725 488 271 430 724 225 726
+ -10000 465 258 450 343 87 168 161 103 919
+ -10000 86 79 656 493 832 514 791 506 29
+ -10000 63 630 874 918 877 272 992 119 480
+ -10000 598 926 42 378 288 66 927 919 99
+ -10000 256 354 106 979 641 160 395 225 837
+ -10000 202 388 900 471 160 751 300 731 818
+ -10000 342 502 825 563 639 261 194 984 990
+ -10000 266 406 364 216 448 675 145 694 866
+ -10000 362 983 732 378 134 902 946 877 205
+ -10000 926 125 949 888 234 630 275 707 67
+ -10000 634 81 192 768 652 822 311 961 895
+ -10000 983 597 743 314 696 585 367 396 826
+ -10000 511 545 539 97 111 996 477 35 372
+ -10000 474 103 152 753 159 120 929 161 563
+ -10000 549 793 307 456 444 184 149 792 894
+ -10000 839 488 917 192 168 788 959 245 25
+ -10000 750 165 338 182 392 381 962 117 713
+ -10000 738 827 943 507 914 814 951 663 815
+ -10000 493 339 225 351 450 788 992 167 792
+ -10000 174 773 247 247 180 517 445 599 596
+ -10000 303 26 967 39 535 4 7 335 217
+ -10000 772 173 189 291 668 191 610 677 544
+ -10000 848 642 40 125 865 100 259 534 648
+ -10000 501 622 398 624 118 416 30 17 236
+ -10000 218 602 697 892 322 314 361 573 985
+ -10000 958 856 608 492 563 478 311 614 740
+ -10000 582 913 938 949 715 338 39 726 998
+ -10000 521 805 708 221 624 316 24 127 322
+ -10000 491 189 412 774 418 200 193 633 315
+ -10000 144 679 383 447 989 939 441 631 482
+ -10000 940 241 153 215 149 457 254 207 125
+ -10000 80 873 207 904 684 600 940 431 825
+ -10000 75 100 353 637 432 377 940 758 164
+ -10000 627 721 915 710 8 786 96 17 576
+ -10000 247 104 607 432 540 164 597 282 317
+ -10000 553 787 881 942 152 318 44 509 518
+ -10000 181 772 942 993 916 900 713 694 812
+ -10000 625 26 638 261 385 196 676 717 572
+ -10000 11 911 296 761 658 631 757 817 400
+ -10000 964 989 879 491 490 751 490 97 405
+ -10000 28 461 343 452 480 504 411 242 892
+ -10000 768 746 347 352 724 487 185 767 287
+ -10000 924 228 958 554 352 460 765 742 430
+ -10000 737 986 499 993 721 29 821 416 813
+ -10000 483 458 249 781 584 321 779 209 570
+ -10000 222 166 975 53 765 256 859 469 164
+ -10000 82 696 181 166 375 145 415 496 261
+ -10000 540 309 526 918 439 489 846 417 775
+ -10000 699 145 327 873 467 866 711 393 603
+ -10000 445 668 729 224 654 970 279 789 680
+ -10000 28 659 365 306 186 520 427 176 191
+ -10000 919 58 859 436 105 35 560 716 14
+ -10000 641 238 340 524 205 255 272 14 472
+ -10000 817 22 904 782 573 847 649 100 280
+ -10000 925 277 930 495 736 960 276 726 657
+ -10000 336 54 357 979 941 765 593 630 286
+ -10000 65 113 104 915 222 158 580 520 188
+ -10000 42 617 904 414 588 857 416 94 988
+ -10000 716 49 849 67 607 99 934 184 217
+ -10000 458 32 500 552 108 980 255 998 935
+ -10000 860 936 115 268 231 281 948 209 766
+ -10000 293 330 940 570 857 421 574 481 364
+ -10000 959 949 372 757 306 757 752 312 137
+ -10000 769 303 737 260 187 695 946 723 433
+ -10000 980 564 605 363 776 893 558 616 603
+ -10000 945 23 632 820 54 677 795 616 625
+ -10000 629 692 585 33 674 703 304 489 949
+ -10000 52 903 723 746 692 232 917 933 211
+ -10000 367 566 364 318 607 818 424 234 605
+ -10000 915 305 354 829 469 447 925 188 799
+ -10000 387 596 946 888 751 614 539 295 299
+ -10000 969 902 10 739 289 923 808 28 151
+ -10000 537 152 546 442 182 301 258 265 762
+ -10000 671 288 343 199 694 391 457 947 250
+ -10000 415 734 423 435 696 111 53 227 784
+ -10000 800 992 720 76 40 419 608 182 683
+ -10000 619 627 278 526 453 960 772 992 86
+ -10000 836 623 0 21 371 4 676 964 658
+ -10000 258 677 64 968 62 219 587 308 299
+ -10000 224 823 258 449 575 526 908 585 405
+ -10000 593 660 663 341 36 79 50 242 293
+ -10000 80 761 270 460 82 133 874 559 41
+ -10000 169 539 257 827 222 743 873 929 523
+ -10000 403 167 259 377 76 160 749 448 902
+ -10000 290 5 276 509 342 909 193 443 552
+ -10000 928 326 757 405 598 765 143 833 150
+end
diff --git a/third_party/cddlib/examples/samplelp.ine b/third_party/cddlib/examples/samplelp.ine
new file mode 100644
index 0000000..99121c9
--- /dev/null
+++ b/third_party/cddlib/examples/samplelp.ine
@@ -0,0 +1,29 @@
+* Rational LP data
+H-representation
+begin
+   20   5   rational
+ 0       1         0           0             0
+ 0       0         1           0             0
+ 0       0         0           1             0
+ 0       0         0           0             1
+ 0    3008     20980      -97775       -101225
+ 0    3985     25643     -135871       -130580
+ 0    4324     26978     -133655       -168473
+ 0    3534     25361      -46243       -100407
+ 0    8836     40796     -176661       -215616
+ 0    5376     37562     -182576       -217615
+ 0    4982     33088      -98880       -167278
+ 0    4775     39122     -136701       -193393
+ 0    8046     42958     -225138       -256575
+ 0    8554     48955     -257370       -312877
+ 0    6147     45514     -165274       -227099
+ 0    8366     55140     -203989       -321623
+ 0   13479     68037     -174270       -341743
+ 0   21808     78302     -322990       -487539
+ 1  -8554/10000   -48955/10000                 0                   0
+ 1            0              0     -257370/10000       -312877/10000
+end
+maximize 
+ 0  1  1/2 1/3 1/4
+debug
+
diff --git a/third_party/cddlib/examples/samplelp.testlp1_gmp_output b/third_party/cddlib/examples/samplelp.testlp1_gmp_output
new file mode 100644
index 0000000..754ffd8
--- /dev/null
+++ b/third_party/cddlib/examples/samplelp.testlp1_gmp_output
@@ -0,0 +1,93 @@
+lsne-2-240% testlp1_gmp
+
+>> Input file: samplelp.ine
+input file samplelp.ine is open
+size = 20 x 5
+Number Type = rational
+H-representation
+begin
+ 20 5 rational
+ 0 1 0 0 0
+ 0 0 1 0 0
+ 0 0 0 1 0
+ 0 0 0 0 1
+ 0 3008 20980 -97775 -101225
+ 0 3985 25643 -135871 -130580
+ 0 4324 26978 -133655 -168473
+ 0 3534 25361 -46243 -100407
+ 0 8836 40796 -176661 -215616
+ 0 5376 37562 -182576 -217615
+ 0 4982 33088 -98880 -167278
+ 0 4775 39122 -136701 -193393
+ 0 8046 42958 -225138 -256575
+ 0 8554 48955 -257370 -312877
+ 0 6147 45514 -165274 -227099
+ 0 8366 55140 -203989 -321623
+ 0 13479 68037 -174270 -341743
+ 0 21808 78302 -322990 -487539
+ 1 -4277/5000 -9791/2000 0 0
+ 1 0 0 -25737/1000 -312877/10000
+end
+
+--- Running dd_LPSolve ---
+* cdd LP solver result
+* cdd: a double description code:Version 0.90gmp (May 19, 2000)
+* compiled for GMP rational arithmetic.
+* Copyright (C) 1996, Komei Fukuda, fukuda@ifor.math.ethz.ch
+* #constraints = 20
+* #variables   = 4
+* Algorithm: dual simplex algorithm
+* maximization is chosen
+* Objective function is
+ 0 + 1 X[  1] + 1/2 X[  2] + 1/3 X[  3] + 1/4 X[  4]
+* LP status: a dual pair (x,y) of optimal solutions found.
+begin
+  primal_solution
+    1 :  5000/4277
+    2 :  0
+    3 :  19925000/581120267
+    4 :  0
+  dual_solution
+    6 :  1/407613
+    2 :  18187069067/3486721602
+   19 :  2057990000/1743360801
+    4 :  114707/1630452
+  optimal_value :  2057990000/1743360801
+end
+* number of pivot operations = 10 (ph0 = 4, ph1 = 3, ph2 = 3, ph3 = 0)
+*Computation starts     at Sun May 21 23:30:19 2000
+*            terminates at Sun May 21 23:30:19 2000
+*Total processor time = 0 seconds
+*                     = 0 h 0 m 0 s
+(Iter, #Row, #Total, #Curr, Feas)=     6     5          9       7       3
+(Iter, #Row, #Total, #Curr, Feas)=     7     8          9       7       3
+(Iter, #Row, #Total, #Curr, Feas)=     8     6         14       9       5
+(Iter, #Row, #Total, #Curr, Feas)=     9     7         18       9       5
+(Iter, #Row, #Total, #Curr, Feas)=    10    12         21      11       6
+(Iter, #Row, #Total, #Curr, Feas)=    11    11         21      11       6
+(Iter, #Row, #Total, #Curr, Feas)=    12    10         26      13      10
+(Iter, #Row, #Total, #Curr, Feas)=    13    15         26      13      10
+(Iter, #Row, #Total, #Curr, Feas)=    14    13         29      15      10
+(Iter, #Row, #Total, #Curr, Feas)=    15    16         29      15      10
+(Iter, #Row, #Total, #Curr, Feas)=    16    14         34      15      15
+
+All the vertices of the feasible region.
+V-representation
+begin
+ 15 5 rational
+ 1 0 2000/9791 0 0
+ 1 5000/4277 0 0 0
+ 1 0 2000/9791 51286000/1330312961 0
+ 1 5000/4277 0 19925000/581120267 0
+ 1 5000/4277 0 0 23875000/827141861
+ 1 5000/4277 0 12707515000/376823017893 2877136000/4898699232609
+ 1 1143413390000/1409570226171 88141030000/1409570226171 0 43460900000/1409570226171
+ 1 5000/4277 0 2845715000/23783251846081 52652240000/1829480911237
+ 1 12493061640000/10714427322421 5691430000/10714427322421 0 309613220000/10714427322421
+ 1 0 2000/9791 0 10000/312877
+ 1 241499988750/746539852973 2346752500/15883826659 0 10000/312877
+ 1 127276149881465000/245208557641088631 27849359418340000/245208557641088631 6956201331595000/245208557641088631 705035354360000/81736185880362877
+ 1 15266257972352500/27738073472746771 2998532612235000/27738073472746771 497786252410000/27738073472746771 1279018810000/74364808237927
+ 1 0 2000/9791 3261122022000/87174523590197 103651790000/87174523590197
+ 1 0 0 0 0
+end
diff --git a/third_party/cddlib/examples/samplelp.testlp1_output b/third_party/cddlib/examples/samplelp.testlp1_output
new file mode 100644
index 0000000..996cb24
--- /dev/null
+++ b/third_party/cddlib/examples/samplelp.testlp1_output
@@ -0,0 +1,94 @@
+lsne-2-240% testlp1
+
+>> Input file: samplelp.ine
+input file samplelp.ine is open
+size = 20 x 5
+Number Type = rational
+H-representation
+begin
+ 20 5 real
+  0  1  0  0  0
+  0  0  1  0  0
+  0  0  0  1  0
+  0  0  0  0  1
+  0 3008 20980 -97775 -101225
+  0 3985 25643 -135871 -130580
+  0 4324 26978 -133655 -168473
+  0 3534 25361 -46243 -100407
+  0 8836 40796 -176661 -2.156160000E+05
+  0 5376 37562 -182576 -2.176150000E+05
+  0 4982 33088 -98880 -167278
+  0 4775 39122 -136701 -193393
+  0 8046 42958 -2.251380000E+05 -2.565750000E+05
+  0 8554 48955 -2.573700000E+05 -3.128770000E+05
+  0 6147 45514 -165274 -2.270990000E+05
+  0 8366 55140 -203989 -3.216230000E+05
+  0 13479 68037 -174270 -3.417430000E+05
+  0 21808 78302 -3.229900000E+05 -4.875390000E+05
+  1 -8.554000000E-01 -4.895500000E+00  0  0
+  1  0  0 -2.573700000E+01 -3.128770000E+01
+end
+
+--- Running dd_LPSolve ---
+* cdd LP solver result
+* cdd: a double description code:Version 0.90gmp (May 19, 2000)
+* compiled for C double arithmetic.
+* Copyright (C) 1996, Komei Fukuda, fukuda@ifor.math.ethz.ch
+* #constraints = 20
+* #variables   = 4
+* Algorithm: dual simplex algorithm
+* maximization is chosen
+* Objective function is
+  0 +  1 X[  1] +  5.000000000E-01 X[  2] +  3.333333333E-01 X[  3] +  2.500000000E-01 X[  4]
+* LP status: a dual pair (x,y) of optimal solutions found.
+begin
+  primal_solution
+    1 :   1.169043722E+00
+    2 :   0
+    3 :   3.428722268E-02
+    4 :   0
+  dual_solution
+    6 :   0
+    2 :   5.216094413E+00
+   19 :   1.180472796E+00
+    4 :   7.035288374E-02
+  optimal_value :   1.180472796E+00
+end
+* number of pivot operations = 10 (ph0 = 4, ph1 = 3, ph2 = 3, ph3 = 0)
+*Computation starts     at Sun May 21 23:27:48 2000
+*            terminates at Sun May 21 23:27:48 2000
+*Total processor time = 0 seconds
+*                     = 0 h 0 m 0 s
+(Iter, #Row, #Total, #Curr, Feas)=     6     5          9       7       3
+(Iter, #Row, #Total, #Curr, Feas)=     7     8          9       7       3
+(Iter, #Row, #Total, #Curr, Feas)=     8     6         14       9       5
+(Iter, #Row, #Total, #Curr, Feas)=     9     7         18       9       5
+(Iter, #Row, #Total, #Curr, Feas)=    10    12         21      11       6
+(Iter, #Row, #Total, #Curr, Feas)=    11    11         21      11       6
+(Iter, #Row, #Total, #Curr, Feas)=    12    10         26      13      10
+(Iter, #Row, #Total, #Curr, Feas)=    13    15         26      13      10
+(Iter, #Row, #Total, #Curr, Feas)=    14    13         29      15      10
+(Iter, #Row, #Total, #Curr, Feas)=    15    16         29      15      10
+(Iter, #Row, #Total, #Curr, Feas)=    16    14         34      15      15
+
+All the vertices of the feasible region.
+V-representation
+begin
+ 15 5 real
+  1  0  2.042692268E-01  0  0
+  1  1.169043722E+00  0  0  0
+  1  0  2.042692268E-01  3.855183066E-02  0
+  1  1.169043722E+00  0  3.428722268E-02  0
+  1  1.169043722E+00  0  0  2.886445618E-02
+  1  1.169043722E+00  0  3.372276744E-02  5.873265255E-04
+  1  8.111787329E-01  6.253042833E-02  0  3.083273128E-02
+  1  1.169043722E+00  0  1.196520568E-04  2.877987941E-02
+  1  1.166003676E+00  5.311931127E-04  0  2.889685194E-02
+  1  0  2.042692268E-01  0  3.196144172E-02
+  1  3.234924268E-01  1.477447816E-01  0  3.196144172E-02
+  1  5.190526428E-01  1.135741741E-01  2.836850964E-02  8.625743259E-03
+  1  5.503719639E-01  1.081016897E-01  1.794595623E-02  1.719924841E-02
+  1  0  2.042692268E-01  3.740911780E-02  1.189014700E-03
+  1  0  0  0  0
+end
+
diff --git a/third_party/cddlib/examples/samplelp1.ine b/third_party/cddlib/examples/samplelp1.ine
new file mode 100644
index 0000000..92779f3
--- /dev/null
+++ b/third_party/cddlib/examples/samplelp1.ine
@@ -0,0 +1,15 @@
+* file name: samplelp1.ine
+* LP
+H-representation
+begin
+    6    4    integer
+ 1  1  0  0
+ 1  0  1  0
+ 1  0  0  1
+ 1 -1  0  0
+ 1  0 -1  0
+ 1  0  0 -1
+end
+maximize
+ 0  1  1  1
+
diff --git a/third_party/cddlib/examples/samplelp2.ine b/third_party/cddlib/examples/samplelp2.ine
new file mode 100644
index 0000000..d5e865c
--- /dev/null
+++ b/third_party/cddlib/examples/samplelp2.ine
@@ -0,0 +1,14 @@
+* file name: samplelp2.ine
+* LP
+H-representation
+linearity 2  3  4
+begin
+    4    5   rational
+ 0  1  1  0   0
+ 0  0  2  0   0
+ 3  0 -1  0   0
+ 9/2  0  0 -1  -1
+end
+minimize
+0  2  3/5  0  0
+
diff --git a/third_party/cddlib/examples/samplelp3.ine b/third_party/cddlib/examples/samplelp3.ine
new file mode 100644
index 0000000..fdc0916
--- /dev/null
+++ b/third_party/cddlib/examples/samplelp3.ine
@@ -0,0 +1,128 @@
+* file name: samplelp3.ine
+* LP given by floating-point real numbers
+H-representation
+begin
+      120      5    real
+  2.618033989E+00  1  0  0  0
+  8.472135943E+00  2.618033984E+00  1.618033988E+00 -1  0
+  8.472135943E+00  2.618033984E+00  1.618033988E+00  1  0
+  8.472135945E+00  2.618033984E+00  1  0  1.618033990E+00
+  8.472135945E+00  2.618033984E+00  1  0 -1.618033990E+00
+  8.472135946E+00  2.618033985E+00  0  1.618033990E+00  1
+  8.472135946E+00  2.618033985E+00  0  1.618033990E+00 -1
+  8.472135946E+00  2.618033985E+00  0 -1.618033990E+00  1
+  8.472135946E+00  2.618033985E+00  0 -1.618033990E+00 -1
+  8.472135960E+00  2.618033990E+00 -1  0  1.618033991E+00
+  8.472135954E+00  2.618033988E+00 -1  0 -1.618033990E+00
+  8.472135941E+00  2.618033984E+00 -1.618033987E+00  1  0
+  8.472135946E+00  2.618033984E+00 -1.618033992E+00 -1  0
+  8.472135966E+00  1.618033989E+00  2.618033995E+00  0  1
+  8.472135966E+00  1.618033989E+00  2.618033995E+00  0 -1
+  5.236067982E+00  1  1  1  1
+  5.236067982E+00  1  1  1 -1
+  5.236067980E+00  1  1 -1  1
+  5.236067980E+00  1  1 -1 -1
+  8.472135941E+00  1.618033989E+00  1  2.618033982E+00  0
+  8.472135936E+00  1.618033985E+00  1 -2.618033983E+00  0
+  8.472135965E+00  1.618033992E+00  0  1  2.618033991E+00
+  8.472135965E+00  1.618033992E+00  0  1 -2.618033991E+00
+  8.472135967E+00  1.618033992E+00  0 -1  2.618033993E+00
+  8.472135967E+00  1.618033992E+00  0 -1 -2.618033993E+00
+  8.472135996E+00  1.618034002E+00 -1  2.618033998E+00  0
+  8.472135985E+00  1.618033997E+00 -1 -2.618033998E+00  0
+  5.236067982E+00  1 -1  1  1
+  5.236067987E+00  1 -1  1 -1
+  5.236067983E+00  1 -1 -1  1
+  5.236067984E+00  1 -1 -1 -1
+  8.472135981E+00  1.618033999E+00 -2.618033991E+00  0  1
+  8.472135972E+00  1.618033998E+00 -2.618033988E+00  0 -1
+  8.472135864E+00  1  2.618033957E+00  1.618033969E+00  0
+  8.472135874E+00  1  2.618033960E+00 -1.618033969E+00  0
+  8.472135841E+00  1  1.618033964E+00  0  2.618033948E+00
+  8.472135864E+00  1  1.618033970E+00  0 -2.618033956E+00
+  8.472135865E+00  1  0  2.618033957E+00  1.618033968E+00
+  8.472135880E+00  1  0  2.618033963E+00 -1.618033971E+00
+  8.472135921E+00  1  0 -2.618033977E+00  1.618033982E+00
+  8.472135936E+00  1  0 -2.618033982E+00 -1.618033984E+00
+  8.472135950E+00  1 -1.618033984E+00  0  2.618033987E+00
+  8.472135975E+00  1 -1.618033991E+00  0 -2.618033996E+00
+  8.472135940E+00  1 -2.618033980E+00  1.618033987E+00  0
+  8.472135918E+00  1 -2.618033977E+00 -1.618033979E+00  0
+  2.618033992E+00  0  1  0  0
+  8.472135970E+00  0  2.618033994E+00  1  1.618033987E+00
+  8.472135966E+00  0  2.618033993E+00  1 -1.618033986E+00
+  8.472135969E+00  0  2.618033993E+00 -1  1.618033989E+00
+  8.472135965E+00  0  2.618033993E+00 -1 -1.618033988E+00
+  8.472135978E+00  0  1.618033994E+00  2.618033994E+00  1
+  8.472136017E+00  0  1.618034002E+00  2.618034006E+00 -1
+  8.472135962E+00  0  1.618033993E+00 -2.618033988E+00  1
+  8.472135995E+00  0  1.618033999E+00 -2.618033998E+00 -1
+  8.472135946E+00  0  1  1.618033984E+00  2.618033986E+00
+  8.472135944E+00  0  1  1.618033985E+00 -2.618033986E+00
+  8.472135922E+00  0  1 -1.618033980E+00  2.618033979E+00
+  2.618033990E+00  0  0  0  1
+  8.472135919E+00  0  1 -1.618033980E+00 -2.618033979E+00
+  2.618033989E+00  0  0  0 -1
+  2.618033988E+00  0  0  1  0
+  2.618033987E+00  0  0 -1  0
+  8.472135960E+00  0 -1  1.618033993E+00  2.618033991E+00
+  8.472135908E+00  0 -1.618033977E+00  2.618033974E+00  1
+  8.472135958E+00  0 -1  1.618033994E+00 -2.618033991E+00
+  8.472135901E+00  0 -1.618033978E+00  2.618033974E+00 -1
+  8.472135954E+00  0 -1 -1.618033990E+00  2.618033990E+00
+  8.472135908E+00  0 -1.618033976E+00 -2.618033974E+00  1
+  8.472135952E+00  0 -1 -1.618033991E+00 -2.618033990E+00
+  8.472135907E+00  0 -1.618033978E+00 -2.618033975E+00 -1
+  8.472135946E+00  0 -2.618033995E+00  1  1.618033991E+00
+  8.472135953E+00  0 -2.618033995E+00 -1  1.618033994E+00
+  8.472135953E+00  0 -2.618033998E+00  1 -1.618033992E+00
+  8.472135955E+00  0 -2.618033996E+00 -1 -1.618033994E+00
+  2.618033981E+00  0 -1  0  0
+  8.472135799E+00 -1  2.618033936E+00  1.618033957E+00  0
+  8.472135806E+00 -1  2.618033939E+00 -1.618033956E+00  0
+  8.472135741E+00 -1  1.618033945E+00  0  2.618033918E+00
+  8.472135889E+00 -1.618033990E+00  2.618033960E+00  0  1
+  8.472135767E+00 -1  1.618033951E+00  0 -2.618033925E+00
+  8.472135878E+00 -1.618033996E+00  2.618033953E+00  0 -1
+  8.472135831E+00 -1  0  2.618033947E+00  1.618033962E+00
+  5.236068004E+00 -1  1  1  1
+  8.472135830E+00 -1  0  2.618033948E+00 -1.618033961E+00
+  5.236067998E+00 -1  1  1 -1
+  8.472135931E+00 -1  0 -2.618033980E+00  1.618033984E+00
+  5.236067998E+00 -1  1 -1  1
+  8.472135930E+00 -1  0 -2.618033980E+00 -1.618033982E+00
+  5.236067992E+00 -1  1 -1 -1
+  8.472135952E+00 -1.618033993E+00  1  2.618033986E+00  0
+  8.472135960E+00 -1.618033995E+00  1 -2.618033988E+00  0
+  8.472135973E+00 -1 -1.618033989E+00  0  2.618033995E+00
+  8.472135979E+00 -1.618033991E+00  0  1  2.618033997E+00
+  8.472135996E+00 -1 -1.618033995E+00  0 -2.618034002E+00
+  8.472135951E+00 -1.618033985E+00  0  1 -2.618033988E+00
+  8.472135999E+00 -1.618033998E+00  0 -1  2.618034003E+00
+  8.472135970E+00 -1.618033992E+00  0 -1 -2.618033994E+00
+  8.472135949E+00 -1 -2.618033984E+00  1.618033989E+00  0
+  8.472135976E+00 -1.618033990E+00 -1  2.618033998E+00  0
+  8.472135886E+00 -1 -2.618033968E+00 -1.618033973E+00  0
+  8.472136008E+00 -1.618034002E+00 -1 -2.618034009E+00  0
+  5.236068025E+00 -1 -1  1  1
+  5.236068045E+00 -1 -1  1 -1
+  5.236067992E+00 -1 -1 -1  1
+  5.236067996E+00 -1 -1 -1 -1
+  8.472135733E+00 -1.618033890E+00 -2.618033931E+00  0  1
+  8.472135716E+00 -1.618033884E+00 -2.618033926E+00  0 -1
+  8.472135892E+00 -2.618033958E+00  1.618033988E+00  1  0
+  8.472135949E+00 -2.618033975E+00  1.618033999E+00 -1  0
+  8.472135850E+00 -2.618033938E+00  1  0  1.618033982E+00
+  8.472135860E+00 -2.618033944E+00  1  0 -1.618033981E+00
+  8.472135925E+00 -2.618033969E+00  0  1.618033991E+00  1
+  8.472135937E+00 -2.618033972E+00  0  1.618033995E+00 -1
+  8.472135998E+00 -2.618034011E+00  0 -1.618033985E+00  1
+  8.472136011E+00 -2.618034015E+00  0 -1.618033988E+00 -1
+  8.472136073E+00 -2.618034037E+00 -1  0  1.618034000E+00
+  8.472136082E+00 -2.618034044E+00 -1  0 -1.618033997E+00
+  8.472135976E+00 -2.618034005E+00 -1.618033977E+00  1  0
+  8.472136051E+00 -2.618034034E+00 -1.618033992E+00 -1  0
+  2.618033989E+00 -1  0  0  0
+end
+maximize
+  0 1 2.1 3.1 4.5
diff --git a/third_party/cddlib/examples/samplelp4.ine b/third_party/cddlib/examples/samplelp4.ine
new file mode 100644
index 0000000..4582d3b
--- /dev/null
+++ b/third_party/cddlib/examples/samplelp4.ine
@@ -0,0 +1,128 @@
+* file name: lpmintest.ine
+H-representation
+begin
+      120      5    real
+  2.618033989E+00  1  0  0  0
+  8.472135943E+00  2.618033984E+00  1.618033988E+00 -1  0
+  8.472135943E+00  2.618033984E+00  1.618033988E+00  1  0
+  8.472135945E+00  2.618033984E+00  1  0  1.618033990E+00
+  8.472135945E+00  2.618033984E+00  1  0 -1.618033990E+00
+  8.472135946E+00  2.618033985E+00  0  1.618033990E+00  1
+  8.472135946E+00  2.618033985E+00  0  1.618033990E+00 -1
+  8.472135946E+00  2.618033985E+00  0 -1.618033990E+00  1
+  8.472135946E+00  2.618033985E+00  0 -1.618033990E+00 -1
+  8.472135960E+00  2.618033990E+00 -1  0  1.618033991E+00
+  8.472135954E+00  2.618033988E+00 -1  0 -1.618033990E+00
+  8.472135941E+00  2.618033984E+00 -1.618033987E+00  1  0
+  8.472135946E+00  2.618033984E+00 -1.618033992E+00 -1  0
+  8.472135966E+00  1.618033989E+00  2.618033995E+00  0  1
+  8.472135966E+00  1.618033989E+00  2.618033995E+00  0 -1
+  5.236067982E+00  1  1  1  1
+  5.236067982E+00  1  1  1 -1
+  5.236067980E+00  1  1 -1  1
+  5.236067980E+00  1  1 -1 -1
+  8.472135941E+00  1.618033989E+00  1  2.618033982E+00  0
+  8.472135936E+00  1.618033985E+00  1 -2.618033983E+00  0
+  8.472135965E+00  1.618033992E+00  0  1  2.618033991E+00
+  8.472135965E+00  1.618033992E+00  0  1 -2.618033991E+00
+  8.472135967E+00  1.618033992E+00  0 -1  2.618033993E+00
+  8.472135967E+00  1.618033992E+00  0 -1 -2.618033993E+00
+  8.472135996E+00  1.618034002E+00 -1  2.618033998E+00  0
+  8.472135985E+00  1.618033997E+00 -1 -2.618033998E+00  0
+  5.236067982E+00  1 -1  1  1
+  5.236067987E+00  1 -1  1 -1
+  5.236067983E+00  1 -1 -1  1
+  5.236067984E+00  1 -1 -1 -1
+  8.472135981E+00  1.618033999E+00 -2.618033991E+00  0  1
+  8.472135972E+00  1.618033998E+00 -2.618033988E+00  0 -1
+  8.472135864E+00  1  2.618033957E+00  1.618033969E+00  0
+  8.472135874E+00  1  2.618033960E+00 -1.618033969E+00  0
+  8.472135841E+00  1  1.618033964E+00  0  2.618033948E+00
+  8.472135864E+00  1  1.618033970E+00  0 -2.618033956E+00
+  8.472135865E+00  1  0  2.618033957E+00  1.618033968E+00
+  8.472135880E+00  1  0  2.618033963E+00 -1.618033971E+00
+  8.472135921E+00  1  0 -2.618033977E+00  1.618033982E+00
+  8.472135936E+00  1  0 -2.618033982E+00 -1.618033984E+00
+  8.472135950E+00  1 -1.618033984E+00  0  2.618033987E+00
+  8.472135975E+00  1 -1.618033991E+00  0 -2.618033996E+00
+  8.472135940E+00  1 -2.618033980E+00  1.618033987E+00  0
+  8.472135918E+00  1 -2.618033977E+00 -1.618033979E+00  0
+  2.618033992E+00  0  1  0  0
+  8.472135970E+00  0  2.618033994E+00  1  1.618033987E+00
+  8.472135966E+00  0  2.618033993E+00  1 -1.618033986E+00
+  8.472135969E+00  0  2.618033993E+00 -1  1.618033989E+00
+  8.472135965E+00  0  2.618033993E+00 -1 -1.618033988E+00
+  8.472135978E+00  0  1.618033994E+00  2.618033994E+00  1
+  8.472136017E+00  0  1.618034002E+00  2.618034006E+00 -1
+  8.472135962E+00  0  1.618033993E+00 -2.618033988E+00  1
+  8.472135995E+00  0  1.618033999E+00 -2.618033998E+00 -1
+  8.472135946E+00  0  1  1.618033984E+00  2.618033986E+00
+  8.472135944E+00  0  1  1.618033985E+00 -2.618033986E+00
+  8.472135922E+00  0  1 -1.618033980E+00  2.618033979E+00
+  2.618033990E+00  0  0  0  1
+  8.472135919E+00  0  1 -1.618033980E+00 -2.618033979E+00
+  2.618033989E+00  0  0  0 -1
+  2.618033988E+00  0  0  1  0
+  2.618033987E+00  0  0 -1  0
+  8.472135960E+00  0 -1  1.618033993E+00  2.618033991E+00
+  8.472135908E+00  0 -1.618033977E+00  2.618033974E+00  1
+  8.472135958E+00  0 -1  1.618033994E+00 -2.618033991E+00
+  8.472135901E+00  0 -1.618033978E+00  2.618033974E+00 -1
+  8.472135954E+00  0 -1 -1.618033990E+00  2.618033990E+00
+  8.472135908E+00  0 -1.618033976E+00 -2.618033974E+00  1
+  8.472135952E+00  0 -1 -1.618033991E+00 -2.618033990E+00
+  8.472135907E+00  0 -1.618033978E+00 -2.618033975E+00 -1
+  8.472135946E+00  0 -2.618033995E+00  1  1.618033991E+00
+  8.472135953E+00  0 -2.618033995E+00 -1  1.618033994E+00
+  8.472135953E+00  0 -2.618033998E+00  1 -1.618033992E+00
+  8.472135955E+00  0 -2.618033996E+00 -1 -1.618033994E+00
+  2.618033981E+00  0 -1  0  0
+  8.472135799E+00 -1  2.618033936E+00  1.618033957E+00  0
+  8.472135806E+00 -1  2.618033939E+00 -1.618033956E+00  0
+  8.472135741E+00 -1  1.618033945E+00  0  2.618033918E+00
+  8.472135889E+00 -1.618033990E+00  2.618033960E+00  0  1
+  8.472135767E+00 -1  1.618033951E+00  0 -2.618033925E+00
+  8.472135878E+00 -1.618033996E+00  2.618033953E+00  0 -1
+  8.472135831E+00 -1  0  2.618033947E+00  1.618033962E+00
+  5.236068004E+00 -1  1  1  1
+  8.472135830E+00 -1  0  2.618033948E+00 -1.618033961E+00
+  5.236067998E+00 -1  1  1 -1
+  8.472135931E+00 -1  0 -2.618033980E+00  1.618033984E+00
+  5.236067998E+00 -1  1 -1  1
+  8.472135930E+00 -1  0 -2.618033980E+00 -1.618033982E+00
+  5.236067992E+00 -1  1 -1 -1
+  8.472135952E+00 -1.618033993E+00  1  2.618033986E+00  0
+  8.472135960E+00 -1.618033995E+00  1 -2.618033988E+00  0
+  8.472135973E+00 -1 -1.618033989E+00  0  2.618033995E+00
+  8.472135979E+00 -1.618033991E+00  0  1  2.618033997E+00
+  8.472135996E+00 -1 -1.618033995E+00  0 -2.618034002E+00
+  8.472135951E+00 -1.618033985E+00  0  1 -2.618033988E+00
+  8.472135999E+00 -1.618033998E+00  0 -1  2.618034003E+00
+  8.472135970E+00 -1.618033992E+00  0 -1 -2.618033994E+00
+  8.472135949E+00 -1 -2.618033984E+00  1.618033989E+00  0
+  8.472135976E+00 -1.618033990E+00 -1  2.618033998E+00  0
+  8.472135886E+00 -1 -2.618033968E+00 -1.618033973E+00  0
+  8.472136008E+00 -1.618034002E+00 -1 -2.618034009E+00  0
+  5.236068025E+00 -1 -1  1  1
+  5.236068045E+00 -1 -1  1 -1
+  5.236067992E+00 -1 -1 -1  1
+  5.236067996E+00 -1 -1 -1 -1
+  8.472135733E+00 -1.618033890E+00 -2.618033931E+00  0  1
+  8.472135716E+00 -1.618033884E+00 -2.618033926E+00  0 -1
+  8.472135892E+00 -2.618033958E+00  1.618033988E+00  1  0
+  8.472135949E+00 -2.618033975E+00  1.618033999E+00 -1  0
+  8.472135850E+00 -2.618033938E+00  1  0  1.618033982E+00
+  8.472135860E+00 -2.618033944E+00  1  0 -1.618033981E+00
+  8.472135925E+00 -2.618033969E+00  0  1.618033991E+00  1
+  8.472135937E+00 -2.618033972E+00  0  1.618033995E+00 -1
+  8.472135998E+00 -2.618034011E+00  0 -1.618033985E+00  1
+  8.472136011E+00 -2.618034015E+00  0 -1.618033988E+00 -1
+  8.472136073E+00 -2.618034037E+00 -1  0  1.618034000E+00
+  8.472136082E+00 -2.618034044E+00 -1  0 -1.618033997E+00
+  8.472135976E+00 -2.618034005E+00 -1.618033977E+00  1  0
+  8.472136051E+00 -2.618034034E+00 -1.618033992E+00 -1  0
+  2.618033989E+00 -1  0  0  0
+end
+minimize
+  0 1 1 1 1
+
diff --git a/third_party/cddlib/examples/samplelp_big.ine b/third_party/cddlib/examples/samplelp_big.ine
new file mode 100644
index 0000000..3489c68
--- /dev/null
+++ b/third_party/cddlib/examples/samplelp_big.ine
@@ -0,0 +1,10007 @@
+H-representation
+begin
+  10000  10   integer
+ 0 1 0 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0
+ 0 0 0 1 0 0 0 0 0 0
+ 0 0 0 0 1 0 0 0 0 0
+ 0 0 0 0 0 1 0 0 0 0
+ 0 0 0 0 0 0 1 0 0 0
+ 0 0 0 0 0 0 0 1 0 0
+ 0 0 0 0 0 0 0 0 1 0
+ 0 0 0 0 0 0 0 0 0 1
+ -10000 651 693 84 697 637 340 368 824 663
+ -10000 725 742 387 219 751 430 202 745 356
+ -10000 377 674 979 167 815 988 412 676 475
+ -10000 710 275 949 284 629 1 422 974 510
+ -10000 692 945 725 488 271 430 724 225 726
+ -10000 465 258 450 343 87 168 161 103 919
+ -10000 86 79 656 493 832 514 791 506 29
+ -10000 63 630 874 918 877 272 992 119 480
+ -10000 598 926 42 378 288 66 927 919 99
+ -10000 256 354 106 979 641 160 395 225 837
+ -10000 202 388 900 471 160 751 300 731 818
+ -10000 342 502 825 563 639 261 194 984 990
+ -10000 266 406 364 216 448 675 145 694 866
+ -10000 362 983 732 378 134 902 946 877 205
+ -10000 926 125 949 888 234 630 275 707 67
+ -10000 634 81 192 768 652 822 311 961 895
+ -10000 983 597 743 314 696 585 367 396 826
+ -10000 511 545 539 97 111 996 477 35 372
+ -10000 474 103 152 753 159 120 929 161 563
+ -10000 549 793 307 456 444 184 149 792 894
+ -10000 839 488 917 192 168 788 959 245 25
+ -10000 750 165 338 182 392 381 962 117 713
+ -10000 738 827 943 507 914 814 951 663 815
+ -10000 493 339 225 351 450 788 992 167 792
+ -10000 174 773 247 247 180 517 445 599 596
+ -10000 303 26 967 39 535 4 7 335 217
+ -10000 772 173 189 291 668 191 610 677 544
+ -10000 848 642 40 125 865 100 259 534 648
+ -10000 501 622 398 624 118 416 30 17 236
+ -10000 218 602 697 892 322 314 361 573 985
+ -10000 958 856 608 492 563 478 311 614 740
+ -10000 582 913 938 949 715 338 39 726 998
+ -10000 521 805 708 221 624 316 24 127 322
+ -10000 491 189 412 774 418 200 193 633 315
+ -10000 144 679 383 447 989 939 441 631 482
+ -10000 940 241 153 215 149 457 254 207 125
+ -10000 80 873 207 904 684 600 940 431 825
+ -10000 75 100 353 637 432 377 940 758 164
+ -10000 627 721 915 710 8 786 96 17 576
+ -10000 247 104 607 432 540 164 597 282 317
+ -10000 553 787 881 942 152 318 44 509 518
+ -10000 181 772 942 993 916 900 713 694 812
+ -10000 625 26 638 261 385 196 676 717 572
+ -10000 11 911 296 761 658 631 757 817 400
+ -10000 964 989 879 491 490 751 490 97 405
+ -10000 28 461 343 452 480 504 411 242 892
+ -10000 768 746 347 352 724 487 185 767 287
+ -10000 924 228 958 554 352 460 765 742 430
+ -10000 737 986 499 993 721 29 821 416 813
+ -10000 483 458 249 781 584 321 779 209 570
+ -10000 222 166 975 53 765 256 859 469 164
+ -10000 82 696 181 166 375 145 415 496 261
+ -10000 540 309 526 918 439 489 846 417 775
+ -10000 699 145 327 873 467 866 711 393 603
+ -10000 445 668 729 224 654 970 279 789 680
+ -10000 28 659 365 306 186 520 427 176 191
+ -10000 919 58 859 436 105 35 560 716 14
+ -10000 641 238 340 524 205 255 272 14 472
+ -10000 817 22 904 782 573 847 649 100 280
+ -10000 925 277 930 495 736 960 276 726 657
+ -10000 336 54 357 979 941 765 593 630 286
+ -10000 65 113 104 915 222 158 580 520 188
+ -10000 42 617 904 414 588 857 416 94 988
+ -10000 716 49 849 67 607 99 934 184 217
+ -10000 458 32 500 552 108 980 255 998 935
+ -10000 860 936 115 268 231 281 948 209 766
+ -10000 293 330 940 570 857 421 574 481 364
+ -10000 959 949 372 757 306 757 752 312 137
+ -10000 769 303 737 260 187 695 946 723 433
+ -10000 980 564 605 363 776 893 558 616 603
+ -10000 945 23 632 820 54 677 795 616 625
+ -10000 629 692 585 33 674 703 304 489 949
+ -10000 52 903 723 746 692 232 917 933 211
+ -10000 367 566 364 318 607 818 424 234 605
+ -10000 915 305 354 829 469 447 925 188 799
+ -10000 387 596 946 888 751 614 539 295 299
+ -10000 969 902 10 739 289 923 808 28 151
+ -10000 537 152 546 442 182 301 258 265 762
+ -10000 671 288 343 199 694 391 457 947 250
+ -10000 415 734 423 435 696 111 53 227 784
+ -10000 800 992 720 76 40 419 608 182 683
+ -10000 619 627 278 526 453 960 772 992 86
+ -10000 836 623 0 21 371 4 676 964 658
+ -10000 258 677 64 968 62 219 587 308 299
+ -10000 224 823 258 449 575 526 908 585 405
+ -10000 593 660 663 341 36 79 50 242 293
+ -10000 80 761 270 460 82 133 874 559 41
+ -10000 169 539 257 827 222 743 873 929 523
+ -10000 403 167 259 377 76 160 749 448 902
+ -10000 290 5 276 509 342 909 193 443 552
+ -10000 928 326 757 405 598 765 143 833 150
+ -10000 980 57 636 651 219 232 88 486 918
+ -10000 497 765 499 464 558 377 2 973 249
+ -10000 515 282 55 576 464 532 575 180 363
+ -10000 364 958 202 876 867 738 626 474 998
+ -10000 568 905 231 136 80 320 525 113 263
+ -10000 544 823 341 402 593 289 248 928 649
+ -10000 933 338 757 771 671 811 610 138 31
+ -10000 460 185 660 628 321 350 46 944 444
+ -10000 71 824 884 313 938 572 685 825 382
+ -10000 793 750 63 112 309 360 490 435 964
+ -10000 78 228 800 657 708 3 806 551 738
+ -10000 940 612 1000 136 897 98 301 169 453
+ -10000 622 731 111 813 606 90 909 272 319
+ -10000 86 544 118 257 317 831 90 817 236
+ -10000 585 919 232 848 794 806 343 335 829
+ -10000 377 606 349 399 913 171 571 616 800
+ -10000 682 428 30 101 974 945 600 399 502
+ -10000 296 793 418 28 591 660 445 26 496
+ -10000 387 389 533 927 500 96 946 191 298
+ -10000 585 201 36 877 289 768 485 248 593
+ -10000 811 70 801 255 538 112 190 464 880
+ -10000 140 329 863 237 44 600 946 766 472
+ -10000 288 987 463 359 777 245 559 75 584
+ -10000 599 918 820 636 458 477 884 249 324
+ -10000 268 669 503 151 851 965 12 962 421
+ -10000 886 810 370 680 300 192 160 41 978
+ -10000 911 866 827 610 267 579 728 735 865
+ -10000 812 307 646 415 323 865 727 419 825
+ -10000 907 515 473 962 463 617 10 295 380
+ -10000 195 257 576 495 533 872 756 930 963
+ -10000 600 87 210 845 983 743 853 67 647
+ -10000 917 353 7 655 892 882 266 922 414
+ -10000 183 740 375 18 710 301 952 62 442
+ -10000 266 287 679 727 674 681 493 782 785
+ -10000 405 399 10 102 193 816 763 67 188
+ -10000 379 904 872 592 812 505 532 332 293
+ -10000 799 767 946 648 329 915 94 208 947
+ -10000 325 157 957 330 115 669 488 876 388
+ -10000 347 600 60 885 372 10 932 71 662
+ -10000 126 27 782 868 129 796 249 129 961
+ -10000 47 758 192 754 275 38 979 817 851
+ -10000 343 571 331 621 971 777 476 748 674
+ -10000 809 899 306 498 353 605 388 830 537
+ -10000 738 956 364 819 546 568 806 391 634
+ -10000 485 24 645 86 748 685 599 771 910
+ -10000 180 446 81 859 355 361 268 563 185
+ -10000 690 786 940 318 90 910 439 711 321
+ -10000 402 465 459 973 442 263 985 935 412
+ -10000 263 51 654 405 989 273 463 954 598
+ -10000 426 464 295 965 676 968 904 405 986
+ -10000 685 420 652 710 156 848 86 802 138
+ -10000 544 708 753 677 881 507 438 209 797
+ -10000 968 104 528 84 650 955 414 654 177
+ -10000 883 177 230 921 38 263 134 11 371
+ -10000 706 7 105 771 148 739 88 619 428
+ -10000 500 411 938 101 40 321 140 14 599
+ -10000 769 211 579 855 310 475 194 796 195
+ -10000 292 516 654 968 875 866 394 544 637
+ -10000 356 145 384 307 242 837 335 95 863
+ -10000 342 354 470 826 726 878 987 660 800
+ -10000 767 658 978 534 588 387 297 231 130
+ -10000 88 21 710 369 618 685 551 520 677
+ -10000 73 398 733 465 628 452 106 179 482
+ -10000 131 908 760 799 67 598 274 260 796
+ -10000 481 617 828 798 996 323 657 858 158
+ -10000 701 692 978 258 527 187 524 639 326
+ -10000 348 290 514 805 91 926 644 230 188
+ -10000 79 946 505 743 681 936 190 474 934
+ -10000 843 150 316 559 631 261 458 868 685
+ -10000 193 793 226 49 488 768 853 955 301
+ -10000 205 459 596 58 816 18 367 744 981
+ -10000 238 33 698 381 183 602 418 65 236
+ -10000 811 797 577 102 538 447 403 444 379
+ -10000 837 971 600 411 389 971 962 376 357
+ -10000 452 154 338 712 682 676 785 945 194
+ -10000 310 679 608 871 620 687 724 220 134
+ -10000 632 150 799 565 737 689 170 207 45
+ -10000 14 189 90 397 287 917 307 108 806
+ -10000 143 730 654 241 266 401 526 921 4
+ -10000 605 264 55 155 939 701 690 305 628
+ -10000 415 26 454 957 161 334 187 629 402
+ -10000 63 253 610 926 670 625 601 943 11
+ -10000 310 649 405 751 100 358 139 32 3
+ -10000 808 256 663 357 994 725 640 522 117
+ -10000 969 618 817 528 267 975 47 534 291
+ -10000 996 941 661 798 722 636 701 991 106
+ -10000 241 5 42 477 245 775 773 625 591
+ -10000 443 238 944 397 908 720 259 554 763
+ -10000 332 237 839 679 166 929 480 234 416
+ -10000 748 413 366 515 22 530 625 75 63
+ -10000 789 656 197 145 128 99 620 704 58
+ -10000 530 794 202 273 724 41 956 798 201
+ -10000 360 503 723 593 121 214 415 298 367
+ -10000 650 928 97 805 461 199 950 43 679
+ -10000 989 697 970 220 5 815 346 916 628
+ -10000 765 568 582 330 894 230 650 206 865
+ -10000 734 446 138 485 471 991 531 119 78
+ -10000 393 203 321 395 750 634 400 280 223
+ -10000 802 246 336 600 995 171 254 492 113
+ -10000 993 419 160 353 267 413 573 479 823
+ -10000 670 105 823 362 489 965 826 96 289
+ -10000 695 401 876 118 749 9 446 122 1
+ -10000 454 428 778 515 327 127 287 45 156
+ -10000 277 677 575 415 230 219 324 243 510
+ -10000 821 212 232 919 958 314 193 398 339
+ -10000 774 927 394 573 176 432 850 810 271
+ -10000 64 420 574 969 819 40 320 543 988
+ -10000 712 942 387 70 129 211 245 990 147
+ -10000 321 292 31 875 675 150 121 721 898
+ -10000 424 509 850 565 59 54 290 545 690
+ -10000 491 16 78 354 936 326 573 679 26
+ -10000 65 159 284 948 748 688 747 282 904
+ -10000 505 688 153 449 464 397 677 560 885
+ -10000 998 272 175 516 854 256 658 643 811
+ -10000 608 944 450 473 55 276 718 665 912
+ -10000 410 450 712 520 618 1 640 653 36
+ -10000 671 858 795 275 471 974 949 997 991
+ -10000 984 488 767 4 400 719 946 238 559
+ -10000 419 380 266 969 41 533 560 251 819
+ -10000 797 69 963 37 455 940 899 937 942
+ -10000 925 286 674 70 609 419 62 546 962
+ -10000 20 747 680 680 313 563 953 703 473
+ -10000 532 399 212 682 8 769 794 165 378
+ -10000 78 363 76 494 977 380 91 433 490
+ -10000 904 741 364 962 123 33 511 141 148
+ -10000 673 669 20 381 205 311 231 169 519
+ -10000 539 517 201 354 927 525 499 568 119
+ -10000 474 448 888 207 674 179 960 963 345
+ -10000 577 520 368 590 615 460 365 560 59
+ -10000 90 892 791 939 581 913 510 597 600
+ -10000 759 403 402 489 894 159 165 211 107
+ -10000 39 505 741 603 829 405 426 772 949
+ -10000 95 75 480 14 943 784 704 364 797
+ -10000 221 48 785 941 710 663 837 873 948
+ -10000 576 865 485 12 387 404 217 92 584
+ -10000 189 134 496 752 863 182 513 619 414
+ -10000 1 360 747 226 62 550 119 906 186
+ -10000 190 643 774 732 479 187 198 454 829
+ -10000 618 966 298 93 43 58 855 427 801
+ -10000 604 678 584 422 1 814 476 948 330
+ -10000 967 718 957 487 509 582 247 534 721
+ -10000 780 366 528 829 153 177 74 429 204
+ -10000 814 828 71 549 868 266 394 855 380
+ -10000 709 222 827 265 441 583 680 717 922
+ -10000 126 596 700 40 643 887 610 727 170
+ -10000 243 168 340 114 663 21 802 665 775
+ -10000 839 708 980 836 280 24 971 945 274
+ -10000 301 47 70 613 970 382 762 675 881
+ -10000 777 916 674 551 497 979 511 398 199
+ -10000 125 844 5 832 153 739 85 135 74
+ -10000 609 447 233 891 524 729 553 191 703
+ -10000 465 39 655 692 782 163 562 386 416
+ -10000 809 291 321 702 744 815 218 845 936
+ -10000 724 608 161 45 161 258 703 409 856
+ -10000 755 603 220 9 49 91 985 479 832
+ -10000 155 574 242 379 298 763 697 82 210
+ -10000 388 287 783 999 428 625 887 942 687
+ -10000 105 403 535 523 600 620 211 412 141
+ -10000 693 999 554 26 428 361 576 273 527
+ -10000 71 197 936 543 176 71 996 196 497
+ -10000 801 596 352 228 131 114 796 427 184
+ -10000 4 982 932 606 343 380 468 325 115
+ -10000 367 432 482 699 315 580 413 902 230
+ -10000 438 920 614 517 468 915 341 622 596
+ -10000 709 110 768 699 424 943 993 295 399
+ -10000 700 407 369 384 719 532 128 473 753
+ -10000 137 662 132 845 631 832 838 84 51
+ -10000 456 189 318 257 828 561 65 64 878
+ -10000 813 512 935 275 775 361 416 658 602
+ -10000 658 168 573 358 670 417 911 489 668
+ -10000 859 215 499 376 862 244 332 935 912
+ -10000 732 47 545 84 628 941 916 498 185
+ -10000 827 540 32 267 31 722 427 405 66
+ -10000 607 806 139 261 825 533 52 853 322
+ -10000 37 500 336 873 677 267 649 472 523
+ -10000 305 609 829 108 674 900 859 854 138
+ -10000 957 85 196 43 289 72 891 335 539
+ -10000 280 124 918 15 378 855 534 322 450
+ -10000 728 500 341 953 879 251 821 653 38
+ -10000 515 962 374 238 729 828 174 54 751
+ -10000 524 38 201 115 426 791 903 631 687
+ -10000 926 877 370 415 216 697 111 217 844
+ -10000 335 296 626 805 977 232 700 222 680
+ -10000 817 819 455 184 593 658 908 662 932
+ -10000 260 101 482 639 761 829 521 89 597
+ -10000 6 313 603 589 446 684 46 261 737
+ -10000 471 579 858 376 24 850 404 941 726
+ -10000 154 163 624 975 348 594 920 656 132
+ -10000 650 833 14 908 95 924 689 34 40
+ -10000 670 133 613 190 549 951 479 441 406
+ -10000 644 985 618 552 392 327 194 943 576
+ -10000 285 930 830 986 395 307 85 181 44
+ -10000 731 276 80 290 189 801 614 814 0
+ -10000 263 543 515 818 275 619 734 356 894
+ -10000 239 88 811 540 560 659 498 612 6
+ -10000 800 773 373 656 443 790 755 144 443
+ -10000 325 34 701 682 592 510 818 359 443
+ -10000 832 924 128 853 278 886 890 727 876
+ -10000 621 177 289 770 229 477 674 828 263
+ -10000 714 399 744 404 27 580 908 226 533
+ -10000 488 404 145 709 933 348 544 191 422
+ -10000 832 636 161 77 825 767 44 249 201
+ -10000 378 129 771 642 172 887 613 868 514
+ -10000 66 675 772 371 865 884 980 509 751
+ -10000 315 97 563 67 880 82 385 938 189
+ -10000 586 98 853 329 936 214 81 443 410
+ -10000 863 525 731 217 132 220 461 400 758
+ -10000 89 701 972 83 708 997 117 163 236
+ -10000 279 336 901 306 840 69 888 985 115
+ -10000 123 407 876 598 435 916 582 83 919
+ -10000 465 724 347 92 729 69 417 726 997
+ -10000 311 951 103 534 40 383 892 174 283
+ -10000 925 318 660 503 184 437 827 432 758
+ -10000 353 992 318 736 49 129 479 555 974
+ -10000 968 934 901 356 457 378 723 728 31
+ -10000 756 542 333 875 368 296 439 678 459
+ -10000 852 30 83 554 385 400 628 394 669
+ -10000 482 263 642 894 582 443 619 552 487
+ -10000 230 174 916 494 410 290 800 239 761
+ -10000 934 714 991 552 560 743 372 360 872
+ -10000 680 603 941 47 960 90 290 291 493
+ -10000 4 327 310 427 40 664 850 771 638
+ -10000 670 615 829 710 475 892 365 403 456
+ -10000 237 223 448 648 408 203 641 895 557
+ -10000 848 699 459 582 803 831 456 277 520
+ -10000 78 110 86 982 390 676 922 426 594
+ -10000 523 43 849 930 154 86 837 165 806
+ -10000 962 781 767 664 547 343 949 919 704
+ -10000 224 827 449 146 330 400 460 180 120
+ -10000 163 199 168 905 426 838 224 592 930
+ -10000 974 614 370 10 127 323 406 212 78
+ -10000 63 166 10 439 209 309 430 596 619
+ -10000 487 237 503 777 148 647 738 507 328
+ -10000 974 785 754 289 6 798 503 605 687
+ -10000 613 442 792 251 171 881 712 183 886
+ -10000 43 720 992 751 794 399 548 694 839
+ -10000 691 503 6 753 465 712 381 580 951
+ -10000 552 980 372 415 742 398 864 602 751
+ -10000 906 549 268 940 158 242 800 43 232
+ -10000 141 725 782 190 889 387 206 581 672
+ -10000 462 63 606 832 886 457 505 190 870
+ -10000 943 199 98 85 805 829 757 953 36
+ -10000 776 557 35 59 315 818 683 254 95
+ -10000 414 618 584 412 966 319 463 191 960
+ -10000 526 692 416 784 782 28 141 3 491
+ -10000 222 57 843 620 197 418 250 994 584
+ -10000 721 759 740 416 178 346 260 175 814
+ -10000 961 570 724 587 122 655 434 813 434
+ -10000 930 547 517 203 497 862 351 27 100
+ -10000 609 394 380 627 829 294 901 729 251
+ -10000 666 81 30 301 289 815 454 290 863
+ -10000 506 892 266 157 283 233 893 796 818
+ -10000 314 288 597 241 80 60 457 357 722
+ -10000 522 368 599 884 359 895 603 380 6
+ -10000 655 423 848 815 559 58 325 947 583
+ -10000 656 192 895 488 209 851 609 539 759
+ -10000 477 466 478 303 140 742 113 220 290
+ -10000 888 444 417 518 856 62 110 116 340
+ -10000 521 123 140 869 89 88 930 921 152
+ -10000 225 124 317 101 347 423 979 369 437
+ -10000 221 692 957 740 226 372 45 919 468
+ -10000 777 371 369 253 284 347 701 562 63
+ -10000 297 329 254 15 186 127 870 664 821
+ -10000 522 739 130 764 966 283 559 510 148
+ -10000 114 438 286 193 260 238 77 832 466
+ -10000 739 438 29 1000 982 465 344 581 918
+ -10000 154 423 776 339 758 515 108 374 911
+ -10000 944 116 706 537 652 159 36 992 487
+ -10000 677 715 596 795 425 122 139 555 295
+ -10000 185 29 176 676 725 558 637 886 401
+ -10000 557 63 497 622 524 844 169 581 249
+ -10000 767 992 870 655 407 430 269 577 127
+ -10000 408 137 880 87 864 660 111 933 927
+ -10000 62 458 173 928 232 63 95 398 576
+ -10000 230 93 218 122 826 919 457 555 127
+ -10000 393 722 987 10 339 371 522 488 726
+ -10000 721 561 753 873 215 282 550 392 501
+ -10000 812 98 711 668 120 99 881 294 782
+ -10000 965 87 290 940 198 542 415 258 308
+ -10000 335 37 287 681 645 607 777 361 137
+ -10000 686 965 639 569 512 462 729 794 305
+ -10000 0 487 765 682 220 841 527 394 400
+ -10000 327 838 684 820 209 360 734 783 112
+ -10000 420 279 911 682 952 625 784 98 276
+ -10000 925 805 865 538 983 614 181 103 630
+ -10000 170 724 535 985 493 933 554 474 837
+ -10000 877 478 730 336 991 987 156 19 837
+ -10000 663 486 118 1000 567 185 472 853 600
+ -10000 99 335 973 189 216 226 222 581 704
+ -10000 593 78 743 454 65 897 915 163 792
+ -10000 691 929 146 584 892 45 503 81 106
+ -10000 428 139 773 994 637 32 436 766 857
+ -10000 906 299 774 574 164 340 164 198 678
+ -10000 909 421 766 147 581 838 423 214 200
+ -10000 229 216 46 388 351 492 435 72 659
+ -10000 500 519 341 315 353 262 685 460 980
+ -10000 759 207 690 137 881 949 178 166 207
+ -10000 699 955 894 989 742 640 471 357 461
+ -10000 749 497 162 886 747 995 437 87 867
+ -10000 202 334 261 579 831 611 945 735 818
+ -10000 913 536 861 129 862 52 229 311 394
+ -10000 702 364 970 804 521 561 413 767 954
+ -10000 52 95 430 621 534 141 849 417 266
+ -10000 355 418 452 858 680 639 56 86 750
+ -10000 866 893 515 457 675 638 921 727 256
+ -10000 963 676 985 348 689 935 480 734 393
+ -10000 554 201 934 395 54 20 973 338 39
+ -10000 973 175 566 241 842 810 618 531 63
+ -10000 56 863 727 459 805 309 911 490 557
+ -10000 626 674 606 396 53 174 742 302 67
+ -10000 533 700 854 488 110 765 755 444 261
+ -10000 248 925 148 290 641 419 745 702 695
+ -10000 467 132 531 788 930 605 573 271 852
+ -10000 115 478 588 726 326 150 669 996 149
+ -10000 538 755 822 678 182 18 922 322 746
+ -10000 999 924 538 552 915 942 503 940 947
+ -10000 276 843 89 451 726 376 991 866 656
+ -10000 362 397 400 309 36 984 983 31 298
+ -10000 148 74 756 899 271 609 405 914 943
+ -10000 296 528 152 450 94 608 487 38 424
+ -10000 350 909 313 892 890 131 574 381 308
+ -10000 942 774 454 972 878 1000 103 768 72
+ -10000 25 285 101 386 171 493 748 6 502
+ -10000 872 6 346 520 984 329 138 223 21
+ -10000 783 473 225 987 422 373 943 489 406
+ -10000 570 105 238 610 438 959 960 733 489
+ -10000 872 633 936 196 102 865 938 554 988
+ -10000 324 64 345 495 655 471 43 402 816
+ -10000 725 662 302 323 157 68 120 738 7
+ -10000 890 538 335 191 815 658 632 339 801
+ -10000 368 624 94 716 108 298 248 125 257
+ -10000 410 688 540 500 877 355 688 863 559
+ -10000 431 925 33 538 412 324 375 762 883
+ -10000 91 183 611 336 231 500 430 111 465
+ -10000 473 446 616 519 958 336 652 421 586
+ -10000 832 5 520 334 517 372 402 580 531
+ -10000 357 509 770 408 446 125 992 863 293
+ -10000 658 810 500 106 610 912 567 809 880
+ -10000 627 284 994 146 880 927 378 921 624
+ -10000 102 427 183 552 999 370 384 703 919
+ -10000 545 999 931 458 857 136 236 34 583
+ -10000 634 808 295 405 457 179 980 398 167
+ -10000 486 221 267 397 973 110 763 426 645
+ -10000 604 747 587 465 590 274 842 58 697
+ -10000 465 674 430 771 856 468 922 264 844
+ -10000 257 148 797 342 561 517 962 445 799
+ -10000 157 680 235 588 446 36 765 288 153
+ -10000 480 26 227 969 296 52 663 765 444
+ -10000 431 938 843 649 454 437 806 134 322
+ -10000 736 546 631 282 358 27 13 877 25
+ -10000 509 591 742 972 128 465 773 75 781
+ -10000 58 277 946 643 941 435 756 764 491
+ -10000 400 324 335 765 174 769 805 869 115
+ -10000 836 64 787 26 305 799 982 356 842
+ -10000 673 484 85 192 836 812 390 519 399
+ -10000 83 371 476 15 871 626 296 321 455
+ -10000 132 573 791 780 193 695 971 415 535
+ -10000 378 716 202 199 584 133 724 385 853
+ -10000 171 782 26 734 766 848 57 999 595
+ -10000 476 468 1000 931 928 289 716 899 515
+ -10000 91 2 318 310 703 734 829 237 238
+ -10000 812 857 569 388 812 700 349 326 814
+ -10000 68 228 321 500 277 631 486 826 741
+ -10000 73 647 889 459 181 529 837 708 523
+ -10000 491 994 263 266 869 676 837 355 241
+ -10000 189 913 734 585 182 242 390 392 218
+ -10000 54 762 67 363 28 164 238 927 356
+ -10000 276 600 910 155 335 834 366 683 928
+ -10000 11 702 747 253 769 392 848 165 698
+ -10000 628 352 533 426 586 929 238 246 963
+ -10000 484 901 746 490 95 905 287 703 137
+ -10000 126 390 784 235 180 633 60 851 463
+ -10000 424 906 421 940 762 565 75 537 729
+ -10000 650 369 81 521 876 806 585 117 272
+ -10000 658 742 523 157 998 378 316 362 515
+ -10000 771 794 418 649 817 129 416 571 269
+ -10000 717 748 37 345 170 836 587 732 850
+ -10000 504 744 493 889 184 318 886 571 874
+ -10000 509 996 251 107 703 506 475 906 261
+ -10000 878 325 283 48 756 362 792 555 539
+ -10000 535 160 470 335 918 803 845 936 377
+ -10000 704 864 128 173 672 199 307 59 879
+ -10000 772 942 278 870 373 488 186 487 76
+ -10000 607 848 602 226 28 758 606 922 215
+ -10000 194 184 409 79 239 366 396 827 53
+ -10000 713 20 512 801 206 186 938 510 914
+ -10000 245 351 404 3 495 918 621 978 322
+ -10000 675 104 375 731 866 461 36 174 907
+ -10000 389 733 795 911 446 64 374 446 411
+ -10000 344 79 538 9 140 631 665 975 440
+ -10000 921 20 889 378 822 889 10 832 876
+ -10000 211 287 387 333 73 942 628 215 90
+ -10000 163 966 16 122 355 926 73 511 45
+ -10000 572 424 655 204 880 792 61 724 984
+ -10000 441 890 747 63 914 972 701 300 821
+ -10000 402 526 499 770 291 424 426 900 57
+ -10000 887 391 854 95 798 310 28 4 796
+ -10000 747 513 888 87 856 571 841 856 580
+ -10000 568 915 643 355 897 517 732 183 570
+ -10000 304 273 612 857 325 1 783 485 622
+ -10000 661 341 394 221 79 553 238 305 905
+ -10000 888 951 432 66 433 145 150 515 343
+ -10000 696 764 693 75 270 448 849 311 372
+ -10000 304 823 228 358 842 23 590 977 953
+ -10000 396 676 481 128 756 622 131 425 228
+ -10000 643 763 803 725 79 971 775 221 418
+ -10000 799 577 77 795 243 593 899 255 463
+ -10000 963 891 231 582 491 787 281 773 2
+ -10000 724 978 280 112 909 886 607 97 974
+ -10000 540 45 314 187 230 538 767 285 435
+ -10000 452 859 661 19 500 674 490 244 150
+ -10000 359 712 94 302 727 49 812 446 466
+ -10000 269 356 853 869 951 563 719 760 33
+ -10000 524 508 19 788 346 479 918 714 182
+ -10000 905 886 491 372 423 217 347 595 710
+ -10000 134 508 1000 623 507 512 449 179 166
+ -10000 904 937 370 571 408 926 985 122 444
+ -10000 475 867 866 941 975 829 276 585 257
+ -10000 200 868 757 356 366 811 476 586 641
+ -10000 793 232 101 310 71 147 951 362 900
+ -10000 213 312 97 562 684 86 434 206 226
+ -10000 705 798 971 909 145 255 506 769 865
+ -10000 66 552 246 113 596 280 787 324 308
+ -10000 702 615 675 640 530 188 170 224 90
+ -10000 710 442 211 629 727 89 399 941 801
+ -10000 981 289 737 110 391 734 982 712 878
+ -10000 613 32 49 696 142 835 837 196 155
+ -10000 212 414 718 591 979 487 336 771 665
+ -10000 496 921 883 271 372 585 139 778 26
+ -10000 218 29 86 846 507 43 484 213 523
+ -10000 869 861 355 542 486 511 792 215 304
+ -10000 686 872 153 128 523 770 712 612 70
+ -10000 744 71 434 244 279 878 687 107 884
+ -10000 917 407 320 251 742 877 185 309 258
+ -10000 988 122 873 636 818 515 986 527 966
+ -10000 50 328 462 594 734 122 212 928 869
+ -10000 8 866 167 94 229 108 882 210 541
+ -10000 737 167 381 152 994 294 159 865 486
+ -10000 743 507 613 800 303 5 77 263 616
+ -10000 238 398 842 398 628 894 405 733 22
+ -10000 523 903 169 209 951 21 794 630 784
+ -10000 753 680 52 667 959 244 395 35 628
+ -10000 0 962 410 501 540 632 712 529 366
+ -10000 318 543 656 847 249 519 871 109 996
+ -10000 780 286 26 763 613 653 265 323 730
+ -10000 299 792 896 14 595 72 886 199 106
+ -10000 411 647 280 484 399 586 182 381 406
+ -10000 989 372 242 171 990 789 923 811 378
+ -10000 163 493 589 510 921 604 671 158 525
+ -10000 870 673 238 628 778 308 767 853 997
+ -10000 531 479 449 632 750 717 837 703 189
+ -10000 119 555 868 624 436 843 785 690 803
+ -10000 730 135 333 381 565 139 586 546 17
+ -10000 542 317 690 920 101 275 506 952 585
+ -10000 401 114 979 317 569 780 912 521 907
+ -10000 894 318 255 943 199 564 269 882 218
+ -10000 655 859 872 234 966 587 957 62 960
+ -10000 764 275 255 41 112 242 167 625 289
+ -10000 175 617 133 913 553 890 754 697 558
+ -10000 785 6 46 236 99 700 292 880 693
+ -10000 423 540 654 956 158 703 274 969 569
+ -10000 975 42 809 397 308 62 868 92 414
+ -10000 418 782 443 816 876 657 232 582 933
+ -10000 966 86 835 887 810 807 678 224 956
+ -10000 163 143 195 861 805 100 943 862 760
+ -10000 730 369 236 430 948 902 690 407 409
+ -10000 239 1000 97 821 997 528 156 596 19
+ -10000 935 665 966 9 692 355 251 396 848
+ -10000 654 257 72 372 799 361 410 320 591
+ -10000 281 297 345 94 78 694 956 118 512
+ -10000 860 467 276 198 235 570 646 389 565
+ -10000 812 761 219 767 16 633 982 55 610
+ -10000 306 456 632 928 712 802 185 824 694
+ -10000 136 47 274 840 93 350 787 424 132
+ -10000 323 151 671 25 370 317 578 139 680
+ -10000 613 401 46 883 66 259 962 300 52
+ -10000 748 796 873 686 739 543 476 426 989
+ -10000 668 873 813 278 167 579 956 340 285
+ -10000 640 294 152 294 719 443 703 912 45
+ -10000 982 399 899 985 244 214 128 102 801
+ -10000 144 301 901 322 720 784 91 182 689
+ -10000 489 664 556 509 629 362 23 359 791
+ -10000 385 166 871 677 482 16 739 151 718
+ -10000 802 789 112 697 372 550 130 356 210
+ -10000 528 252 672 480 593 137 110 709 286
+ -10000 402 620 111 672 356 805 78 100 214
+ -10000 872 530 881 283 686 990 65 693 220
+ -10000 268 180 366 178 829 138 315 59 642
+ -10000 768 106 812 117 64 173 290 878 203
+ -10000 112 431 664 468 35 498 522 333 786
+ -10000 875 67 677 694 961 961 467 759 687
+ -10000 555 392 903 174 45 199 865 320 644
+ -10000 236 362 316 704 639 712 2 335 904
+ -10000 851 978 759 53 515 185 694 585 846
+ -10000 762 324 229 914 60 381 332 307 532
+ -10000 914 764 492 822 221 626 360 877 424
+ -10000 287 201 400 73 938 181 839 774 503
+ -10000 807 329 303 136 21 845 856 813 723
+ -10000 176 954 715 53 530 516 665 609 481
+ -10000 991 746 755 207 706 612 185 229 681
+ -10000 499 97 944 31 164 872 885 266 838
+ -10000 400 21 617 377 188 861 464 208 687
+ -10000 364 618 369 481 943 537 862 791 56
+ -10000 51 339 799 512 362 271 288 810 200
+ -10000 730 487 59 404 72 630 594 257 653
+ -10000 149 775 152 63 204 304 732 899 164
+ -10000 124 430 8 770 693 131 991 991 327
+ -10000 256 643 881 146 528 365 542 380 407
+ -10000 700 265 737 532 78 549 808 785 558
+ -10000 352 134 433 539 587 514 97 806 579
+ -10000 714 432 7 808 193 102 836 859 43
+ -10000 461 12 763 20 265 189 704 328 158
+ -10000 482 344 986 207 355 622 728 287 102
+ -10000 700 910 209 75 767 502 125 686 454
+ -10000 65 756 637 182 244 936 373 981 60
+ -10000 832 734 48 709 828 117 114 857 801
+ -10000 113 106 438 196 45 840 133 855 69
+ -10000 677 462 425 808 722 803 482 399 211
+ -10000 580 537 141 79 808 357 774 575 883
+ -10000 772 68 19 58 10 136 544 714 64
+ -10000 663 922 691 993 100 520 861 613 368
+ -10000 443 580 403 635 688 456 794 552 160
+ -10000 302 654 965 865 25 407 766 184 45
+ -10000 804 195 407 409 53 206 88 961 175
+ -10000 39 35 793 297 761 124 48 791 356
+ -10000 908 415 796 42 990 195 200 247 255
+ -10000 981 980 262 37 429 575 596 260 786
+ -10000 145 976 497 469 949 276 664 730 468
+ -10000 18 806 997 350 424 545 124 443 548
+ -10000 162 244 179 820 709 866 720 995 901
+ -10000 369 78 227 293 57 211 279 883 452
+ -10000 168 329 930 325 301 318 99 119 314
+ -10000 627 478 683 988 943 977 8 786 205
+ -10000 62 745 344 291 474 641 211 515 737
+ -10000 936 204 729 364 793 241 828 471 682
+ -10000 862 578 240 684 144 301 209 910 74
+ -10000 366 309 999 240 67 374 367 44 384
+ -10000 405 262 944 231 706 19 866 61 714
+ -10000 573 645 285 517 746 321 6 152 389
+ -10000 106 160 928 219 448 15 224 104 604
+ -10000 246 921 190 279 776 70 943 199 341
+ -10000 300 354 122 912 222 548 126 110 312
+ -10000 291 129 972 113 860 32 973 669 590
+ -10000 310 862 713 392 130 30 60 155 330
+ -10000 967 689 369 972 841 811 216 340 849
+ -10000 475 635 434 664 514 155 687 569 956
+ -10000 339 538 828 685 873 855 466 704 587
+ -10000 356 106 734 65 596 548 638 80 478
+ -10000 75 748 492 642 807 470 245 298 559
+ -10000 603 516 737 957 546 383 821 425 880
+ -10000 473 648 866 1000 880 175 717 438 753
+ -10000 886 75 763 210 802 938 36 26 344
+ -10000 109 195 943 419 447 763 212 960 826
+ -10000 566 771 617 703 681 368 195 771 361
+ -10000 585 110 985 405 802 53 665 621 602
+ -10000 276 266 287 409 515 929 534 204 170
+ -10000 401 363 232 672 316 679 982 784 407
+ -10000 290 90 243 986 297 269 399 862 855
+ -10000 310 775 555 234 286 665 993 155 151
+ -10000 741 568 996 590 27 891 268 409 544
+ -10000 105 291 87 384 546 771 323 75 865
+ -10000 276 607 58 704 981 589 784 957 179
+ -10000 162 552 292 654 302 953 303 818 260
+ -10000 192 709 196 275 849 54 91 223 610
+ -10000 895 336 37 620 834 167 640 80 463
+ -10000 82 646 520 663 170 726 188 884 543
+ -10000 789 6 347 648 379 863 111 278 568
+ -10000 921 838 288 416 998 60 22 424 358
+ -10000 872 701 841 573 267 748 7 144 837
+ -10000 362 517 440 701 167 254 49 360 306
+ -10000 993 178 447 825 541 669 909 159 411
+ -10000 557 691 111 147 105 925 847 144 794
+ -10000 604 452 579 131 891 423 27 386 86
+ -10000 615 916 853 595 978 125 632 924 965
+ -10000 876 610 325 907 910 237 660 634 410
+ -10000 806 370 162 438 834 138 526 96 731
+ -10000 614 938 732 815 35 197 658 124 475
+ -10000 872 219 1 766 419 834 167 900 109
+ -10000 199 649 678 566 358 619 208 680 512
+ -10000 677 87 71 256 554 309 137 142 921
+ -10000 229 310 468 845 154 788 572 819 411
+ -10000 882 538 236 451 712 124 973 982 988
+ -10000 343 220 242 421 72 201 730 17 845
+ -10000 556 449 298 35 795 147 719 644 184
+ -10000 722 974 607 731 872 192 806 764 31
+ -10000 898 827 365 607 852 499 785 395 110
+ -10000 624 397 641 140 330 569 644 871 860
+ -10000 634 229 735 178 667 587 236 229 596
+ -10000 425 613 558 609 562 197 526 537 692
+ -10000 679 965 270 801 610 881 838 675 391
+ -10000 832 821 656 396 711 161 646 862 241
+ -10000 625 232 669 339 29 899 698 4 334
+ -10000 451 528 931 333 49 664 184 961 268
+ -10000 163 64 218 858 272 484 84 167 260
+ -10000 126 468 793 94 833 543 195 350 627
+ -10000 942 262 965 195 183 246 246 233 133
+ -10000 4 383 600 153 764 90 482 888 225
+ -10000 429 439 602 783 357 342 231 385 451
+ -10000 603 340 371 48 760 426 196 525 926
+ -10000 823 253 293 68 472 971 922 267 642
+ -10000 128 46 823 694 397 690 863 671 43
+ -10000 634 559 899 985 623 612 538 397 622
+ -10000 242 497 285 95 626 421 754 81 164
+ -10000 776 746 582 512 314 652 712 946 521
+ -10000 764 776 474 137 948 697 54 145 626
+ -10000 244 596 370 84 912 297 429 760 551
+ -10000 816 323 504 967 380 495 289 200 74
+ -10000 831 497 751 581 143 139 202 580 930
+ -10000 905 919 599 853 573 474 69 507 994
+ -10000 792 578 147 718 495 274 491 414 194
+ -10000 484 69 648 982 227 990 636 732 515
+ -10000 631 632 810 616 185 404 204 312 723
+ -10000 545 844 536 917 592 16 704 731 198
+ -10000 750 820 959 540 186 521 732 407 148
+ -10000 828 838 376 638 21 728 183 894 17
+ -10000 264 902 864 471 46 455 982 57 443
+ -10000 269 218 427 177 677 635 566 407 667
+ -10000 319 797 172 818 502 100 155 224 46
+ -10000 856 939 302 741 355 158 408 271 167
+ -10000 312 173 96 495 210 699 766 820 645
+ -10000 680 588 919 354 290 418 632 499 381
+ -10000 289 392 581 109 874 206 909 88 147
+ -10000 781 144 578 570 317 872 215 784 894
+ -10000 187 505 663 788 300 743 12 141 986
+ -10000 423 541 319 200 836 113 231 614 38
+ -10000 303 419 853 195 865 866 123 941 761
+ -10000 677 695 386 38 443 560 569 261 570
+ -10000 831 283 941 998 676 474 352 997 56
+ -10000 194 246 427 348 814 928 703 99 952
+ -10000 917 994 893 787 650 181 331 245 652
+ -10000 593 986 102 366 147 492 340 59 572
+ -10000 246 805 690 465 202 750 184 508 51
+ -10000 793 434 336 49 337 533 125 893 644
+ -10000 679 395 492 821 22 851 192 620 877
+ -10000 336 984 436 887 393 980 134 834 885
+ -10000 466 753 883 740 424 531 587 179 556
+ -10000 562 582 221 430 6 898 480 193 779
+ -10000 911 779 266 960 238 818 488 598 551
+ -10000 234 493 789 227 82 500 407 660 618
+ -10000 352 356 511 159 673 124 36 428 31
+ -10000 474 854 651 666 2 798 862 891 952
+ -10000 983 90 262 321 290 679 117 3 405
+ -10000 425 936 973 694 781 812 320 909 811
+ -10000 520 301 471 395 57 371 275 324 253
+ -10000 457 482 20 505 468 606 457 814 577
+ -10000 289 498 164 627 472 151 977 124 511
+ -10000 28 167 837 408 207 822 603 492 285
+ -10000 957 371 161 919 530 466 60 604 824
+ -10000 366 595 753 92 10 381 573 426 568
+ -10000 486 504 408 580 159 127 675 664 582
+ -10000 872 4 563 31 156 110 747 625 648
+ -10000 902 794 564 744 382 175 848 153 975
+ -10000 269 937 928 379 448 854 643 583 420
+ -10000 802 24 344 139 570 29 469 730 490
+ -10000 238 237 870 648 565 306 515 100 721
+ -10000 734 768 349 161 721 162 46 290 800
+ -10000 925 200 511 143 722 234 213 325 300
+ -10000 711 318 930 476 193 513 628 435 1
+ -10000 3 946 575 445 321 187 883 177 811
+ -10000 119 530 915 820 471 163 804 515 325
+ -10000 166 327 111 48 219 325 696 72 876
+ -10000 204 23 850 656 128 399 14 154 562
+ -10000 128 878 378 317 981 395 956 885 408
+ -10000 95 7 758 275 668 820 695 751 868
+ -10000 56 868 928 622 813 216 763 614 361
+ -10000 110 426 96 412 400 884 648 321 370
+ -10000 133 485 691 982 390 281 107 796 963
+ -10000 796 914 854 341 869 812 155 982 824
+ -10000 990 406 11 58 902 425 987 711 687
+ -10000 943 932 978 955 636 738 243 953 980
+ -10000 790 498 305 539 434 721 786 149 921
+ -10000 944 216 702 596 571 29 130 689 535
+ -10000 112 881 413 990 648 551 361 904 742
+ -10000 36 672 272 913 818 475 280 404 20
+ -10000 551 228 422 168 545 466 917 724 769
+ -10000 872 431 494 238 964 833 632 829 726
+ -10000 936 895 782 102 596 89 732 72 739
+ -10000 356 174 889 580 607 510 501 91 689
+ -10000 202 412 348 335 956 466 669 393 126
+ -10000 805 570 48 315 612 179 727 465 494
+ -10000 91 375 398 726 485 567 61 822 416
+ -10000 970 998 287 54 435 761 246 894 355
+ -10000 108 19 411 302 239 940 675 579 650
+ -10000 528 179 174 322 574 844 362 324 778
+ -10000 71 772 43 930 518 552 509 237 670
+ -10000 51 216 884 202 645 217 912 310 702
+ -10000 440 436 854 987 378 892 514 836 871
+ -10000 344 176 183 841 327 671 860 386 614
+ -10000 394 150 919 165 609 296 964 610 23
+ -10000 175 564 953 614 539 741 409 655 600
+ -10000 832 469 16 428 952 693 750 499 677
+ -10000 842 916 522 574 630 895 79 16 731
+ -10000 778 563 90 14 61 775 629 389 457
+ -10000 416 398 466 216 27 758 582 338 372
+ -10000 424 487 190 392 782 315 991 468 871
+ -10000 739 532 312 13 574 828 731 374 836
+ -10000 647 196 679 167 13 72 968 413 454
+ -10000 77 588 885 426 706 469 385 258 318
+ -10000 958 3 376 247 629 418 956 192 14
+ -10000 849 966 38 433 617 518 875 643 404
+ -10000 883 319 261 226 693 285 721 653 479
+ -10000 753 57 95 720 8 502 665 493 6
+ -10000 676 633 644 836 246 471 281 961 88
+ -10000 882 191 427 539 451 946 121 565 235
+ -10000 526 602 876 94 368 200 49 878 912
+ -10000 701 11 568 674 936 174 439 197 855
+ -10000 164 83 922 477 511 178 997 536 223
+ -10000 297 512 91 706 161 327 330 560 509
+ -10000 796 286 454 666 634 917 344 286 721
+ -10000 32 676 11 803 403 485 183 802 450
+ -10000 832 620 480 797 747 108 216 22 245
+ -10000 64 746 918 62 194 200 526 597 848
+ -10000 750 295 642 101 939 173 492 821 357
+ -10000 806 791 799 176 166 717 618 248 88
+ -10000 157 253 441 68 884 5 362 936 987
+ -10000 782 335 739 615 22 305 344 200 402
+ -10000 881 51 880 96 66 406 264 65 75
+ -10000 719 238 439 836 270 553 784 457 530
+ -10000 157 542 78 859 216 829 26 239 646
+ -10000 253 112 847 671 0 937 977 900 420
+ -10000 354 642 490 424 243 724 541 448 643
+ -10000 402 494 580 678 27 328 194 378 257
+ -10000 732 979 904 256 903 880 629 162 270
+ -10000 257 198 624 398 297 713 193 122 600
+ -10000 111 355 576 471 576 613 896 406 620
+ -10000 521 522 199 68 808 723 250 487 428
+ -10000 469 439 686 927 299 968 548 503 861
+ -10000 80 132 323 349 400 957 796 983 617
+ -10000 65 353 136 668 45 731 778 785 26
+ -10000 503 352 804 756 283 901 39 33 401
+ -10000 668 386 593 86 347 637 736 403 50
+ -10000 102 730 587 216 864 519 357 990 913
+ -10000 923 857 471 912 214 878 985 581 368
+ -10000 909 4 366 299 415 781 568 424 266
+ -10000 170 967 931 587 556 910 285 540 931
+ -10000 359 550 255 101 81 189 111 104 702
+ -10000 124 775 254 25 177 128 182 441 163
+ -10000 878 715 385 251 347 824 208 119 877
+ -10000 32 482 861 776 515 329 596 859 925
+ -10000 634 570 321 132 754 477 652 788 817
+ -10000 627 636 517 378 395 311 194 79 24
+ -10000 865 604 258 163 208 881 127 213 789
+ -10000 864 994 647 777 216 971 926 270 501
+ -10000 908 301 316 97 405 599 539 181 743
+ -10000 420 246 989 88 674 26 99 424 763
+ -10000 185 242 538 726 655 796 693 288 730
+ -10000 765 130 331 310 524 823 133 342 316
+ -10000 789 350 985 90 119 6 364 495 660
+ -10000 956 269 895 196 576 83 168 445 117
+ -10000 329 516 954 41 702 594 788 572 186
+ -10000 245 892 247 931 313 234 21 335 194
+ -10000 231 803 866 723 86 473 76 75 365
+ -10000 863 9 328 613 597 477 850 665 819
+ -10000 561 911 625 892 249 280 485 609 520
+ -10000 429 32 894 734 898 706 824 639 538
+ -10000 90 982 475 895 534 579 4 60 724
+ -10000 334 641 5 488 153 641 664 15 514
+ -10000 23 884 352 38 704 56 630 827 301
+ -10000 168 824 166 101 436 842 886 147 195
+ -10000 799 860 535 797 781 163 238 955 957
+ -10000 659 187 1 570 98 524 315 617 957
+ -10000 536 274 265 449 82 246 91 94 144
+ -10000 278 325 978 437 938 29 350 33 377
+ -10000 951 324 423 427 197 839 751 312 429
+ -10000 946 399 677 8 526 828 305 831 102
+ -10000 894 776 762 343 69 399 232 34 619
+ -10000 467 723 446 798 555 350 725 870 243
+ -10000 724 787 290 622 766 471 47 820 969
+ -10000 614 692 539 744 244 873 932 306 44
+ -10000 314 852 495 136 911 5 357 371 591
+ -10000 148 870 545 827 238 454 906 50 707
+ -10000 183 786 86 698 999 821 33 937 398
+ -10000 244 458 676 506 538 342 789 612 377
+ -10000 935 95 199 65 525 656 592 439 783
+ -10000 400 891 418 653 535 881 322 562 217
+ -10000 590 484 947 512 766 219 1 865 502
+ -10000 717 965 717 401 148 417 654 549 88
+ -10000 835 175 804 18 428 714 839 38 382
+ -10000 903 921 986 853 821 680 468 291 452
+ -10000 830 229 103 372 411 930 147 457 899
+ -10000 19 693 702 630 994 787 636 670 812
+ -10000 563 630 977 667 731 52 781 902 799
+ -10000 165 667 528 785 128 309 623 302 819
+ -10000 203 558 231 532 156 19 64 765 441
+ -10000 513 433 381 199 726 600 949 240 986
+ -10000 286 461 436 14 330 376 628 506 470
+ -10000 423 344 870 129 195 975 102 174 272
+ -10000 601 23 937 821 175 228 837 142 48
+ -10000 839 822 591 290 410 576 947 955 683
+ -10000 202 888 72 107 796 224 938 428 337
+ -10000 201 957 469 252 560 343 106 404 85
+ -10000 488 849 298 335 576 250 181 895 135
+ -10000 619 322 892 165 898 701 618 404 348
+ -10000 99 826 907 18 137 419 867 43 538
+ -10000 958 668 11 11 567 843 236 463 695
+ -10000 561 951 316 337 122 727 48 747 879
+ -10000 943 172 450 185 152 296 294 893 204
+ -10000 275 839 338 586 340 337 92 529 699
+ -10000 534 661 626 557 280 261 611 706 526
+ -10000 168 480 791 523 963 107 412 449 605
+ -10000 785 801 946 294 583 54 243 721 257
+ -10000 603 266 133 666 329 767 810 379 586
+ -10000 660 918 364 95 827 624 652 625 940
+ -10000 473 805 135 808 689 671 66 276 86
+ -10000 618 732 410 542 566 614 27 818 590
+ -10000 98 442 870 758 391 925 991 127 426
+ -10000 78 204 518 409 648 441 777 168 563
+ -10000 593 697 356 553 94 512 685 829 364
+ -10000 99 341 331 909 665 791 80 506 706
+ -10000 945 639 191 454 97 271 959 989 994
+ -10000 627 48 463 366 208 472 381 740 743
+ -10000 30 442 442 309 289 211 574 109 311
+ -10000 641 125 450 333 421 564 856 498 949
+ -10000 946 315 522 404 374 176 846 538 579
+ -10000 773 824 314 778 276 480 180 235 286
+ -10000 940 605 780 169 556 18 620 522 104
+ -10000 53 628 371 877 912 52 361 1000 113
+ -10000 748 948 827 651 551 931 505 693 654
+ -10000 510 162 108 557 590 644 769 550 730
+ -10000 823 928 954 469 211 241 239 596 55
+ -10000 172 835 460 567 46 529 983 735 276
+ -10000 872 93 663 411 699 298 164 136 107
+ -10000 783 928 586 250 955 652 158 121 658
+ -10000 827 770 357 479 801 865 974 562 589
+ -10000 983 607 818 591 323 284 498 415 460
+ -10000 342 252 520 822 708 868 536 328 798
+ -10000 720 416 641 57 628 168 296 226 239
+ -10000 327 656 881 302 608 207 708 274 341
+ -10000 750 176 136 956 773 528 789 793 422
+ -10000 156 887 377 297 131 110 809 887 676
+ -10000 565 4 751 179 543 957 871 340 194
+ -10000 660 744 790 763 285 189 462 815 716
+ -10000 963 704 464 948 52 902 599 87 659
+ -10000 491 719 691 331 771 309 25 34 56
+ -10000 179 762 934 654 652 684 25 941 838
+ -10000 114 188 681 261 392 876 497 231 321
+ -10000 182 662 44 824 447 505 346 547 390
+ -10000 438 400 840 263 619 956 892 701 487
+ -10000 0 602 516 733 726 409 124 134 242
+ -10000 243 497 247 312 222 11 134 410 342
+ -10000 492 112 110 325 681 509 459 832 761
+ -10000 241 146 690 38 500 494 801 854 977
+ -10000 219 474 287 986 347 488 42 180 692
+ -10000 982 923 192 215 991 763 369 701 555
+ -10000 614 215 62 87 806 618 623 843 163
+ -10000 157 843 759 791 733 58 840 418 274
+ -10000 529 544 464 492 526 948 818 313 280
+ -10000 985 325 502 480 476 900 267 508 728
+ -10000 316 774 627 112 591 950 456 613 17
+ -10000 270 327 765 489 657 723 463 328 153
+ -10000 189 510 183 285 960 517 591 11 393
+ -10000 15 762 387 597 858 43 536 733 381
+ -10000 37 772 825 614 989 527 785 784 909
+ -10000 691 835 271 240 493 815 456 22 267
+ -10000 282 52 664 431 988 102 454 922 814
+ -10000 719 67 372 588 244 499 428 490 288
+ -10000 251 355 16 448 100 213 994 764 396
+ -10000 878 335 52 442 518 505 44 241 914
+ -10000 734 417 347 978 668 253 277 83 472
+ -10000 727 642 576 904 778 459 31 30 742
+ -10000 358 17 617 678 292 994 90 21 349
+ -10000 485 77 315 902 812 8 506 622 565
+ -10000 838 203 256 825 70 285 205 600 128
+ -10000 391 537 927 835 502 963 299 655 180
+ -10000 938 849 620 129 667 416 945 964 332
+ -10000 190 434 403 779 319 680 619 764 281
+ -10000 545 693 333 348 169 14 62 511 80
+ -10000 945 892 471 464 211 748 607 71 936
+ -10000 908 918 749 463 375 620 406 734 589
+ -10000 190 642 454 140 556 863 89 498 579
+ -10000 113 286 827 608 94 77 355 421 424
+ -10000 642 668 167 36 968 788 431 720 294
+ -10000 664 860 249 520 189 327 715 908 935
+ -10000 225 56 204 862 628 253 578 504 279
+ -10000 426 932 207 691 982 933 86 260 577
+ -10000 118 521 10 869 907 411 103 635 132
+ -10000 507 385 998 519 630 997 126 462 627
+ -10000 724 948 10 448 443 947 465 944 477
+ -10000 289 164 991 975 802 138 504 560 258
+ -10000 489 565 234 225 333 796 376 348 77
+ -10000 430 896 871 600 665 871 828 215 597
+ -10000 23 783 444 824 309 67 694 106 825
+ -10000 877 636 371 428 718 552 563 340 519
+ -10000 904 129 492 497 104 525 896 400 817
+ -10000 672 880 122 120 317 371 521 303 969
+ -10000 474 671 820 111 103 775 494 932 78
+ -10000 534 421 4 285 872 565 632 343 680
+ -10000 533 793 468 796 922 801 203 438 669
+ -10000 152 35 880 564 800 201 607 719 34
+ -10000 164 10 296 547 828 780 873 540 101
+ -10000 704 53 767 19 79 880 772 259 248
+ -10000 844 646 946 878 982 577 167 997 851
+ -10000 985 696 618 556 390 318 727 295 353
+ -10000 364 414 53 359 905 547 464 94 536
+ -10000 546 791 423 427 54 561 852 86 53
+ -10000 710 283 615 6 297 899 561 482 413
+ -10000 726 838 784 730 905 755 71 132 825
+ -10000 519 792 41 500 762 771 669 768 765
+ -10000 679 847 798 870 751 532 954 4 883
+ -10000 956 786 719 596 785 445 833 912 679
+ -10000 609 323 848 798 8 27 262 848 604
+ -10000 56 924 664 793 14 605 462 322 160
+ -10000 519 996 19 793 544 513 375 73 122
+ -10000 425 386 509 508 542 65 811 785 924
+ -10000 229 629 336 517 338 607 928 270 63
+ -10000 623 192 724 549 628 504 38 274 4
+ -10000 529 691 56 998 462 785 373 782 592
+ -10000 412 481 469 964 274 448 121 780 81
+ -10000 734 974 559 338 150 212 781 650 284
+ -10000 635 210 517 604 296 863 269 51 935
+ -10000 515 176 752 427 563 253 53 225 523
+ -10000 998 325 658 560 318 65 161 442 145
+ -10000 918 173 50 497 260 931 154 477 47
+ -10000 22 962 523 724 253 434 544 115 750
+ -10000 762 253 245 635 814 552 763 162 590
+ -10000 56 479 129 617 167 802 22 290 999
+ -10000 87 250 565 311 268 398 585 340 451
+ -10000 500 316 837 935 300 405 805 625 196
+ -10000 598 349 135 839 45 755 414 389 848
+ -10000 483 390 925 462 312 572 803 10 11
+ -10000 497 962 644 540 456 116 686 84 479
+ -10000 506 59 508 339 671 915 346 827 351
+ -10000 799 482 0 586 720 604 837 133 649
+ -10000 846 870 830 806 343 49 728 999 903
+ -10000 239 127 950 258 281 282 309 414 647
+ -10000 51 364 719 404 159 15 808 438 223
+ -10000 348 526 377 146 151 562 892 246 850
+ -10000 118 632 733 772 58 934 39 34 984
+ -10000 117 428 100 174 470 991 306 771 458
+ -10000 308 707 151 522 182 319 790 783 786
+ -10000 109 204 788 445 542 236 115 5 614
+ -10000 294 206 482 682 835 351 75 331 74
+ -10000 876 548 511 940 470 642 886 513 246
+ -10000 964 227 814 88 723 606 423 751 535
+ -10000 545 242 819 510 400 389 484 672 196
+ -10000 74 435 129 593 693 224 44 787 398
+ -10000 267 1 185 566 49 103 713 611 138
+ -10000 315 293 153 881 802 808 85 34 410
+ -10000 965 176 274 195 533 249 537 392 705
+ -10000 298 653 915 969 104 630 994 849 214
+ -10000 243 403 205 552 469 623 846 474 687
+ -10000 797 56 221 951 929 435 645 834 549
+ -10000 752 226 451 897 734 409 125 643 532
+ -10000 971 523 919 555 467 603 993 796 459
+ -10000 527 322 269 807 278 18 650 533 959
+ -10000 747 976 124 413 460 447 205 359 475
+ -10000 260 230 82 329 971 475 494 569 172
+ -10000 889 33 935 559 36 764 85 941 27
+ -10000 832 130 280 256 232 99 144 787 745
+ -10000 273 640 935 226 318 707 689 948 192
+ -10000 689 927 668 582 31 161 749 527 63
+ -10000 318 840 557 101 121 460 885 586 61
+ -10000 322 292 701 823 950 672 42 439 298
+ -10000 981 418 480 867 998 48 636 239 188
+ -10000 32 705 375 234 291 208 755 931 290
+ -10000 746 50 462 734 141 281 861 637 358
+ -10000 649 312 719 298 645 821 365 404 359
+ -10000 650 311 212 306 790 930 507 703 797
+ -10000 367 13 709 607 934 983 181 61 242
+ -10000 274 697 74 398 780 468 682 134 616
+ -10000 438 913 941 43 222 900 440 662 160
+ -10000 686 249 504 646 749 527 751 390 158
+ -10000 759 592 538 385 224 43 358 802 108
+ -10000 262 334 354 902 1000 243 772 445 181
+ -10000 523 106 63 917 108 842 402 580 863
+ -10000 923 1000 474 121 493 515 612 968 161
+ -10000 603 74 794 208 143 773 588 332 279
+ -10000 536 682 731 764 12 870 678 682 111
+ -10000 773 714 146 0 852 798 150 776 996
+ -10000 338 492 172 482 677 500 86 810 599
+ -10000 634 348 694 490 164 615 438 584 109
+ -10000 367 661 849 888 14 629 135 90 879
+ -10000 68 12 550 871 914 812 355 848 399
+ -10000 819 66 363 955 822 686 449 847 758
+ -10000 390 806 637 966 774 116 844 372 278
+ -10000 953 159 388 436 280 386 704 189 320
+ -10000 161 522 475 687 155 940 63 744 455
+ -10000 521 162 597 961 985 266 715 997 82
+ -10000 943 351 766 780 447 434 215 806 439
+ -10000 970 241 698 80 928 837 408 663 921
+ -10000 297 612 480 180 826 121 593 690 845
+ -10000 72 666 571 968 237 216 983 280 102
+ -10000 796 469 439 541 268 500 739 760 919
+ -10000 872 347 955 693 138 267 262 78 480
+ -10000 820 341 597 704 696 807 715 587 286
+ -10000 582 487 159 332 151 404 687 690 293
+ -10000 574 569 682 57 31 249 893 411 182
+ -10000 783 80 612 553 571 141 559 47 762
+ -10000 204 857 426 725 696 404 506 446 322
+ -10000 107 413 971 180 164 269 687 22 581
+ -10000 952 632 544 278 367 601 803 979 111
+ -10000 60 56 208 379 229 128 900 520 880
+ -10000 478 429 520 72 485 555 419 53 634
+ -10000 244 954 645 208 855 751 166 326 542
+ -10000 775 300 819 297 944 334 789 597 116
+ -10000 387 195 703 971 692 124 513 833 213
+ -10000 521 668 675 150 737 922 402 292 25
+ -10000 861 532 680 760 673 756 371 240 963
+ -10000 330 695 359 801 409 266 987 635 611
+ -10000 291 910 551 577 248 0 101 962 922
+ -10000 134 967 343 380 357 516 165 146 316
+ -10000 883 528 305 133 865 381 635 780 519
+ -10000 974 941 374 481 171 777 401 314 774
+ -10000 435 284 308 499 706 201 737 528 887
+ -10000 158 224 51 921 896 446 569 219 973
+ -10000 607 976 576 999 231 243 74 873 773
+ -10000 46 251 632 991 917 492 177 127 529
+ -10000 94 771 212 894 865 619 355 868 185
+ -10000 879 488 80 450 173 964 919 554 197
+ -10000 515 324 754 661 178 826 574 31 118
+ -10000 153 103 953 100 37 77 540 344 647
+ -10000 714 706 435 474 831 601 540 995 779
+ -10000 341 942 912 153 749 336 98 251 139
+ -10000 402 644 739 604 363 315 57 849 427
+ -10000 824 66 441 897 969 951 332 626 540
+ -10000 893 202 623 751 378 641 594 247 12
+ -10000 26 267 724 10 575 544 515 487 321
+ -10000 78 583 28 403 82 740 980 626 191
+ -10000 437 457 557 613 643 509 533 419 632
+ -10000 279 316 584 690 911 344 590 592 574
+ -10000 432 761 107 361 113 968 569 876 975
+ -10000 837 292 275 606 187 860 627 66 436
+ -10000 605 295 163 785 24 111 302 289 182
+ -10000 754 825 548 983 401 696 20 704 880
+ -10000 253 199 138 222 427 804 415 968 736
+ -10000 350 580 655 701 978 263 496 792 60
+ -10000 150 465 865 802 71 954 908 440 782
+ -10000 280 280 431 68 860 533 426 609 229
+ -10000 304 56 670 669 13 260 11 810 701
+ -10000 169 271 1 717 74 597 30 372 778
+ -10000 829 771 84 736 368 7 205 625 825
+ -10000 286 676 292 815 612 913 622 653 842
+ -10000 967 877 54 419 23 549 838 259 937
+ -10000 985 224 612 460 202 167 789 660 583
+ -10000 575 914 219 374 834 23 906 75 511
+ -10000 402 528 485 807 725 329 213 100 967
+ -10000 927 687 633 483 52 729 902 502 662
+ -10000 842 54 719 930 19 129 68 158 31
+ -10000 111 745 985 173 312 737 941 87 968
+ -10000 250 48 382 844 30 660 471 992 737
+ -10000 582 710 343 325 78 825 274 324 930
+ -10000 744 108 944 202 96 285 820 242 975
+ -10000 463 581 145 941 930 208 927 120 898
+ -10000 310 805 627 187 271 482 805 938 238
+ -10000 356 902 167 400 928 700 674 899 934
+ -10000 231 908 586 116 395 540 369 33 583
+ -10000 452 34 821 985 190 228 632 748 829
+ -10000 905 230 151 635 10 73 693 6 940
+ -10000 134 384 318 654 622 752 791 563 507
+ -10000 83 797 654 353 825 349 530 340 253
+ -10000 481 216 482 994 983 544 733 405 339
+ -10000 93 650 457 726 975 759 947 25 720
+ -10000 633 250 644 256 112 982 856 874 529
+ -10000 95 487 873 7 537 681 833 39 997
+ -10000 295 763 2 286 562 292 762 440 25
+ -10000 928 651 352 11 683 416 146 424 114
+ -10000 554 361 11 538 443 958 684 32 859
+ -10000 286 973 460 460 511 421 974 904 373
+ -10000 343 67 136 816 444 663 60 154 855
+ -10000 469 925 978 530 916 782 412 353 753
+ -10000 533 632 218 584 442 462 821 447 461
+ -10000 395 199 164 551 736 843 623 321 840
+ -10000 45 886 694 927 656 599 615 573 780
+ -10000 2 383 812 33 231 295 249 247 730
+ -10000 729 335 475 987 844 723 783 115 848
+ -10000 525 249 617 242 682 39 761 320 739
+ -10000 875 692 598 459 967 560 276 825 980
+ -10000 84 481 35 279 153 769 755 140 931
+ -10000 632 203 133 494 176 398 232 454 328
+ -10000 358 38 496 59 752 592 443 796 126
+ -10000 821 242 708 632 885 277 793 347 51
+ -10000 571 529 424 286 194 22 421 496 812
+ -10000 639 212 56 244 462 483 654 189 2
+ -10000 997 7 980 189 710 269 644 633 197
+ -10000 597 342 692 724 227 94 679 535 829
+ -10000 554 522 218 132 930 370 371 339 781
+ -10000 890 48 995 991 443 394 248 143 997
+ -10000 374 16 34 641 639 892 289 370 761
+ -10000 896 463 570 295 837 823 205 974 531
+ -10000 967 411 665 479 670 212 598 425 387
+ -10000 800 851 772 461 407 214 735 774 102
+ -10000 746 374 518 159 328 300 128 590 934
+ -10000 720 468 713 66 443 827 84 904 230
+ -10000 619 819 846 326 732 409 777 19 589
+ -10000 23 706 762 233 62 71 894 776 43
+ -10000 677 0 354 35 808 248 203 230 122
+ -10000 526 258 342 407 171 147 37 723 986
+ -10000 549 959 34 424 759 70 224 503 69
+ -10000 706 207 129 290 321 864 707 270 550
+ -10000 800 582 451 287 313 426 368 863 294
+ -10000 966 243 869 340 362 617 509 98 860
+ -10000 565 309 174 916 808 28 598 490 533
+ -10000 952 218 645 233 681 906 956 984 963
+ -10000 930 763 48 356 159 762 407 891 297
+ -10000 463 707 447 131 753 798 741 905 490
+ -10000 76 589 502 15 8 373 600 701 289
+ -10000 35 698 193 106 275 18 390 942 886
+ -10000 540 497 1000 796 450 643 990 405 399
+ -10000 154 855 724 561 159 365 373 745 373
+ -10000 763 148 532 611 538 192 86 587 126
+ -10000 688 732 166 354 834 276 285 679 607
+ -10000 837 198 386 306 290 724 436 31 424
+ -10000 255 616 350 187 403 314 858 395 393
+ -10000 291 594 329 137 547 375 420 161 21
+ -10000 333 556 478 746 761 673 807 129 160
+ -10000 288 979 830 381 454 247 393 672 869
+ -10000 435 100 785 28 880 229 255 214 542
+ -10000 634 926 70 447 331 71 944 892 352
+ -10000 644 474 295 149 841 65 454 723 252
+ -10000 109 995 613 158 174 907 654 239 997
+ -10000 834 668 836 545 966 449 846 306 309
+ -10000 983 570 514 643 216 860 742 727 636
+ -10000 905 290 321 724 966 419 314 543 831
+ -10000 679 787 568 24 937 196 100 978 984
+ -10000 632 130 421 615 572 223 335 985 696
+ -10000 23 24 519 143 687 855 693 19 797
+ -10000 905 663 962 651 488 327 985 763 421
+ -10000 529 300 156 734 678 852 244 534 448
+ -10000 956 541 308 927 890 145 211 965 323
+ -10000 120 397 854 23 707 285 46 989 243
+ -10000 189 805 708 214 766 905 120 619 512
+ -10000 102 943 554 209 87 706 675 405 102
+ -10000 546 974 141 912 662 577 599 476 786
+ -10000 405 460 150 250 639 967 194 670 93
+ -10000 911 485 429 419 543 505 697 734 87
+ -10000 9 563 379 310 693 158 487 38 454
+ -10000 648 127 378 954 985 897 573 200 815
+ -10000 609 386 911 7 0 907 64 886 68
+ -10000 275 927 404 338 621 191 275 429 41
+ -10000 911 636 975 520 499 849 307 475 202
+ -10000 470 827 656 660 227 644 521 793 660
+ -10000 182 309 321 580 961 666 779 153 366
+ -10000 663 75 810 380 197 411 10 625 979
+ -10000 803 579 403 291 891 773 750 958 207
+ -10000 961 131 615 577 792 274 104 946 140
+ -10000 491 399 934 87 434 612 147 613 203
+ -10000 342 75 711 142 566 354 256 660 373
+ -10000 479 824 688 311 300 534 259 363 535
+ -10000 393 414 391 39 610 571 579 940 675
+ -10000 965 619 128 734 156 95 691 442 434
+ -10000 166 115 507 256 582 896 149 839 470
+ -10000 942 91 243 805 236 657 764 867 171
+ -10000 481 739 920 224 480 287 501 904 839
+ -10000 321 377 753 641 975 973 473 361 431
+ -10000 796 862 668 198 868 150 102 520 641
+ -10000 341 280 906 687 600 796 236 641 238
+ -10000 922 515 863 506 71 516 77 182 662
+ -10000 701 314 782 843 118 119 843 6 423
+ -10000 112 192 970 713 759 64 585 861 100
+ -10000 374 79 871 372 361 6 235 239 143
+ -10000 87 525 491 159 909 290 520 76 73
+ -10000 680 9 914 458 521 461 560 774 431
+ -10000 640 446 427 891 636 928 716 481 602
+ -10000 322 124 159 27 1 772 282 112 302
+ -10000 6 394 880 221 715 388 521 265 228
+ -10000 291 868 738 23 667 373 328 937 493
+ -10000 845 947 276 98 687 19 480 167 492
+ -10000 336 427 36 817 148 611 431 568 388
+ -10000 773 505 747 151 141 653 637 195 77
+ -10000 617 332 740 411 800 740 879 448 390
+ -10000 443 377 386 706 338 913 518 114 842
+ -10000 673 179 602 731 285 302 843 865 561
+ -10000 794 258 608 962 450 375 509 771 653
+ -10000 624 278 214 500 277 862 867 708 378
+ -10000 351 502 57 663 524 5 442 825 78
+ -10000 937 451 96 552 34 761 932 511 223
+ -10000 398 351 980 693 510 48 728 248 286
+ -10000 95 326 228 672 427 401 127 321 659
+ -10000 950 951 703 282 314 952 752 70 456
+ -10000 203 881 522 429 303 218 589 175 588
+ -10000 971 997 394 645 677 542 108 957 329
+ -10000 806 670 873 440 931 248 937 993 282
+ -10000 469 64 842 226 522 841 418 228 955
+ -10000 530 951 764 561 595 608 145 943 321
+ -10000 207 301 349 979 128 362 894 769 782
+ -10000 506 658 732 452 424 734 986 862 744
+ -10000 665 569 48 867 839 586 376 819 256
+ -10000 656 636 168 659 42 11 552 492 688
+ -10000 448 159 900 833 489 642 368 257 519
+ -10000 128 580 22 696 841 763 529 807 83
+ -10000 638 139 667 778 89 63 67 560 914
+ -10000 851 496 243 756 607 2 611 551 533
+ -10000 890 279 326 575 575 50 665 886 807
+ -10000 39 135 92 841 970 534 867 216 822
+ -10000 228 579 432 54 255 244 129 104 903
+ -10000 671 352 193 78 449 361 805 30 172
+ -10000 495 796 854 496 667 121 1 50 176
+ -10000 751 558 65 641 685 632 591 560 946
+ -10000 33 582 976 454 616 363 586 909 58
+ -10000 837 957 55 434 874 924 653 437 93
+ -10000 404 733 968 638 239 359 613 160 137
+ -10000 511 520 227 163 153 323 123 189 803
+ -10000 618 631 263 459 110 8 43 999 277
+ -10000 17 486 25 899 181 875 809 134 423
+ -10000 872 193 949 65 643 383 733 326 701
+ -10000 213 525 629 530 880 226 611 654 284
+ -10000 631 505 368 138 606 798 149 107 387
+ -10000 764 240 99 90 668 316 374 93 374
+ -10000 113 541 528 582 172 373 626 637 288
+ -10000 875 602 740 652 562 566 730 221 916
+ -10000 523 587 867 478 597 44 817 877 689
+ -10000 941 952 836 649 124 996 264 112 574
+ -10000 273 96 761 339 184 171 838 737 452
+ -10000 882 372 629 168 334 420 230 390 759
+ -10000 480 568 737 439 432 82 738 93 785
+ -10000 308 512 787 563 175 832 790 383 947
+ -10000 537 826 736 369 433 234 352 750 885
+ -10000 286 392 195 591 580 100 867 678 700
+ -10000 859 571 545 175 759 820 328 17 626
+ -10000 462 790 458 989 834 602 838 669 548
+ -10000 535 375 97 843 527 312 109 434 193
+ -10000 700 869 546 749 823 499 209 711 167
+ -10000 698 265 399 669 159 259 198 196 299
+ -10000 371 553 246 774 939 355 722 448 787
+ -10000 866 718 785 488 771 430 883 994 558
+ -10000 547 889 494 439 666 976 604 519 520
+ -10000 590 496 474 667 483 392 843 511 271
+ -10000 896 696 356 544 598 366 702 431 908
+ -10000 314 4 679 737 509 2 922 119 845
+ -10000 85 21 656 592 260 901 419 345 510
+ -10000 602 286 542 753 989 605 450 427 133
+ -10000 903 288 697 566 752 365 101 759 28
+ -10000 24 788 920 862 68 463 26 140 8
+ -10000 308 817 695 356 654 191 34 136 9
+ -10000 724 734 385 241 705 770 932 308 184
+ -10000 671 760 996 268 644 902 573 929 511
+ -10000 605 902 892 487 85 27 982 952 617
+ -10000 922 674 376 674 385 51 356 550 122
+ -10000 606 42 665 207 390 610 547 5 230
+ -10000 965 837 271 444 963 151 244 952 407
+ -10000 497 573 428 136 548 830 994 981 449
+ -10000 754 227 769 182 29 846 860 93 275
+ -10000 275 784 460 268 851 438 820 749 196
+ -10000 396 684 287 349 199 645 632 953 265
+ -10000 491 737 684 701 10 882 845 526 526
+ -10000 762 794 568 366 202 346 586 17 119
+ -10000 211 27 94 810 548 958 812 171 575
+ -10000 936 109 460 792 57 174 223 188 154
+ -10000 840 247 917 732 833 548 909 159 739
+ -10000 185 715 804 417 612 565 0 724 199
+ -10000 259 801 13 106 353 720 997 611 163
+ -10000 683 833 412 188 698 861 729 83 809
+ -10000 41 390 628 248 733 154 429 783 766
+ -10000 964 72 431 583 569 507 567 855 290
+ -10000 903 415 47 435 493 122 660 641 470
+ -10000 884 718 626 541 415 44 312 135 920
+ -10000 674 600 302 368 462 207 565 847 898
+ -10000 395 848 377 437 68 722 874 39 405
+ -10000 515 264 7 463 643 63 802 329 410
+ -10000 589 690 955 380 151 143 898 670 96
+ -10000 612 311 54 170 768 31 937 56 603
+ -10000 442 284 257 902 186 492 404 181 710
+ -10000 210 658 145 177 618 659 43 347 599
+ -10000 390 23 996 80 59 49 500 181 116
+ -10000 891 944 327 45 264 567 248 96 860
+ -10000 419 5 380 927 358 724 383 90 869
+ -10000 911 958 876 993 424 642 798 44 554
+ -10000 824 979 346 310 975 564 729 498 153
+ -10000 120 188 496 206 903 823 580 294 59
+ -10000 804 194 493 400 114 784 983 109 705
+ -10000 845 227 96 877 979 490 204 658 88
+ -10000 64 356 316 615 174 824 625 177 915
+ -10000 165 93 383 403 871 464 800 684 226
+ -10000 813 48 532 24 866 373 506 563 885
+ -10000 645 947 276 275 667 21 665 131 949
+ -10000 359 570 690 444 118 791 193 390 828
+ -10000 39 166 511 844 950 631 123 415 117
+ -10000 170 538 635 946 906 988 482 31 846
+ -10000 210 380 352 27 260 958 188 664 94
+ -10000 226 302 777 383 857 708 747 274 755
+ -10000 640 36 884 867 540 864 892 846 90
+ -10000 953 987 682 64 154 84 355 378 58
+ -10000 523 107 846 416 502 1000 503 487 437
+ -10000 777 391 442 306 895 856 86 183 996
+ -10000 982 516 127 988 499 880 849 147 782
+ -10000 552 238 673 935 358 191 679 219 532
+ -10000 469 279 338 590 841 588 289 229 174
+ -10000 491 374 283 327 250 896 352 902 411
+ -10000 127 459 159 149 221 76 949 117 551
+ -10000 551 817 155 102 481 173 623 981 201
+ -10000 710 176 93 643 284 415 798 962 557
+ -10000 188 94 999 769 968 585 852 328 243
+ -10000 691 542 286 798 434 124 308 149 976
+ -10000 122 527 82 130 721 254 292 183 294
+ -10000 293 592 420 375 162 594 802 829 421
+ -10000 71 990 522 381 680 936 107 508 506
+ -10000 485 177 140 328 998 738 423 764 705
+ -10000 861 644 366 586 859 526 715 78 703
+ -10000 412 38 394 46 416 987 722 124 913
+ -10000 512 36 137 650 10 197 334 487 72
+ -10000 9 633 976 48 64 748 698 156 842
+ -10000 831 401 171 332 995 715 596 581 69
+ -10000 141 17 276 857 8 331 846 287 597
+ -10000 744 689 713 450 785 426 373 708 644
+ -10000 509 594 251 584 981 167 859 616 613
+ -10000 977 137 640 714 952 888 574 410 45
+ -10000 845 255 573 347 792 910 411 695 380
+ -10000 535 567 702 383 698 903 986 894 33
+ -10000 108 789 745 417 880 222 752 30 18
+ -10000 677 673 0 44 279 389 933 434 574
+ -10000 870 718 722 388 185 729 881 618 958
+ -10000 840 114 504 628 963 898 887 331 474
+ -10000 998 438 474 490 303 826 23 121 221
+ -10000 421 652 800 893 377 151 434 555 868
+ -10000 222 805 969 86 931 908 576 140 861
+ -10000 357 866 185 235 458 500 165 952 479
+ -10000 834 290 697 773 683 806 496 979 12
+ -10000 394 258 970 695 695 421 228 631 818
+ -10000 698 464 462 802 346 126 698 452 625
+ -10000 761 990 345 557 813 579 967 642 896
+ -10000 885 745 792 992 705 816 735 872 708
+ -10000 898 64 87 548 672 266 644 80 859
+ -10000 274 370 877 12 731 830 157 275 724
+ -10000 215 444 104 46 750 428 798 142 317
+ -10000 699 988 764 155 344 972 382 292 332
+ -10000 654 85 880 613 276 190 365 311 787
+ -10000 821 67 226 458 125 324 315 496 172
+ -10000 803 788 621 26 270 447 27 697 120
+ -10000 64 382 393 933 904 649 922 32 403
+ -10000 734 444 129 962 903 287 420 902 441
+ -10000 688 177 64 272 984 559 629 859 251
+ -10000 617 292 203 67 434 983 292 766 907
+ -10000 18 970 389 994 696 7 350 185 312
+ -10000 128 73 758 9 107 291 696 988 28
+ -10000 684 597 663 774 582 801 731 342 927
+ -10000 838 260 165 642 120 206 191 635 807
+ -10000 73 721 45 416 421 366 449 801 376
+ -10000 15 340 309 250 323 212 52 951 285
+ -10000 933 44 453 177 507 372 892 955 151
+ -10000 713 477 827 700 838 295 200 86 429
+ -10000 113 782 42 154 595 304 724 463 867
+ -10000 696 182 300 956 694 131 487 763 95
+ -10000 46 287 641 200 23 763 747 616 934
+ -10000 209 415 635 662 991 816 944 585 193
+ -10000 747 303 299 783 335 685 943 835 568
+ -10000 30 71 902 726 295 413 205 13 753
+ -10000 323 742 83 564 519 157 337 840 383
+ -10000 573 573 434 643 648 242 517 765 94
+ -10000 993 24 663 852 987 644 273 501 3
+ -10000 813 179 316 600 858 220 673 690 227
+ -10000 425 970 765 274 379 673 723 645 570
+ -10000 176 257 713 810 6 539 816 645 924
+ -10000 139 371 480 209 795 429 851 782 93
+ -10000 92 395 897 422 945 472 884 161 411
+ -10000 844 758 418 152 151 464 982 363 458
+ -10000 798 499 353 14 356 565 195 694 132
+ -10000 248 474 102 935 489 799 349 844 197
+ -10000 648 450 552 529 491 458 59 609 556
+ -10000 918 599 579 764 475 919 710 819 509
+ -10000 976 555 553 730 23 233 138 861 799
+ -10000 421 606 655 617 153 57 269 18 278
+ -10000 365 344 753 455 82 923 806 897 716
+ -10000 662 110 856 74 274 30 599 784 716
+ -10000 484 879 604 188 11 255 661 359 378
+ -10000 429 849 951 867 767 891 16 183 284
+ -10000 978 216 134 365 309 185 698 888 620
+ -10000 957 853 560 719 336 792 584 426 713
+ -10000 26 651 843 347 592 877 317 205 531
+ -10000 320 346 4 101 652 952 75 107 890
+ -10000 164 348 841 240 862 706 156 584 215
+ -10000 812 875 865 543 559 834 546 200 387
+ -10000 908 638 723 153 664 748 184 508 406
+ -10000 244 549 287 705 974 990 808 649 454
+ -10000 797 444 14 746 985 330 779 19 46
+ -10000 133 180 11 450 701 86 490 14 947
+ -10000 685 609 627 156 711 308 134 416 639
+ -10000 948 186 196 390 694 776 61 298 31
+ -10000 614 70 338 924 78 672 172 668 995
+ -10000 708 161 427 140 993 617 825 699 728
+ -10000 347 914 445 422 879 686 396 606 522
+ -10000 937 947 817 627 648 641 928 404 526
+ -10000 666 203 482 541 351 458 625 222 686
+ -10000 22 712 818 366 845 698 356 369 913
+ -10000 305 955 513 891 200 827 644 115 820
+ -10000 169 717 350 892 838 75 307 604 969
+ -10000 328 387 532 528 67 727 134 271 118
+ -10000 279 96 863 107 250 320 597 473 152
+ -10000 838 484 600 700 490 352 659 28 968
+ -10000 797 292 382 362 395 987 626 627 631
+ -10000 632 337 157 594 778 60 276 36 196
+ -10000 864 856 577 94 405 982 266 421 313
+ -10000 517 893 353 49 597 718 234 648 774
+ -10000 502 361 30 675 692 876 456 612 189
+ -10000 165 747 93 313 455 812 882 555 766
+ -10000 794 419 582 632 591 847 247 972 678
+ -10000 375 535 864 793 425 196 343 828 816
+ -10000 988 4 28 28 712 292 21 488 416
+ -10000 123 919 648 248 992 463 172 375 346
+ -10000 838 969 45 318 683 352 284 607 436
+ -10000 526 596 68 258 216 375 453 821 28
+ -10000 795 736 761 377 978 970 707 941 540
+ -10000 193 698 761 374 913 882 946 316 363
+ -10000 540 80 530 828 229 564 898 257 367
+ -10000 980 852 203 658 457 575 820 91 511
+ -10000 226 29 756 492 810 236 307 59 37
+ -10000 394 61 469 708 832 876 357 742 218
+ -10000 678 334 581 446 608 501 969 15 456
+ -10000 700 565 473 247 668 447 450 360 621
+ -10000 434 248 157 493 973 278 638 50 48
+ -10000 921 939 544 0 361 265 994 587 28
+ -10000 723 293 391 953 231 380 541 987 153
+ -10000 829 514 701 931 29 899 974 923 287
+ -10000 680 58 795 346 369 579 361 293 125
+ -10000 347 758 701 945 144 539 923 209 654
+ -10000 946 691 657 591 422 136 745 580 20
+ -10000 941 155 337 379 608 196 802 32 373
+ -10000 168 386 993 734 25 68 722 320 678
+ -10000 572 845 407 824 34 431 653 303 14
+ -10000 216 369 271 148 506 936 104 317 354
+ -10000 392 88 306 904 9 682 958 728 17
+ -10000 27 578 528 439 363 70 22 691 157
+ -10000 217 547 909 988 84 155 452 18 386
+ -10000 474 662 616 97 884 582 420 463 932
+ -10000 128 938 592 389 493 860 884 862 885
+ -10000 409 386 709 865 380 241 698 238 150
+ -10000 842 209 234 318 613 179 574 213 914
+ -10000 7 840 903 349 701 679 964 578 593
+ -10000 946 775 352 506 512 832 397 816 251
+ -10000 976 16 837 924 501 501 225 211 521
+ -10000 847 495 800 973 391 797 464 318 174
+ -10000 741 212 423 663 950 304 937 798 732
+ -10000 16 56 392 913 94 724 456 418 46
+ -10000 888 762 553 135 787 692 467 169 701
+ -10000 27 771 751 878 47 789 254 237 340
+ -10000 20 532 778 499 955 988 5 796 526
+ -10000 873 75 617 973 343 246 763 996 826
+ -10000 320 866 21 165 982 848 991 250 409
+ -10000 367 793 144 289 451 503 546 241 557
+ -10000 692 460 942 484 671 653 886 46 76
+ -10000 604 617 941 225 12 698 36 798 556
+ -10000 266 424 329 808 539 908 465 714 901
+ -10000 474 191 799 245 3 305 172 685 445
+ -10000 250 70 522 602 651 315 834 507 764
+ -10000 941 465 458 371 515 484 885 627 70
+ -10000 81 207 698 412 7 14 321 858 573
+ -10000 334 664 122 11 361 642 869 96 676
+ -10000 566 823 473 617 326 459 881 148 797
+ -10000 650 947 932 700 288 699 343 911 599
+ -10000 104 448 843 825 395 877 105 377 482
+ -10000 16 727 781 112 924 902 922 925 49
+ -10000 445 23 789 701 313 2 521 834 75
+ -10000 744 918 708 272 237 601 706 528 561
+ -10000 398 312 310 702 920 121 646 549 456
+ -10000 932 796 244 735 824 746 869 515 29
+ -10000 719 687 485 265 724 944 452 879 556
+ -10000 356 672 304 617 59 82 500 770 364
+ -10000 470 503 795 409 473 757 675 168 330
+ -10000 805 825 342 26 303 786 654 673 398
+ -10000 763 263 942 405 287 663 363 294 523
+ -10000 76 266 594 108 884 652 726 193 323
+ -10000 139 690 434 532 259 722 262 691 948
+ -10000 964 105 937 6 590 943 834 740 988
+ -10000 615 77 842 689 548 386 420 828 771
+ -10000 333 387 828 312 553 551 409 89 868
+ -10000 525 761 394 42 384 164 706 127 139
+ -10000 747 723 266 751 302 250 142 282 674
+ -10000 1 254 330 560 946 374 393 641 214
+ -10000 447 182 86 321 603 76 896 224 897
+ -10000 871 687 361 458 593 782 471 2 516
+ -10000 130 241 676 92 142 173 204 55 925
+ -10000 413 185 150 253 971 414 409 309 887
+ -10000 211 705 713 226 599 132 575 955 635
+ -10000 659 494 704 444 296 844 110 827 24
+ -10000 333 118 608 863 640 439 367 30 60
+ -10000 947 652 211 916 441 826 205 839 127
+ -10000 522 703 199 101 905 510 300 857 707
+ -10000 155 395 543 382 646 420 710 703 104
+ -10000 711 39 981 168 661 481 921 555 522
+ -10000 720 798 302 338 546 601 911 410 680
+ -10000 226 402 888 122 455 779 309 109 667
+ -10000 481 817 562 479 758 814 695 757 726
+ -10000 319 457 376 662 729 849 888 28 567
+ -10000 982 281 95 345 460 988 257 425 554
+ -10000 950 661 505 678 102 692 983 630 412
+ -10000 521 631 964 532 746 675 306 870 742
+ -10000 386 884 687 706 634 990 272 570 495
+ -10000 342 135 509 555 965 826 488 828 533
+ -10000 973 852 60 136 799 345 342 175 51
+ -10000 96 450 167 757 832 179 222 447 433
+ -10000 691 460 810 220 428 856 977 961 542
+ -10000 293 426 358 514 808 89 526 37 924
+ -10000 804 523 959 535 377 993 387 986 825
+ -10000 761 604 34 59 957 934 302 729 819
+ -10000 64 374 631 664 444 883 626 269 133
+ -10000 183 832 915 177 806 801 840 539 879
+ -10000 156 549 854 304 693 569 479 81 859
+ -10000 478 844 833 61 539 969 857 755 158
+ -10000 967 936 679 600 177 625 444 612 976
+ -10000 696 427 135 859 19 839 810 773 176
+ -10000 337 749 961 773 982 845 565 246 425
+ -10000 448 516 348 19 903 532 588 943 150
+ -10000 253 165 544 565 812 932 346 877 887
+ -10000 544 602 800 359 743 741 933 851 501
+ -10000 110 472 557 231 578 287 902 211 584
+ -10000 601 774 428 809 993 421 57 11 631
+ -10000 712 926 871 522 440 159 701 538 465
+ -10000 694 351 386 805 327 780 313 476 658
+ -10000 806 8 491 14 923 961 856 214 257
+ -10000 761 469 431 349 451 662 965 518 110
+ -10000 645 396 735 616 167 616 691 721 808
+ -10000 708 532 716 733 677 32 827 546 502
+ -10000 928 299 642 762 477 797 754 763 592
+ -10000 957 871 205 166 841 729 572 525 980
+ -10000 363 304 142 966 218 279 653 973 207
+ -10000 926 280 407 817 341 964 640 649 182
+ -10000 602 924 314 767 237 621 402 150 540
+ -10000 234 515 258 776 988 421 420 857 384
+ -10000 108 527 985 926 237 580 945 834 997
+ -10000 695 987 548 769 38 142 118 244 745
+ -10000 143 769 896 506 58 452 824 727 560
+ -10000 235 740 241 821 91 492 20 345 938
+ -10000 672 899 494 456 425 78 3 568 894
+ -10000 749 219 276 235 875 94 687 118 476
+ -10000 699 594 661 947 985 34 284 62 633
+ -10000 896 874 697 105 718 651 670 973 173
+ -10000 895 80 539 103 35 373 101 239 734
+ -10000 705 278 410 374 444 906 384 761 155
+ -10000 11 277 484 891 150 25 58 486 302
+ -10000 602 37 191 168 866 150 269 695 596
+ -10000 76 636 134 425 89 426 219 161 773
+ -10000 161 75 296 398 77 270 779 16 72
+ -10000 93 958 52 932 760 175 963 375 28
+ -10000 87 912 259 273 324 676 574 161 259
+ -10000 460 478 74 309 759 48 140 171 925
+ -10000 942 266 637 801 68 815 624 563 689
+ -10000 496 168 776 376 184 163 698 413 904
+ -10000 998 353 494 392 841 200 874 807 537
+ -10000 669 212 92 47 419 113 212 967 94
+ -10000 148 17 57 96 880 271 660 998 614
+ -10000 631 318 506 158 829 213 31 457 867
+ -10000 531 121 308 871 816 522 678 218 827
+ -10000 149 781 690 471 540 70 708 885 923
+ -10000 56 25 369 4 17 689 776 892 392
+ -10000 857 331 476 507 258 197 27 230 163
+ -10000 344 905 434 511 836 555 283 354 969
+ -10000 806 72 803 291 5 904 164 650 314
+ -10000 984 313 404 696 125 87 460 908 127
+ -10000 448 85 526 340 881 661 424 290 759
+ -10000 150 100 429 124 636 586 488 869 908
+ -10000 710 216 40 574 582 675 942 40 593
+ -10000 521 64 927 935 985 963 469 979 848
+ -10000 641 250 380 439 341 672 203 537 968
+ -10000 369 420 586 740 733 762 285 288 548
+ -10000 313 698 478 206 506 369 280 451 466
+ -10000 363 69 355 593 326 659 997 764 707
+ -10000 417 993 380 588 543 804 475 139 541
+ -10000 516 388 945 876 513 543 225 224 134
+ -10000 115 539 853 329 911 86 295 208 517
+ -10000 283 375 632 60 481 904 158 25 617
+ -10000 579 843 268 919 407 633 695 550 255
+ -10000 668 524 709 636 443 601 377 197 374
+ -10000 692 825 314 142 539 703 993 711 677
+ -10000 992 760 70 646 556 474 359 352 337
+ -10000 660 766 711 867 754 919 435 460 718
+ -10000 49 587 978 869 426 707 578 905 635
+ -10000 10 628 748 773 199 259 601 12 55
+ -10000 379 270 254 183 493 282 877 803 755
+ -10000 337 818 207 642 498 297 419 321 10
+ -10000 838 858 48 840 589 206 662 215 644
+ -10000 728 184 553 799 56 794 24 540 920
+ -10000 883 274 152 82 133 478 283 517 99
+ -10000 921 723 811 355 347 872 463 187 906
+ -10000 15 890 36 39 978 247 216 874 24
+ -10000 773 776 544 935 593 714 894 873 482
+ -10000 757 504 524 512 163 40 750 628 873
+ -10000 271 346 446 163 477 341 875 336 396
+ -10000 302 988 303 673 399 832 220 691 263
+ -10000 459 721 306 132 549 348 524 728 147
+ -10000 255 137 922 408 446 361 354 449 472
+ -10000 390 681 66 425 45 168 973 786 728
+ -10000 727 678 937 114 217 550 236 729 682
+ -10000 718 978 222 676 461 897 235 150 498
+ -10000 481 419 815 474 926 200 821 655 33
+ -10000 11 207 239 494 995 428 204 254 959
+ -10000 755 694 926 46 391 281 6 166 743
+ -10000 477 570 619 337 108 488 888 482 808
+ -10000 596 177 409 456 465 609 1000 665 917
+ -10000 220 387 641 930 664 791 553 15 497
+ -10000 368 953 837 660 777 124 603 822 50
+ -10000 162 910 609 119 461 779 778 270 295
+ -10000 487 926 38 863 328 152 41 472 53
+ -10000 384 290 530 771 99 329 90 55 0
+ -10000 912 569 708 821 886 437 840 286 331
+ -10000 893 38 745 442 252 278 133 886 215
+ -10000 554 124 251 295 737 720 765 605 631
+ -10000 897 666 58 802 554 318 174 434 730
+ -10000 679 791 851 539 312 583 213 644 534
+ -10000 629 528 199 248 814 835 897 557 1000
+ -10000 333 241 399 887 788 635 168 152 87
+ -10000 67 980 464 855 444 70 127 781 405
+ -10000 717 67 83 22 140 619 680 14 698
+ -10000 638 131 67 600 367 467 486 17 686
+ -10000 863 280 62 519 659 804 686 994 993
+ -10000 443 158 888 653 47 694 321 233 209
+ -10000 538 85 181 723 258 620 553 18 940
+ -10000 528 738 983 743 295 951 86 285 566
+ -10000 645 38 836 459 103 22 586 90 692
+ -10000 965 967 524 0 728 673 956 440 460
+ -10000 24 343 474 586 103 182 930 827 208
+ -10000 361 673 376 447 152 394 59 99 121
+ -10000 66 355 640 534 543 322 113 676 383
+ -10000 175 470 326 823 590 345 817 528 571
+ -10000 647 764 15 127 723 539 546 176 231
+ -10000 744 301 814 101 442 474 572 898 80
+ -10000 700 494 847 725 210 615 609 362 339
+ -10000 957 467 353 74 521 680 466 992 611
+ -10000 184 919 520 189 237 808 19 95 917
+ -10000 109 453 309 631 825 279 61 307 932
+ -10000 61 970 717 229 58 235 776 668 942
+ -10000 73 982 193 597 184 21 195 96 914
+ -10000 43 146 277 283 169 64 282 877 44
+ -10000 626 126 309 168 924 432 894 603 726
+ -10000 420 888 553 181 933 545 448 13 481
+ -10000 107 200 438 914 18 827 483 559 905
+ -10000 414 735 46 925 653 169 161 831 770
+ -10000 294 969 36 860 110 511 166 466 1000
+ -10000 752 730 406 194 676 742 364 445 698
+ -10000 128 996 444 496 596 224 527 146 456
+ -10000 236 236 0 934 241 107 629 315 749
+ -10000 885 937 600 803 127 820 732 497 774
+ -10000 196 891 283 826 188 900 583 659 992
+ -10000 727 988 3 615 793 19 278 863 814
+ -10000 934 298 436 967 863 773 721 278 671
+ -10000 613 879 225 120 831 316 410 623 54
+ -10000 661 659 334 78 181 497 525 541 87
+ -10000 883 406 684 945 654 974 932 817 148
+ -10000 958 556 915 704 586 506 364 723 963
+ -10000 654 559 394 787 461 960 899 639 409
+ -10000 402 474 185 824 743 105 896 150 753
+ -10000 194 40 456 62 379 243 395 366 680
+ -10000 789 40 692 100 915 75 493 899 64
+ -10000 324 888 962 658 274 978 873 813 115
+ -10000 588 104 775 499 740 973 374 836 944
+ -10000 706 678 541 560 527 929 261 634 257
+ -10000 678 959 436 9 989 934 453 344 616
+ -10000 315 523 182 185 318 29 853 552 244
+ -10000 457 29 192 179 652 740 424 796 957
+ -10000 403 321 757 48 268 231 21 707 228
+ -10000 605 988 93 772 907 324 385 966 548
+ -10000 1 750 716 334 712 503 883 728 696
+ -10000 529 337 783 91 99 674 631 154 463
+ -10000 929 444 181 370 787 677 686 872 739
+ -10000 979 84 635 416 435 187 969 727 155
+ -10000 632 659 681 254 690 803 594 300 692
+ -10000 961 755 14 643 86 129 948 408 690
+ -10000 274 689 6 730 110 63 885 152 560
+ -10000 411 978 809 375 669 224 931 545 457
+ -10000 596 151 406 466 459 295 461 77 557
+ -10000 643 601 328 966 655 810 752 698 889
+ -10000 835 176 681 864 160 571 375 911 133
+ -10000 66 792 155 476 937 238 57 9 917
+ -10000 502 457 585 729 130 175 275 990 169
+ -10000 206 155 344 690 85 187 288 214 927
+ -10000 749 91 509 749 469 145 243 412 427
+ -10000 83 950 718 472 659 919 42 784 309
+ -10000 331 787 151 875 772 989 765 115 80
+ -10000 624 950 359 827 891 581 994 118 262
+ -10000 627 402 301 588 426 88 394 385 558
+ -10000 288 684 182 540 663 378 623 902 19
+ -10000 783 977 393 493 59 455 788 915 162
+ -10000 865 572 299 810 70 534 516 453 113
+ -10000 373 261 143 1000 955 497 473 784 225
+ -10000 789 684 928 460 405 205 457 818 867
+ -10000 386 789 786 794 838 189 220 690 544
+ -10000 765 297 316 884 205 159 618 641 10
+ -10000 109 684 482 748 405 501 695 614 601
+ -10000 122 398 123 142 696 579 148 281 670
+ -10000 43 514 541 488 347 101 895 228 358
+ -10000 878 469 867 795 909 24 82 44 923
+ -10000 743 526 20 820 48 661 510 203 269
+ -10000 809 258 215 552 880 588 939 202 651
+ -10000 790 17 922 539 672 384 587 771 494
+ -10000 923 16 576 66 426 215 955 661 7
+ -10000 751 669 665 184 237 92 392 747 75
+ -10000 74 346 433 193 925 853 141 484 506
+ -10000 771 822 845 381 997 563 223 230 851
+ -10000 903 104 346 338 737 728 955 569 315
+ -10000 875 336 785 66 857 752 843 773 404
+ -10000 984 789 472 374 703 183 342 989 76
+ -10000 794 278 845 797 870 919 232 500 499
+ -10000 821 227 275 457 110 348 916 653 948
+ -10000 721 236 117 664 373 828 65 886 153
+ -10000 430 551 127 816 347 779 338 663 139
+ -10000 741 157 945 164 348 947 851 727 132
+ -10000 375 437 174 84 405 525 297 175 436
+ -10000 102 315 57 547 553 675 168 190 281
+ -10000 155 27 766 255 968 701 57 534 204
+ -10000 697 610 196 842 360 596 434 99 735
+ -10000 563 85 684 436 202 304 58 459 311
+ -10000 360 237 377 476 88 642 725 922 809
+ -10000 389 936 776 944 656 793 386 935 501
+ -10000 463 192 439 753 905 306 437 868 680
+ -10000 23 487 368 466 992 159 439 179 987
+ -10000 449 96 403 236 203 104 4 207 421
+ -10000 993 342 617 515 231 350 213 101 495
+ -10000 49 25 107 587 992 966 895 469 977
+ -10000 458 381 99 423 644 885 100 29 977
+ -10000 908 403 695 103 928 38 422 204 261
+ -10000 819 754 467 372 991 236 668 501 453
+ -10000 456 920 328 344 942 312 909 506 636
+ -10000 622 172 349 63 794 383 865 113 48
+ -10000 832 63 560 947 900 773 965 439 347
+ -10000 52 243 300 133 792 511 360 696 775
+ -10000 265 349 474 182 142 302 946 928 804
+ -10000 702 899 220 94 270 376 672 879 185
+ -10000 802 944 168 200 909 759 527 211 181
+ -10000 148 46 421 976 382 885 125 176 755
+ -10000 859 84 218 708 855 779 662 797 705
+ -10000 815 430 6 894 986 78 348 945 218
+ -10000 124 878 406 616 894 139 750 822 649
+ -10000 677 505 740 969 369 92 675 495 85
+ -10000 587 886 188 232 998 275 159 359 353
+ -10000 343 324 350 362 634 7 450 135 535
+ -10000 886 287 877 430 825 309 790 695 62
+ -10000 362 692 264 686 196 997 84 366 364
+ -10000 635 331 695 331 842 714 7 246 144
+ -10000 941 363 831 389 228 404 849 434 360
+ -10000 292 528 332 836 970 609 44 352 948
+ -10000 364 622 572 807 621 990 404 67 102
+ -10000 769 399 414 226 611 476 696 263 143
+ -10000 896 225 80 353 306 380 603 903 112
+ -10000 160 848 323 586 520 82 714 493 45
+ -10000 894 384 21 853 338 842 556 46 643
+ -10000 88 253 766 612 966 227 304 169 422
+ -10000 715 290 118 926 495 536 502 665 811
+ -10000 215 549 446 42 649 200 269 306 437
+ -10000 213 239 350 199 585 824 999 661 365
+ -10000 972 712 30 376 349 397 533 353 828
+ -10000 923 959 185 698 534 376 684 714 389
+ -10000 538 525 260 738 262 504 212 367 362
+ -10000 379 161 82 390 244 60 893 362 490
+ -10000 855 611 757 314 740 510 21 500 136
+ -10000 434 344 655 943 346 885 516 782 61
+ -10000 442 380 875 833 324 836 644 908 921
+ -10000 819 681 227 584 814 922 485 562 863
+ -10000 64 302 385 976 716 172 814 845 18
+ -10000 791 720 65 819 160 757 553 654 213
+ -10000 427 853 61 663 567 702 219 290 159
+ -10000 411 765 122 207 468 953 90 916 405
+ -10000 486 71 994 858 882 122 325 558 912
+ -10000 110 690 609 400 160 694 543 138 654
+ -10000 704 894 730 845 12 629 463 927 422
+ -10000 953 618 470 50 437 533 743 314 787
+ -10000 591 355 428 999 104 724 457 435 421
+ -10000 423 762 811 148 972 832 33 506 85
+ -10000 725 977 307 612 641 175 204 187 943
+ -10000 743 999 68 736 433 385 374 746 383
+ -10000 134 46 626 57 65 593 69 860 842
+ -10000 915 335 906 138 100 161 575 728 933
+ -10000 287 444 481 596 799 174 398 659 81
+ -10000 79 358 974 462 748 810 495 6 285
+ -10000 761 289 155 698 3 431 363 211 897
+ -10000 433 373 715 870 308 367 975 873 770
+ -10000 331 705 467 501 516 13 377 392 329
+ -10000 351 496 711 670 186 462 570 307 216
+ -10000 827 361 523 342 366 778 311 646 314
+ -10000 930 207 50 928 176 825 316 471 108
+ -10000 239 467 709 462 350 145 702 905 598
+ -10000 490 825 944 673 193 475 514 323 357
+ -10000 655 426 123 274 369 801 237 700 977
+ -10000 710 167 719 824 890 946 934 632 260
+ -10000 593 345 414 368 803 564 680 768 563
+ -10000 261 221 740 733 913 503 859 378 150
+ -10000 386 924 885 352 154 388 825 790 73
+ -10000 975 273 263 925 999 753 317 674 463
+ -10000 430 768 380 656 670 654 342 186 603
+ -10000 364 83 411 817 581 41 684 381 154
+ -10000 979 279 893 546 759 64 653 704 997
+ -10000 959 61 545 799 399 183 833 368 82
+ -10000 508 374 559 352 585 102 301 854 958
+ -10000 990 616 286 559 307 571 51 349 806
+ -10000 398 943 136 990 779 40 93 227 664
+ -10000 739 687 302 103 673 312 108 528 483
+ -10000 448 119 770 135 850 468 65 108 245
+ -10000 666 464 56 977 521 551 515 470 638
+ -10000 886 843 400 786 536 87 805 353 850
+ -10000 118 565 760 819 95 90 260 900 569
+ -10000 27 487 222 433 102 670 882 987 650
+ -10000 297 649 197 79 471 903 892 583 453
+ -10000 964 907 754 255 390 164 205 104 15
+ -10000 535 600 146 783 793 598 405 949 923
+ -10000 211 933 426 273 656 372 220 646 254
+ -10000 826 707 582 402 871 31 278 890 189
+ -10000 41 570 855 390 863 108 475 703 430
+ -10000 903 998 359 432 708 979 295 638 542
+ -10000 641 54 220 579 575 813 505 66 805
+ -10000 776 654 480 262 974 746 640 632 457
+ -10000 691 944 635 299 456 291 987 898 126
+ -10000 194 619 891 295 24 961 409 863 628
+ -10000 624 854 163 836 521 384 653 362 383
+ -10000 946 632 297 560 868 928 997 690 816
+ -10000 137 282 490 930 665 577 645 712 838
+ -10000 74 920 761 691 260 440 21 496 828
+ -10000 820 863 928 415 717 801 904 988 988
+ -10000 458 450 674 782 677 28 447 908 268
+ -10000 42 38 615 399 133 414 64 490 816
+ -10000 678 474 189 347 790 747 394 950 290
+ -10000 878 53 647 510 749 806 938 459 853
+ -10000 171 499 421 971 574 699 482 579 974
+ -10000 334 528 8 295 554 823 318 461 441
+ -10000 510 660 318 749 754 637 972 558 629
+ -10000 80 402 340 274 419 296 211 617 989
+ -10000 785 870 436 856 489 719 798 279 389
+ -10000 947 632 219 107 92 134 1 673 309
+ -10000 733 379 9 475 160 756 459 407 341
+ -10000 37 516 385 335 887 59 33 685 246
+ -10000 278 535 977 329 390 728 496 832 632
+ -10000 86 420 95 129 483 415 107 203 631
+ -10000 22 223 836 221 371 899 809 296 801
+ -10000 809 85 280 653 645 643 478 251 957
+ -10000 596 356 534 295 879 662 715 433 56
+ -10000 311 670 869 372 31 473 119 673 302
+ -10000 504 249 455 166 541 50 662 763 635
+ -10000 724 398 315 539 621 429 37 3 502
+ -10000 663 913 925 653 738 990 166 339 716
+ -10000 825 447 792 353 48 0 845 962 715
+ -10000 115 102 560 332 611 773 603 2 843
+ -10000 83 988 911 22 492 774 423 428 533
+ -10000 336 14 430 103 557 249 894 710 756
+ -10000 229 202 871 755 359 17 633 751 403
+ -10000 500 370 520 387 564 414 392 91 272
+ -10000 317 867 866 207 220 277 867 813 808
+ -10000 238 110 227 640 645 340 528 898 692
+ -10000 231 620 8 765 695 662 167 747 671
+ -10000 187 353 456 34 970 552 584 554 103
+ -10000 120 993 346 596 708 571 498 453 295
+ -10000 117 138 655 383 63 88 3 464 594
+ -10000 971 601 5 409 89 591 22 871 577
+ -10000 204 306 913 632 843 781 27 233 735
+ -10000 331 148 19 954 909 95 534 303 974
+ -10000 497 130 982 959 118 115 870 355 179
+ -10000 923 761 661 160 849 898 271 989 520
+ -10000 834 716 199 228 217 563 514 224 844
+ -10000 335 915 930 829 61 464 162 379 200
+ -10000 924 260 941 768 209 601 344 734 194
+ -10000 496 609 589 990 905 231 620 679 350
+ -10000 41 570 880 761 34 763 474 534 709
+ -10000 688 128 900 136 379 961 140 57 327
+ -10000 645 477 314 155 969 800 965 113 536
+ -10000 583 934 731 791 672 220 354 992 912
+ -10000 503 142 70 669 461 526 893 521 370
+ -10000 548 955 985 185 549 28 876 295 719
+ -10000 674 59 736 878 69 311 838 768 140
+ -10000 973 940 606 10 980 480 981 722 493
+ -10000 369 220 579 359 736 10 203 443 148
+ -10000 639 329 832 839 619 346 150 958 706
+ -10000 425 136 303 395 562 244 107 894 992
+ -10000 169 210 472 721 505 64 440 747 186
+ -10000 799 466 709 707 517 844 90 545 931
+ -10000 427 130 950 189 146 655 922 615 659
+ -10000 356 270 578 370 949 755 543 766 348
+ -10000 145 494 154 755 735 290 17 496 605
+ -10000 993 532 284 407 545 120 793 112 99
+ -10000 732 819 407 537 662 650 313 306 41
+ -10000 872 484 324 918 717 26 655 548 640
+ -10000 284 482 473 118 763 837 442 698 510
+ -10000 684 380 485 125 186 128 412 208 15
+ -10000 552 495 751 402 634 457 923 55 610
+ -10000 852 112 608 919 63 528 99 406 962
+ -10000 162 482 960 633 661 76 445 356 106
+ -10000 989 594 448 807 506 924 653 304 143
+ -10000 182 189 759 700 342 792 700 212 424
+ -10000 443 335 42 849 4 119 372 516 405
+ -10000 1000 606 171 233 545 824 57 242 937
+ -10000 925 656 157 571 938 943 921 594 563
+ -10000 308 115 387 331 659 942 903 236 5
+ -10000 998 748 394 430 677 887 861 134 34
+ -10000 398 879 747 330 762 933 674 733 444
+ -10000 78 527 526 742 623 536 258 822 221
+ -10000 699 227 863 696 499 264 243 783 545
+ -10000 537 472 547 347 25 658 425 184 33
+ -10000 991 74 917 615 293 171 760 808 684
+ -10000 153 812 793 9 731 397 261 244 783
+ -10000 260 361 994 409 250 987 731 968 328
+ -10000 101 91 615 405 302 964 338 523 807
+ -10000 827 784 446 308 760 230 803 944 224
+ -10000 833 915 801 276 303 505 733 346 77
+ -10000 235 130 52 153 420 350 395 579 211
+ -10000 482 623 865 274 782 130 514 866 918
+ -10000 289 375 485 853 783 102 74 282 125
+ -10000 454 783 352 157 842 679 415 69 219
+ -10000 285 884 284 282 953 369 16 229 243
+ -10000 385 268 334 846 386 819 335 250 5
+ -10000 297 91 946 881 16 359 133 650 967
+ -10000 734 330 755 23 111 860 913 106 322
+ -10000 506 558 915 249 214 792 808 977 409
+ -10000 504 512 714 172 120 836 769 468 611
+ -10000 489 518 452 103 947 37 261 613 925
+ -10000 735 448 754 389 925 171 452 707 886
+ -10000 397 214 377 790 198 816 792 841 591
+ -10000 809 973 613 234 823 728 80 247 741
+ -10000 455 708 535 715 570 564 614 526 237
+ -10000 0 6 275 984 593 780 551 167 708
+ -10000 358 468 900 617 707 8 539 835 127
+ -10000 337 6 948 935 248 933 360 261 891
+ -10000 427 85 778 70 390 671 67 404 239
+ -10000 171 371 6 336 527 292 426 358 468
+ -10000 571 363 237 872 203 600 645 988 42
+ -10000 62 447 475 513 87 710 672 819 568
+ -10000 708 530 420 598 746 685 43 929 784
+ -10000 102 744 407 354 27 743 0 719 49
+ -10000 977 548 908 706 883 528 44 333 182
+ -10000 190 166 378 261 556 38 156 68 892
+ -10000 389 379 870 983 73 472 384 587 785
+ -10000 31 947 415 246 843 91 438 291 628
+ -10000 425 488 120 929 720 141 926 201 712
+ -10000 914 391 900 992 681 267 520 480 2
+ -10000 288 806 405 487 362 995 755 185 978
+ -10000 752 269 487 988 324 645 108 54 191
+ -10000 708 361 661 309 569 132 453 713 900
+ -10000 48 533 601 471 920 828 24 103 621
+ -10000 243 231 956 263 516 142 787 327 968
+ -10000 118 831 572 511 155 62 389 535 277
+ -10000 116 564 397 39 790 675 498 719 741
+ -10000 437 10 25 397 262 914 863 7 273
+ -10000 7 661 859 869 554 558 438 122 949
+ -10000 489 455 277 750 13 948 899 790 379
+ -10000 362 87 289 614 91 528 630 874 390
+ -10000 949 418 987 719 667 701 726 569 950
+ -10000 813 532 359 678 931 355 882 314 329
+ -10000 976 850 872 716 734 218 185 762 642
+ -10000 403 911 997 631 259 539 494 80 52
+ -10000 291 545 595 21 713 914 518 346 456
+ -10000 460 78 325 215 765 211 275 495 409
+ -10000 365 58 719 190 762 728 848 292 775
+ -10000 179 121 12 799 195 705 620 593 232
+ -10000 591 812 957 594 640 693 669 707 269
+ -10000 771 447 873 764 286 664 918 811 441
+ -10000 879 598 406 238 133 522 491 53 705
+ -10000 469 171 850 456 842 394 447 348 33
+ -10000 781 557 397 151 721 120 948 589 608
+ -10000 396 568 420 416 713 470 454 825 26
+ -10000 527 488 446 379 195 967 806 138 138
+ -10000 511 671 894 13 941 154 401 265 606
+ -10000 996 51 46 790 258 523 973 15 103
+ -10000 704 539 891 119 513 791 61 800 826
+ -10000 350 727 195 847 162 414 482 952 30
+ -10000 57 983 23 813 703 963 807 846 571
+ -10000 681 672 712 286 774 335 532 885 520
+ -10000 236 454 273 375 693 508 851 139 8
+ -10000 209 686 230 27 344 457 33 234 414
+ -10000 645 355 114 907 216 849 160 430 807
+ -10000 494 802 659 702 724 51 51 920 2
+ -10000 555 294 854 932 875 296 390 105 994
+ -10000 984 614 224 679 493 863 741 55 208
+ -10000 224 262 545 283 72 866 692 686 903
+ -10000 991 725 443 117 744 596 563 798 923
+ -10000 515 94 973 920 471 136 234 120 95
+ -10000 630 132 42 635 395 784 743 653 483
+ -10000 939 565 658 365 352 529 905 441 1000
+ -10000 864 962 268 26 774 471 989 368 917
+ -10000 138 412 453 955 793 416 786 540 984
+ -10000 887 342 745 531 247 962 248 311 296
+ -10000 472 118 154 882 830 364 334 130 273
+ -10000 757 811 324 507 880 776 67 907 858
+ -10000 705 620 698 469 38 21 711 533 455
+ -10000 52 729 949 849 826 682 443 613 536
+ -10000 954 441 442 804 465 995 356 135 352
+ -10000 842 644 484 811 505 693 979 433 90
+ -10000 893 784 313 941 361 873 999 263 400
+ -10000 125 227 790 837 750 148 660 681 955
+ -10000 884 208 749 484 256 886 903 188 307
+ -10000 518 573 219 15 11 252 12 92 503
+ -10000 899 772 474 634 54 425 786 825 365
+ -10000 611 253 482 62 919 875 243 839 659
+ -10000 828 21 835 311 380 81 86 981 98
+ -10000 569 464 875 670 127 157 533 49 817
+ -10000 705 781 816 406 28 21 161 71 334
+ -10000 167 177 927 194 662 254 607 741 651
+ -10000 327 957 206 666 170 74 566 214 452
+ -10000 438 802 399 713 685 125 297 828 997
+ -10000 85 952 376 885 51 41 950 963 489
+ -10000 62 411 468 466 134 743 366 468 896
+ -10000 241 672 25 772 907 261 198 576 504
+ -10000 343 209 30 76 97 672 543 162 499
+ -10000 974 544 995 372 183 521 853 66 639
+ -10000 396 291 81 178 735 793 592 209 581
+ -10000 377 224 210 752 370 9 78 578 874
+ -10000 59 32 914 254 914 267 958 155 499
+ -10000 523 820 592 460 737 428 360 554 868
+ -10000 993 743 467 502 6 374 282 341 692
+ -10000 338 684 922 153 210 620 602 729 407
+ -10000 753 366 840 29 252 770 723 86 857
+ -10000 123 653 147 272 837 311 230 803 922
+ -10000 794 218 53 105 324 868 432 758 396
+ -10000 661 288 932 724 458 493 772 262 758
+ -10000 198 906 35 1 314 540 991 597 89
+ -10000 801 203 556 346 959 462 977 755 434
+ -10000 187 222 980 606 824 401 844 289 28
+ -10000 1 183 139 965 18 146 387 575 255
+ -10000 882 861 409 653 634 690 815 175 678
+ -10000 739 653 802 312 136 522 546 98 820
+ -10000 216 686 817 775 143 772 703 157 744
+ -10000 851 368 304 581 904 410 379 843 896
+ -10000 246 74 846 931 930 465 36 822 376
+ -10000 496 456 83 565 698 461 764 106 457
+ -10000 768 998 438 876 144 670 37 423 937
+ -10000 607 490 590 756 612 331 577 797 407
+ -10000 611 896 721 103 552 523 652 39 954
+ -10000 627 415 16 688 120 142 899 873 612
+ -10000 767 478 176 757 397 417 181 949 233
+ -10000 869 748 327 176 558 637 240 776 437
+ -10000 756 184 845 540 983 131 274 626 844
+ -10000 95 437 504 153 654 330 65 347 365
+ -10000 704 918 412 528 931 529 119 493 870
+ -10000 85 25 232 576 410 526 713 221 647
+ -10000 275 381 553 1 408 23 912 144 702
+ -10000 332 806 968 254 612 1000 988 744 184
+ -10000 858 176 690 921 606 101 981 801 499
+ -10000 879 922 960 958 97 19 984 307 334
+ -10000 193 471 848 520 629 555 174 150 774
+ -10000 509 348 105 71 856 993 738 630 500
+ -10000 258 131 742 710 682 499 128 726 909
+ -10000 128 912 517 713 725 781 847 561 938
+ -10000 274 391 136 578 139 136 701 241 340
+ -10000 270 523 701 744 831 977 7 841 403
+ -10000 487 235 943 484 979 319 373 969 644
+ -10000 252 574 254 494 157 973 40 522 475
+ -10000 73 120 189 112 233 587 943 931 521
+ -10000 966 474 958 872 318 226 44 49 250
+ -10000 49 518 291 335 188 800 950 255 444
+ -10000 941 20 449 911 203 274 55 250 936
+ -10000 277 665 837 33 42 596 548 204 200
+ -10000 410 457 886 506 49 992 641 498 868
+ -10000 921 174 992 993 307 909 235 794 373
+ -10000 251 319 40 217 85 768 470 872 127
+ -10000 21 486 955 877 290 583 654 734 576
+ -10000 314 90 595 678 34 405 268 73 495
+ -10000 566 834 773 374 284 400 67 960 452
+ -10000 684 883 173 39 272 532 956 735 434
+ -10000 738 683 288 828 527 666 608 9 42
+ -10000 240 359 949 726 205 47 953 758 806
+ -10000 826 34 47 537 340 792 419 781 128
+ -10000 852 158 509 639 456 584 641 534 763
+ -10000 359 378 325 572 390 621 767 680 8
+ -10000 610 133 673 93 490 955 677 831 118
+ -10000 991 71 500 283 123 617 842 821 486
+ -10000 682 285 37 74 652 24 695 592 116
+ -10000 195 97 838 968 940 286 105 714 47
+ -10000 70 59 588 402 485 379 834 587 446
+ -10000 95 47 751 42 677 812 409 98 221
+ -10000 497 600 275 258 133 344 507 11 500
+ -10000 716 733 262 853 282 861 425 698 292
+ -10000 867 727 508 109 106 544 896 258 763
+ -10000 883 59 212 462 481 403 809 833 191
+ -10000 102 251 35 623 419 837 228 607 70
+ -10000 241 641 439 606 317 814 779 434 402
+ -10000 236 446 527 637 769 503 64 476 152
+ -10000 983 686 473 628 69 163 863 727 277
+ -10000 303 116 823 994 476 4 600 801 239
+ -10000 685 972 330 460 247 142 805 266 57
+ -10000 120 613 806 916 685 162 661 532 582
+ -10000 764 821 208 613 268 256 887 361 129
+ -10000 782 709 251 975 522 337 0 894 161
+ -10000 201 104 646 401 521 239 323 255 362
+ -10000 233 444 958 233 2 196 519 418 938
+ -10000 162 119 593 514 699 850 647 126 679
+ -10000 431 575 327 18 329 365 543 920 725
+ -10000 816 387 450 679 373 966 415 321 606
+ -10000 944 299 581 977 921 859 715 665 136
+ -10000 109 410 99 720 356 268 128 742 150
+ -10000 119 399 63 700 533 706 79 112 927
+ -10000 650 627 435 44 131 858 906 519 5
+ -10000 470 614 984 55 93 715 228 578 908
+ -10000 938 646 178 693 237 493 69 527 771
+ -10000 291 526 791 432 681 75 185 958 130
+ -10000 438 96 414 387 547 397 543 926 664
+ -10000 269 799 983 152 776 340 178 725 385
+ -10000 625 655 634 647 639 33 236 188 288
+ -10000 690 475 208 939 402 603 361 378 329
+ -10000 783 293 412 620 369 866 227 874 818
+ -10000 21 130 826 866 973 772 514 820 634
+ -10000 611 289 501 145 983 172 535 907 471
+ -10000 226 350 104 237 583 897 355 984 361
+ -10000 796 665 949 965 731 431 838 177 826
+ -10000 454 538 569 846 994 952 756 265 581
+ -10000 237 62 450 427 238 247 625 152 443
+ -10000 518 551 223 689 42 458 943 381 821
+ -10000 312 804 874 273 752 341 348 802 303
+ -10000 905 71 885 445 419 517 193 447 739
+ -10000 380 327 480 892 921 402 227 590 308
+ -10000 406 69 253 249 737 16 64 525 329
+ -10000 180 369 919 962 883 897 994 808 378
+ -10000 102 956 849 813 542 893 727 472 23
+ -10000 300 419 591 622 567 375 245 231 586
+ -10000 452 230 962 95 12 449 946 534 546
+ -10000 911 382 561 669 85 532 511 909 332
+ -10000 1000 16 875 121 433 206 261 731 888
+ -10000 711 412 435 208 311 731 863 227 32
+ -10000 962 494 69 765 937 312 191 547 636
+ -10000 375 583 701 7 613 437 264 231 434
+ -10000 510 552 7 930 438 959 603 523 884
+ -10000 657 840 567 468 81 322 409 838 893
+ -10000 368 465 655 739 650 791 341 951 477
+ -10000 273 755 865 801 980 454 824 282 681
+ -10000 396 716 267 677 892 348 715 578 755
+ -10000 470 718 982 918 680 481 656 703 440
+ -10000 667 272 986 160 823 426 995 360 86
+ -10000 408 898 388 480 176 108 907 835 686
+ -10000 107 36 139 933 501 67 48 257 266
+ -10000 845 915 561 308 558 890 471 488 426
+ -10000 543 845 428 304 896 953 12 806 95
+ -10000 562 129 578 520 981 251 535 782 68
+ -10000 935 689 115 779 89 825 377 201 254
+ -10000 441 990 22 747 403 897 551 494 197
+ -10000 144 489 239 562 325 435 318 290 443
+ -10000 137 960 853 794 367 48 934 123 229
+ -10000 975 138 522 16 796 239 466 322 344
+ -10000 158 831 801 809 704 967 724 20 722
+ -10000 478 123 52 490 118 780 889 553 668
+ -10000 681 174 30 514 15 342 336 255 78
+ -10000 242 823 187 817 705 109 341 957 887
+ -10000 386 452 954 927 391 883 878 961 975
+ -10000 308 884 937 372 178 210 513 586 940
+ -10000 863 830 189 618 821 75 319 533 7
+ -10000 904 373 990 433 457 956 59 985 253
+ -10000 784 518 383 319 52 916 842 645 541
+ -10000 343 31 460 606 797 879 840 594 238
+ -10000 197 856 842 595 145 922 947 900 434
+ -10000 35 422 29 572 243 866 103 392 421
+ -10000 180 789 177 99 912 533 343 252 890
+ -10000 188 280 566 391 745 15 783 779 654
+ -10000 601 343 611 998 670 667 61 957 564
+ -10000 604 473 757 851 824 997 38 277 84
+ -10000 622 80 789 400 788 74 324 851 624
+ -10000 181 351 426 313 104 499 598 567 142
+ -10000 999 868 435 989 150 727 867 168 371
+ -10000 944 356 481 196 410 306 627 919 959
+ -10000 16 430 715 679 104 490 237 598 261
+ -10000 303 115 61 893 317 725 486 591 713
+ -10000 840 185 130 429 537 177 626 963 247
+ -10000 3 295 243 572 191 872 301 49 398
+ -10000 352 943 874 182 426 903 249 76 824
+ -10000 591 728 464 462 903 991 795 255 832
+ -10000 593 541 172 313 451 468 131 441 81
+ -10000 23 870 117 811 625 721 236 956 898
+ -10000 87 843 171 758 354 543 805 975 123
+ -10000 555 727 937 435 84 563 31 224 426
+ -10000 219 83 766 362 48 269 841 987 655
+ -10000 596 420 827 823 327 657 329 184 358
+ -10000 637 590 145 966 21 341 97 618 621
+ -10000 240 817 269 451 706 782 572 947 627
+ -10000 625 131 35 488 765 976 444 312 608
+ -10000 442 659 694 484 465 907 300 672 546
+ -10000 100 818 800 87 495 297 831 86 979
+ -10000 912 93 799 79 814 633 250 720 659
+ -10000 189 334 913 656 207 59 198 26 315
+ -10000 361 511 906 492 533 664 560 959 175
+ -10000 184 787 135 888 919 411 266 226 496
+ -10000 1 714 782 445 603 740 716 722 161
+ -10000 8 728 212 783 97 10 691 499 217
+ -10000 752 373 970 832 180 315 126 584 15
+ -10000 30 140 253 747 183 702 323 583 622
+ -10000 993 912 412 678 365 275 911 795 346
+ -10000 310 712 549 319 669 479 131 764 654
+ -10000 351 222 175 899 779 109 211 951 932
+ -10000 573 936 533 142 577 883 443 539 515
+ -10000 704 793 391 806 533 769 933 983 515
+ -10000 442 302 850 655 949 722 3 892 844
+ -10000 883 71 771 614 65 102 334 845 46
+ -10000 325 117 481 980 102 790 337 37 895
+ -10000 60 787 522 853 135 977 161 583 246
+ -10000 77 828 989 38 733 943 695 471 295
+ -10000 753 798 310 983 217 23 796 329 953
+ -10000 4 986 319 649 14 183 429 536 250
+ -10000 267 684 309 238 348 337 770 572 729
+ -10000 710 308 807 490 374 386 274 700 293
+ -10000 967 653 576 166 594 417 59 151 1000
+ -10000 587 627 29 625 716 515 108 307 198
+ -10000 917 70 989 905 120 38 666 233 526
+ -10000 436 109 14 608 167 876 771 301 958
+ -10000 712 120 407 691 938 538 493 213 703
+ -10000 509 721 210 721 251 997 583 280 818
+ -10000 598 634 465 842 328 980 582 231 868
+ -10000 648 589 479 820 882 245 218 574 307
+ -10000 852 694 127 476 313 309 327 486 60
+ -10000 849 717 318 335 401 493 878 370 868
+ -10000 654 78 540 172 501 176 355 818 992
+ -10000 153 328 13 76 724 384 822 266 516
+ -10000 777 240 881 789 718 175 975 199 849
+ -10000 627 49 482 594 443 311 645 826 488
+ -10000 128 104 187 326 553 992 213 30 774
+ -10000 136 46 242 991 41 937 889 132 5
+ -10000 165 808 707 993 837 709 566 953 755
+ -10000 495 203 703 174 894 909 883 65 375
+ -10000 410 282 597 941 325 117 943 620 816
+ -10000 714 649 729 107 890 924 954 836 517
+ -10000 32 424 145 77 540 899 537 101 392
+ -10000 614 53 103 95 706 330 180 506 201
+ -10000 616 680 409 63 727 312 512 515 342
+ -10000 304 240 967 692 453 20 48 631 782
+ -10000 138 243 508 846 358 95 51 827 320
+ -10000 228 340 228 668 420 805 705 692 775
+ -10000 263 4 25 800 22 651 367 876 78
+ -10000 692 919 775 577 642 517 882 225 241
+ -10000 544 993 130 612 414 258 546 98 185
+ -10000 885 135 109 623 869 68 714 914 10
+ -10000 612 737 421 614 2 600 393 517 823
+ -10000 973 56 8 767 498 340 447 180 295
+ -10000 358 554 151 134 166 716 40 393 841
+ -10000 822 36 143 20 523 681 500 225 145
+ -10000 533 230 32 483 157 465 166 920 42
+ -10000 576 194 700 624 271 424 161 447 218
+ -10000 490 441 413 512 60 752 260 164 613
+ -10000 766 759 496 123 918 713 792 879 596
+ -10000 118 733 386 777 425 663 734 612 24
+ -10000 408 306 487 669 22 930 431 487 676
+ -10000 974 196 437 215 17 253 905 447 380
+ -10000 111 597 725 405 123 162 274 369 654
+ -10000 747 444 777 297 253 197 442 926 597
+ -10000 212 793 882 416 897 430 535 766 289
+ -10000 297 897 973 419 424 183 585 977 106
+ -10000 391 666 593 931 820 840 568 377 18
+ -10000 341 495 21 117 685 748 55 478 69
+ -10000 838 324 346 131 613 922 220 380 658
+ -10000 377 438 479 992 579 497 503 680 807
+ -10000 33 559 269 632 345 289 637 772 831
+ -10000 322 60 335 960 927 723 472 124 10
+ -10000 939 269 519 32 147 444 233 129 812
+ -10000 83 858 323 165 189 501 205 443 349
+ -10000 313 547 959 886 347 84 105 820 163
+ -10000 443 128 804 398 322 377 729 566 216
+ -10000 511 638 108 146 969 669 971 791 953
+ -10000 100 718 839 272 14 799 458 800 927
+ -10000 855 433 369 747 339 495 864 386 872
+ -10000 701 881 75 648 950 682 295 402 65
+ -10000 408 636 146 158 368 859 800 387 723
+ -10000 792 793 29 753 462 156 721 204 578
+ -10000 159 329 372 174 760 430 962 411 493
+ -10000 368 446 793 34 410 89 346 626 995
+ -10000 906 566 79 634 345 891 527 421 834
+ -10000 877 243 659 920 667 264 838 440 857
+ -10000 758 850 595 701 346 754 792 68 223
+ -10000 172 833 480 909 765 911 394 421 191
+ -10000 343 340 839 587 62 697 605 339 673
+ -10000 324 429 78 22 665 393 779 709 859
+ -10000 934 775 729 997 390 806 942 749 13
+ -10000 595 116 314 836 139 37 998 377 267
+ -10000 409 507 340 970 760 342 939 343 820
+ -10000 465 971 36 350 191 901 599 67 539
+ -10000 905 370 700 187 521 462 883 176 575
+ -10000 628 570 900 636 309 278 971 5 909
+ -10000 979 554 823 56 336 423 600 884 850
+ -10000 605 971 394 182 600 846 828 334 388
+ -10000 602 460 483 235 707 756 161 350 124
+ -10000 651 642 855 913 501 277 501 558 436
+ -10000 905 299 93 964 673 794 902 287 498
+ -10000 23 512 679 921 380 524 173 412 875
+ -10000 260 253 993 453 376 825 976 858 825
+ -10000 765 760 997 670 316 427 557 643 33
+ -10000 576 843 824 920 31 781 760 137 41
+ -10000 475 528 591 476 893 208 942 224 460
+ -10000 775 64 712 294 67 348 943 83 36
+ -10000 556 719 124 37 110 366 130 692 194
+ -10000 143 677 204 911 574 939 894 550 349
+ -10000 74 496 444 739 916 571 769 234 548
+ -10000 417 576 542 374 296 595 873 100 310
+ -10000 78 372 330 466 352 229 292 11 289
+ -10000 797 73 677 742 170 80 908 893 532
+ -10000 756 647 488 853 887 143 334 339 457
+ -10000 221 969 319 838 233 534 876 766 693
+ -10000 195 526 191 481 722 342 155 899 590
+ -10000 188 462 166 117 354 62 617 735 190
+ -10000 116 165 998 191 265 555 574 826 18
+ -10000 277 70 931 958 911 673 21 260 536
+ -10000 448 969 659 694 357 979 985 960 653
+ -10000 597 394 842 971 88 941 468 47 92
+ -10000 692 977 172 804 255 951 971 983 675
+ -10000 3 304 99 79 884 675 954 691 593
+ -10000 285 943 996 443 911 393 808 422 611
+ -10000 309 641 164 882 59 22 132 970 929
+ -10000 829 595 184 994 984 116 583 395 797
+ -10000 328 174 78 488 918 84 959 659 23
+ -10000 890 991 144 835 301 466 174 413 276
+ -10000 981 212 917 844 259 53 672 514 567
+ -10000 466 488 203 484 348 475 604 923 527
+ -10000 229 101 942 620 227 283 15 369 998
+ -10000 985 527 412 890 349 694 654 538 558
+ -10000 975 794 208 781 166 465 923 124 385
+ -10000 586 122 473 336 607 240 658 641 507
+ -10000 945 868 616 507 599 961 204 705 658
+ -10000 929 429 796 542 176 721 410 736 142
+ -10000 372 413 702 749 357 377 858 817 865
+ -10000 953 214 605 549 112 467 6 158 537
+ -10000 567 28 822 567 659 169 261 746 682
+ -10000 99 877 4 293 418 527 419 365 869
+ -10000 437 694 887 31 574 185 167 313 119
+ -10000 450 495 470 626 97 616 663 756 641
+ -10000 283 174 469 553 192 374 636 660 60
+ -10000 876 662 603 859 511 608 240 17 987
+ -10000 893 99 643 751 462 521 819 452 616
+ -10000 470 468 141 133 368 800 555 660 233
+ -10000 618 991 388 683 751 252 624 179 999
+ -10000 598 846 300 89 482 740 431 942 180
+ -10000 726 835 261 708 47 35 355 970 802
+ -10000 756 991 673 774 286 235 598 309 71
+ -10000 417 858 542 928 406 771 1 69 962
+ -10000 509 264 981 887 504 117 728 673 262
+ -10000 351 739 35 952 51 557 33 106 22
+ -10000 677 130 1000 902 801 138 364 967 522
+ -10000 812 37 24 815 77 326 665 111 773
+ -10000 292 214 402 559 262 865 134 35 225
+ -10000 922 241 860 339 494 904 249 277 418
+ -10000 793 874 604 103 7 372 113 633 878
+ -10000 708 922 231 507 172 567 293 290 166
+ -10000 899 156 592 75 468 963 203 39 824
+ -10000 140 284 398 159 657 237 632 945 275
+ -10000 253 630 994 814 927 920 40 166 272
+ -10000 88 414 984 732 420 181 256 594 985
+ -10000 43 597 574 142 41 957 392 912 203
+ -10000 149 546 260 651 264 383 499 7 23
+ -10000 10 136 945 330 542 490 192 703 336
+ -10000 10 138 179 889 161 678 22 850 547
+ -10000 540 892 722 511 964 320 780 738 440
+ -10000 609 631 987 345 94 593 77 350 785
+ -10000 797 231 247 317 705 569 54 113 308
+ -10000 794 87 902 485 759 751 476 29 44
+ -10000 134 802 994 12 346 572 142 142 987
+ -10000 783 490 394 401 357 991 225 950 876
+ -10000 843 406 288 850 751 912 355 144 197
+ -10000 737 718 789 441 154 948 832 735 557
+ -10000 107 397 552 204 862 597 486 889 859
+ -10000 576 427 237 144 812 603 682 72 76
+ -10000 194 14 160 113 742 861 87 859 233
+ -10000 742 797 791 625 477 231 600 389 715
+ -10000 545 429 196 531 461 819 80 445 111
+ -10000 197 690 201 741 864 144 845 128 569
+ -10000 8 234 655 26 900 107 413 805 677
+ -10000 369 835 976 903 248 987 79 610 294
+ -10000 969 811 82 690 930 550 950 163 390
+ -10000 84 531 211 3 189 173 48 586 234
+ -10000 757 92 329 207 115 516 262 106 325
+ -10000 349 891 314 632 186 850 758 811 766
+ -10000 564 89 900 918 253 813 102 732 745
+ -10000 905 67 933 192 720 835 681 403 478
+ -10000 789 766 244 864 31 604 983 829 351
+ -10000 214 750 994 670 299 221 904 247 86
+ -10000 938 221 478 4 513 505 291 311 520
+ -10000 606 370 37 159 675 665 206 760 725
+ -10000 423 41 132 887 128 182 38 645 838
+ -10000 769 758 469 754 408 674 855 649 277
+ -10000 374 143 65 539 616 179 820 256 986
+ -10000 376 759 974 487 602 841 931 136 201
+ -10000 779 647 951 530 552 33 858 399 291
+ -10000 227 957 116 396 676 803 736 293 483
+ -10000 790 506 370 47 670 25 569 519 184
+ -10000 32 921 117 379 368 943 363 695 79
+ -10000 133 358 555 940 61 651 36 183 896
+ -10000 23 735 410 294 469 450 466 73 605
+ -10000 496 300 415 578 531 129 693 115 450
+ -10000 106 402 740 376 919 90 417 483 766
+ -10000 642 385 354 100 912 352 525 335 364
+ -10000 455 231 914 41 83 895 364 770 770
+ -10000 563 690 991 417 685 821 221 629 833
+ -10000 572 996 498 36 13 665 420 154 861
+ -10000 653 199 180 324 378 597 100 473 939
+ -10000 760 634 655 43 874 272 662 597 921
+ -10000 470 145 253 251 584 580 714 635 264
+ -10000 127 427 288 87 15 950 963 679 929
+ -10000 934 186 688 774 740 128 988 381 890
+ -10000 790 160 313 329 7 343 758 531 793
+ -10000 595 234 757 771 203 725 130 569 872
+ -10000 191 463 5 303 824 501 415 401 273
+ -10000 325 290 395 147 168 798 742 73 474
+ -10000 452 554 385 354 890 871 689 815 630
+ -10000 513 571 460 479 97 62 682 871 339
+ -10000 762 33 593 375 619 439 974 639 834
+ -10000 545 695 519 161 49 593 447 495 632
+ -10000 483 261 45 247 157 585 200 623 641
+ -10000 754 636 574 113 914 986 898 119 179
+ -10000 680 296 760 606 685 872 896 938 59
+ -10000 658 284 213 883 521 421 34 783 592
+ -10000 85 647 342 953 850 210 866 694 913
+ -10000 749 994 767 483 575 631 195 756 363
+ -10000 447 790 298 428 660 595 123 627 313
+ -10000 527 902 193 647 610 95 890 757 4
+ -10000 900 58 396 815 981 626 734 953 612
+ -10000 714 476 39 86 442 553 836 414 168
+ -10000 234 862 618 986 458 95 885 653 633
+ -10000 243 910 339 420 419 4 297 236 337
+ -10000 360 548 651 156 737 160 336 410 999
+ -10000 174 262 819 146 454 221 237 531 6
+ -10000 489 612 91 539 647 66 176 473 92
+ -10000 153 814 39 914 461 606 77 489 133
+ -10000 31 585 792 512 106 330 602 125 514
+ -10000 948 878 267 256 106 439 102 707 610
+ -10000 761 137 547 386 946 129 182 634 451
+ -10000 415 471 992 284 803 434 918 815 295
+ -10000 445 284 192 473 176 92 132 850 921
+ -10000 413 399 548 231 621 250 858 511 365
+ -10000 576 52 669 83 561 786 192 314 162
+ -10000 435 672 122 995 667 481 825 643 681
+ -10000 561 839 101 499 28 399 384 566 490
+ -10000 692 936 260 713 740 555 596 111 77
+ -10000 460 692 209 944 883 167 190 932 220
+ -10000 931 926 657 613 83 162 176 313 584
+ -10000 802 563 738 650 92 169 450 304 959
+ -10000 397 197 830 978 854 904 998 586 23
+ -10000 151 899 657 357 538 876 209 812 746
+ -10000 564 620 997 180 830 895 990 990 289
+ -10000 304 213 913 284 70 660 510 665 222
+ -10000 249 625 425 739 63 70 637 200 461
+ -10000 200 43 335 965 142 238 116 992 29
+ -10000 414 313 294 827 898 639 310 540 749
+ -10000 318 60 153 821 939 324 951 973 392
+ -10000 23 58 93 533 576 425 623 678 640
+ -10000 309 842 578 6 764 248 377 369 528
+ -10000 356 303 911 618 773 55 369 267 405
+ -10000 106 25 523 633 378 283 632 138 305
+ -10000 193 470 325 98 963 393 793 984 650
+ -10000 341 569 857 144 489 876 347 562 723
+ -10000 562 45 327 227 479 76 407 986 135
+ -10000 682 20 82 627 354 549 275 869 86
+ -10000 385 423 147 410 61 95 549 481 939
+ -10000 166 766 533 937 847 965 853 944 313
+ -10000 76 919 180 360 435 186 692 160 342
+ -10000 524 804 836 856 434 524 759 627 379
+ -10000 741 72 886 946 407 76 702 436 427
+ -10000 558 101 422 617 712 645 582 292 104
+ -10000 896 743 610 525 696 572 88 421 94
+ -10000 274 995 150 364 466 803 250 39 484
+ -10000 117 59 764 917 807 831 503 680 915
+ -10000 377 966 25 219 403 213 792 883 16
+ -10000 191 361 703 584 696 122 583 659 176
+ -10000 29 338 422 549 882 248 151 364 25
+ -10000 408 851 75 183 108 489 827 619 533
+ -10000 285 600 459 863 68 574 347 92 1
+ -10000 205 355 419 340 210 14 333 807 735
+ -10000 234 989 789 723 784 371 879 925 119
+ -10000 700 901 290 373 355 161 329 928 277
+ -10000 887 196 405 453 979 458 935 142 869
+ -10000 813 965 781 188 986 671 557 896 47
+ -10000 694 899 966 742 207 293 624 776 688
+ -10000 171 568 112 372 511 32 278 135 489
+ -10000 89 748 999 307 109 681 59 661 159
+ -10000 684 690 588 589 826 994 302 341 367
+ -10000 282 513 847 696 643 465 855 335 753
+ -10000 590 475 545 712 812 521 981 516 584
+ -10000 64 963 763 361 704 248 598 479 169
+ -10000 593 409 114 225 252 829 842 577 125
+ -10000 462 213 156 565 636 756 510 77 18
+ -10000 574 692 216 18 998 572 188 562 41
+ -10000 254 312 738 371 121 953 850 224 543
+ -10000 370 9 711 675 859 158 91 680 948
+ -10000 473 801 628 487 578 509 78 982 814
+ -10000 809 744 641 216 835 845 795 903 613
+ -10000 529 665 542 771 978 366 570 454 421
+ -10000 717 701 77 976 715 452 893 200 292
+ -10000 526 67 684 921 884 210 584 564 871
+ -10000 958 302 123 935 332 893 676 976 986
+ -10000 844 291 626 688 571 324 387 65 613
+ -10000 664 463 516 875 893 817 937 294 663
+ -10000 20 857 812 251 288 740 28 213 845
+ -10000 623 150 668 669 912 548 176 141 639
+ -10000 591 482 124 831 600 877 864 6 773
+ -10000 106 79 89 831 926 545 75 963 276
+ -10000 387 973 441 771 292 68 26 39 432
+ -10000 977 451 769 766 343 440 458 313 538
+ -10000 145 344 236 82 238 968 562 573 7
+ -10000 388 161 70 220 983 533 515 380 852
+ -10000 741 56 38 932 178 256 586 237 15
+ -10000 298 910 898 90 41 196 802 29 115
+ -10000 626 66 273 442 978 35 541 148 153
+ -10000 174 378 440 679 976 167 251 881 476
+ -10000 132 765 349 665 272 868 869 513 430
+ -10000 112 690 872 660 579 919 55 280 232
+ -10000 495 390 830 480 41 199 70 78 438
+ -10000 614 59 843 194 789 488 221 766 971
+ -10000 257 674 282 690 776 857 549 716 186
+ -10000 375 535 227 959 940 32 372 848 809
+ -10000 350 665 577 405 806 888 85 156 787
+ -10000 28 312 42 335 176 485 769 177 404
+ -10000 426 584 39 170 437 179 603 771 123
+ -10000 117 810 928 317 610 890 926 19 982
+ -10000 410 826 630 336 99 841 788 597 61
+ -10000 103 342 146 922 879 387 230 32 657
+ -10000 922 311 746 673 581 398 935 888 661
+ -10000 971 579 623 567 720 336 677 888 622
+ -10000 193 26 512 88 583 7 297 28 874
+ -10000 464 697 257 140 336 607 49 854 821
+ -10000 715 91 58 710 46 349 911 142 578
+ -10000 387 679 174 757 853 131 907 639 212
+ -10000 653 885 506 403 246 816 592 735 233
+ -10000 444 855 345 936 73 368 631 972 101
+ -10000 160 117 543 514 724 85 325 263 152
+ -10000 673 231 253 243 861 403 869 812 419
+ -10000 51 382 338 479 745 336 666 534 487
+ -10000 549 116 717 249 752 706 651 694 487
+ -10000 981 901 621 921 831 263 893 170 349
+ -10000 546 983 513 437 394 476 661 22 999
+ -10000 745 617 487 541 785 440 808 288 164
+ -10000 492 391 916 990 750 122 870 634 705
+ -10000 848 767 213 480 336 450 790 197 395
+ -10000 986 847 624 709 436 453 75 942 17
+ -10000 873 352 232 329 417 541 265 431 945
+ -10000 306 975 388 920 413 475 19 147 990
+ -10000 565 414 124 324 434 850 655 970 306
+ -10000 820 60 784 784 816 240 809 597 195
+ -10000 100 416 444 865 620 710 721 603 461
+ -10000 887 603 271 823 664 971 194 619 999
+ -10000 678 367 475 450 996 568 779 965 349
+ -10000 390 375 20 296 462 228 56 166 463
+ -10000 268 997 900 206 240 924 55 207 13
+ -10000 299 570 707 730 757 869 696 95 254
+ -10000 232 803 212 473 549 225 61 445 766
+ -10000 479 27 519 930 876 753 62 691 192
+ -10000 400 69 437 484 83 900 951 172 91
+ -10000 42 597 516 281 466 364 549 602 540
+ -10000 822 200 430 966 930 419 949 810 644
+ -10000 861 890 953 1000 889 353 433 993 403
+ -10000 860 962 611 472 813 780 849 226 974
+ -10000 934 598 401 80 490 319 377 901 229
+ -10000 684 55 908 691 979 675 488 962 316
+ -10000 735 540 6 171 714 643 50 585 809
+ -10000 556 666 565 341 687 923 274 856 138
+ -10000 806 366 578 155 454 342 876 455 737
+ -10000 467 869 627 67 699 176 844 927 331
+ -10000 307 636 668 1 734 623 726 691 601
+ -10000 509 601 814 119 205 617 301 468 441
+ -10000 423 678 245 199 964 788 122 76 18
+ -10000 692 436 818 671 532 391 407 561 500
+ -10000 420 536 875 90 986 581 380 659 214
+ -10000 252 265 2 951 565 929 141 308 863
+ -10000 65 246 724 539 946 962 700 84 529
+ -10000 856 345 504 346 91 423 411 676 161
+ -10000 710 560 215 343 598 602 585 107 308
+ -10000 595 193 337 894 263 824 809 127 813
+ -10000 401 332 574 23 447 220 654 744 157
+ -10000 853 604 436 455 707 622 1000 703 709
+ -10000 505 595 84 80 925 425 81 751 657
+ -10000 983 807 612 307 681 212 356 128 217
+ -10000 959 656 622 499 935 754 503 99 594
+ -10000 895 643 214 469 496 203 515 325 814
+ -10000 562 597 960 974 417 222 757 430 160
+ -10000 456 160 836 749 953 649 188 522 399
+ -10000 196 585 345 346 121 430 704 442 534
+ -10000 340 832 108 342 965 649 740 482 317
+ -10000 540 13 134 636 167 271 502 827 2
+ -10000 351 468 838 485 198 263 663 598 672
+ -10000 313 314 476 222 703 226 928 101 480
+ -10000 51 581 449 611 416 620 1000 196 863
+ -10000 4 101 954 826 597 453 766 309 859
+ -10000 764 497 542 278 281 419 884 71 559
+ -10000 205 941 655 796 212 793 245 347 665
+ -10000 181 985 24 867 962 838 530 537 365
+ -10000 790 998 814 92 577 51 990 127 11
+ -10000 588 813 460 616 616 603 428 590 895
+ -10000 163 601 540 446 334 319 840 592 670
+ -10000 107 357 120 982 294 123 752 715 841
+ -10000 960 304 524 8 456 899 429 385 65
+ -10000 107 299 853 623 885 208 718 657 762
+ -10000 407 53 109 505 576 57 458 489 377
+ -10000 868 47 423 778 276 856 382 170 453
+ -10000 367 428 336 774 687 132 787 670 91
+ -10000 682 982 419 249 662 835 465 858 338
+ -10000 431 464 109 986 920 765 463 22 94
+ -10000 601 553 947 734 814 420 978 699 682
+ -10000 884 362 263 263 741 158 300 577 848
+ -10000 987 123 559 760 779 197 98 839 483
+ -10000 426 255 721 19 691 494 101 873 704
+ -10000 941 317 345 328 950 341 313 806 185
+ -10000 606 983 545 661 73 675 23 704 431
+ -10000 134 78 878 499 906 313 548 633 922
+ -10000 822 399 798 93 859 686 203 703 196
+ -10000 652 945 515 394 555 141 884 648 236
+ -10000 282 27 925 13 617 974 112 442 669
+ -10000 325 514 574 410 113 821 319 836 958
+ -10000 356 605 660 586 792 704 338 244 947
+ -10000 364 717 77 182 141 121 789 37 233
+ -10000 26 972 524 752 942 161 302 381 444
+ -10000 474 601 736 164 724 291 785 366 235
+ -10000 196 428 599 749 445 956 91 89 825
+ -10000 405 792 726 80 678 203 812 961 643
+ -10000 773 414 485 273 326 348 222 465 45
+ -10000 367 434 854 89 67 817 836 433 552
+ -10000 895 106 9 893 74 696 488 593 119
+ -10000 730 58 667 776 432 882 405 539 850
+ -10000 257 699 874 279 878 136 761 425 212
+ -10000 319 419 74 877 983 279 822 183 294
+ -10000 86 627 21 255 620 34 847 384 918
+ -10000 164 675 616 791 55 954 443 365 224
+ -10000 289 880 970 316 798 76 505 895 539
+ -10000 597 722 602 15 841 516 328 103 660
+ -10000 95 68 279 836 759 7 852 536 463
+ -10000 9 429 674 223 789 215 856 422 2
+ -10000 0 59 845 1000 532 424 516 348 620
+ -10000 202 923 909 149 242 95 216 316 672
+ -10000 828 246 461 149 105 91 152 584 326
+ -10000 455 545 112 1 718 912 791 757 860
+ -10000 455 792 204 894 543 722 346 174 580
+ -10000 325 902 714 397 239 130 836 392 836
+ -10000 264 12 778 640 913 923 154 892 198
+ -10000 309 931 306 679 486 700 303 145 438
+ -10000 715 138 20 242 966 36 869 812 868
+ -10000 704 141 702 667 440 12 642 10 944
+ -10000 623 859 857 631 849 770 267 8 329
+ -10000 610 322 547 27 366 987 785 867 809
+ -10000 97 578 331 665 409 596 156 851 292
+ -10000 203 951 910 794 358 41 819 419 167
+ -10000 570 32 198 386 205 760 60 994 660
+ -10000 383 349 553 172 382 88 753 803 195
+ -10000 439 260 522 57 881 604 676 915 155
+ -10000 896 273 190 192 785 808 951 434 821
+ -10000 437 408 231 19 84 308 921 970 386
+ -10000 451 255 99 620 817 527 335 551 155
+ -10000 0 944 561 654 713 977 505 171 556
+ -10000 525 109 559 572 786 709 54 716 100
+ -10000 701 251 682 371 422 232 165 263 430
+ -10000 768 302 247 40 982 457 327 102 740
+ -10000 617 827 70 956 516 903 175 101 958
+ -10000 785 663 685 547 200 981 68 727 975
+ -10000 299 738 348 876 301 759 446 369 891
+ -10000 805 68 170 565 63 158 85 770 322
+ -10000 110 612 617 680 684 538 254 445 212
+ -10000 121 339 53 97 667 29 80 585 262
+ -10000 166 703 189 15 837 285 271 977 92
+ -10000 154 669 962 454 950 493 20 966 26
+ -10000 469 366 192 506 161 834 739 761 635
+ -10000 828 781 36 589 699 803 607 599 790
+ -10000 578 330 464 838 853 966 225 750 304
+ -10000 564 702 347 663 483 523 688 185 443
+ -10000 837 161 940 504 289 498 2 569 55
+ -10000 495 442 11 811 908 627 567 699 596
+ -10000 883 408 468 533 416 216 760 3 55
+ -10000 975 117 70 87 485 235 690 505 14
+ -10000 579 132 973 936 149 402 767 346 710
+ -10000 994 822 9 812 966 226 829 239 808
+ -10000 44 215 11 291 853 473 751 441 51
+ -10000 203 600 635 16 588 808 34 451 568
+ -10000 399 75 369 641 987 358 147 388 179
+ -10000 192 828 722 658 858 449 522 7 733
+ -10000 474 425 353 148 955 823 726 336 67
+ -10000 702 465 194 717 835 221 402 695 730
+ -10000 194 703 498 798 441 244 61 142 239
+ -10000 207 374 725 704 41 482 20 604 241
+ -10000 6 879 184 348 548 576 140 610 202
+ -10000 293 620 493 10 780 794 914 190 726
+ -10000 368 270 350 505 548 741 161 365 828
+ -10000 8 14 516 999 205 677 354 98 197
+ -10000 930 447 282 147 446 70 802 829 899
+ -10000 508 276 714 199 46 608 45 207 851
+ -10000 193 648 992 190 308 129 270 315 329
+ -10000 245 638 174 896 838 439 627 847 37
+ -10000 371 311 691 755 904 537 652 549 225
+ -10000 421 630 66 219 244 74 72 976 58
+ -10000 702 525 995 80 194 129 203 417 431
+ -10000 431 777 44 895 421 464 77 175 851
+ -10000 214 472 500 94 289 73 220 34 165
+ -10000 184 461 523 762 174 938 153 534 319
+ -10000 386 129 636 806 228 345 90 891 507
+ -10000 107 403 665 590 579 513 74 776 82
+ -10000 230 918 817 251 285 256 985 656 644
+ -10000 919 630 842 76 14 34 971 165 335
+ -10000 667 319 286 519 968 467 84 585 599
+ -10000 774 814 959 89 750 846 64 896 644
+ -10000 474 711 50 502 660 382 19 256 845
+ -10000 727 635 783 980 341 259 490 752 617
+ -10000 410 189 947 458 948 128 642 353 998
+ -10000 461 791 881 160 318 955 525 523 884
+ -10000 233 114 10 99 283 489 936 580 577
+ -10000 92 447 949 854 343 519 223 716 706
+ -10000 424 121 454 190 6 374 880 83 563
+ -10000 549 348 44 606 557 956 109 181 823
+ -10000 550 876 291 810 787 963 105 454 27
+ -10000 89 646 816 304 802 656 352 24 828
+ -10000 793 348 667 133 615 954 982 864 644
+ -10000 846 709 88 369 238 519 629 904 465
+ -10000 340 1000 185 513 537 586 321 414 395
+ -10000 810 999 365 498 359 51 497 17 454
+ -10000 91 820 867 829 468 198 894 138 72
+ -10000 53 176 428 726 631 767 13 295 300
+ -10000 661 540 27 221 563 724 767 224 362
+ -10000 8 315 169 875 218 294 393 369 81
+ -10000 156 345 521 588 535 441 928 70 874
+ -10000 45 212 891 727 308 994 491 634 120
+ -10000 717 641 995 805 107 330 943 461 93
+ -10000 251 987 51 133 679 503 572 184 512
+ -10000 568 178 24 654 254 232 343 346 457
+ -10000 50 815 877 278 626 1000 577 652 791
+ -10000 227 356 336 516 441 949 357 779 498
+ -10000 65 965 369 593 343 262 828 86 759
+ -10000 520 285 968 256 373 336 361 495 762
+ -10000 985 482 49 781 275 8 211 381 476
+ -10000 488 55 514 436 62 678 578 593 735
+ -10000 355 639 322 446 301 71 786 723 904
+ -10000 668 888 455 208 172 764 181 582 1000
+ -10000 665 931 455 238 338 720 184 655 705
+ -10000 386 34 939 505 257 821 571 853 290
+ -10000 201 395 814 245 843 309 495 669 793
+ -10000 646 689 23 921 599 488 573 724 164
+ -10000 409 494 550 714 489 113 231 220 386
+ -10000 801 737 757 616 469 976 568 230 274
+ -10000 21 378 813 806 981 189 787 821 879
+ -10000 874 543 466 646 281 603 231 359 282
+ -10000 756 870 828 396 317 8 797 366 451
+ -10000 744 632 405 772 914 714 125 994 553
+ -10000 470 938 76 29 741 373 993 18 635
+ -10000 651 710 398 1000 549 67 875 174 91
+ -10000 712 166 114 323 35 207 636 755 686
+ -10000 719 395 426 208 598 249 498 941 693
+ -10000 104 39 19 554 502 813 810 255 666
+ -10000 470 482 970 162 955 752 249 738 728
+ -10000 50 706 463 646 451 250 847 866 21
+ -10000 129 912 909 509 583 241 585 611 432
+ -10000 172 599 562 605 243 941 429 568 628
+ -10000 831 876 627 217 942 998 804 836 983
+ -10000 446 99 646 309 561 447 739 715 635
+ -10000 906 175 430 163 438 183 332 417 441
+ -10000 617 159 337 532 913 471 978 133 297
+ -10000 678 906 855 71 944 383 510 303 255
+ -10000 659 388 387 894 720 661 682 708 745
+ -10000 800 490 978 330 152 784 495 814 681
+ -10000 370 112 117 930 491 25 10 117 449
+ -10000 865 615 134 60 630 791 567 867 79
+ -10000 699 865 672 183 645 536 74 485 671
+ -10000 209 636 635 664 618 790 308 387 192
+ -10000 245 645 670 750 558 414 125 348 742
+ -10000 478 405 573 997 582 749 799 74 963
+ -10000 827 552 317 36 639 789 318 42 659
+ -10000 121 648 81 345 667 468 516 150 652
+ -10000 569 226 308 0 384 387 651 433 935
+ -10000 879 856 439 660 116 147 865 194 179
+ -10000 986 913 478 8 4 83 984 845 995
+ -10000 965 108 618 485 442 936 620 972 47
+ -10000 651 62 707 746 3 733 386 9 659
+ -10000 675 251 130 637 539 158 306 554 260
+ -10000 69 285 796 632 393 591 884 833 477
+ -10000 537 406 933 972 463 837 486 446 502
+ -10000 613 922 410 762 645 128 248 368 523
+ -10000 579 146 216 867 926 767 954 874 530
+ -10000 933 552 242 236 558 752 676 495 872
+ -10000 268 845 253 903 503 393 551 593 908
+ -10000 436 856 224 114 310 816 421 352 222
+ -10000 720 683 983 818 954 339 621 946 696
+ -10000 926 630 14 806 971 483 513 143 890
+ -10000 796 718 71 391 613 136 626 543 326
+ -10000 748 843 614 703 403 507 748 629 79
+ -10000 696 732 122 302 499 423 781 925 893
+ -10000 792 238 478 66 319 67 984 490 218
+ -10000 352 447 323 433 886 367 370 955 59
+ -10000 136 776 671 485 717 780 767 24 874
+ -10000 846 957 788 779 878 583 385 133 778
+ -10000 471 968 878 922 606 318 340 811 769
+ -10000 610 234 549 361 748 846 983 518 840
+ -10000 755 444 469 528 188 631 895 515 959
+ -10000 498 364 929 957 258 396 188 72 295
+ -10000 574 553 168 736 390 187 256 312 283
+ -10000 717 396 794 981 301 616 633 329 96
+ -10000 44 28 230 882 154 688 827 377 908
+ -10000 200 875 541 153 100 867 216 41 968
+ -10000 763 211 445 108 224 676 703 40 231
+ -10000 27 665 512 981 192 105 802 352 964
+ -10000 465 350 327 135 444 340 439 518 209
+ -10000 165 450 274 548 668 689 286 346 237
+ -10000 493 182 900 426 165 710 353 64 924
+ -10000 646 410 878 577 841 527 457 228 575
+ -10000 105 634 646 941 380 218 76 132 703
+ -10000 219 383 637 496 592 309 673 400 956
+ -10000 973 953 518 381 646 79 276 626 224
+ -10000 876 136 886 811 647 556 113 148 268
+ -10000 132 334 166 835 972 283 580 610 948
+ -10000 994 481 491 670 892 387 586 677 443
+ -10000 409 755 305 934 776 822 609 617 526
+ -10000 889 353 168 910 418 619 896 549 77
+ -10000 218 95 283 580 421 883 55 221 378
+ -10000 521 693 765 332 256 983 866 628 414
+ -10000 760 750 941 97 959 46 827 378 827
+ -10000 895 30 197 403 153 77 104 181 966
+ -10000 948 226 654 326 134 37 337 842 561
+ -10000 457 871 356 602 333 187 205 496 305
+ -10000 653 962 199 338 532 658 64 896 973
+ -10000 245 595 774 61 666 307 690 75 585
+ -10000 441 928 335 217 637 766 333 595 856
+ -10000 731 355 662 757 446 58 114 598 990
+ -10000 857 178 495 698 652 997 965 344 454
+ -10000 252 33 20 278 397 627 943 186 565
+ -10000 101 583 661 60 470 637 137 83 81
+ -10000 414 624 297 457 292 136 170 95 89
+ -10000 469 84 330 841 749 209 504 623 394
+ -10000 249 538 69 968 236 25 545 245 372
+ -10000 124 325 575 510 305 673 882 371 614
+ -10000 402 764 486 103 96 788 559 307 339
+ -10000 131 48 655 614 441 540 420 95 993
+ -10000 607 44 870 214 912 979 220 506 485
+ -10000 60 905 396 766 36 861 496 100 390
+ -10000 98 6 765 851 647 159 762 916 927
+ -10000 79 284 585 813 498 754 376 464 853
+ -10000 372 978 213 607 77 443 742 270 451
+ -10000 355 142 800 573 614 560 138 123 202
+ -10000 363 921 401 782 97 860 745 927 362
+ -10000 31 384 719 247 711 457 965 326 242
+ -10000 551 845 502 917 903 251 88 592 329
+ -10000 488 66 469 808 23 974 222 745 971
+ -10000 85 763 747 189 58 109 55 764 17
+ -10000 268 580 52 85 433 241 379 77 617
+ -10000 86 390 899 388 115 373 722 903 324
+ -10000 710 872 655 577 937 752 282 311 304
+ -10000 399 557 20 708 499 310 376 257 404
+ -10000 98 92 254 568 339 367 66 594 671
+ -10000 506 696 122 926 240 268 700 151 878
+ -10000 830 775 404 168 648 182 792 412 42
+ -10000 594 785 141 30 344 915 579 864 147
+ -10000 445 208 157 858 232 176 905 403 535
+ -10000 380 532 488 961 769 894 841 317 809
+ -10000 459 171 387 799 444 921 535 737 632
+ -10000 76 661 399 832 955 811 379 542 152
+ -10000 340 801 922 93 761 876 503 776 928
+ -10000 405 558 207 906 735 465 724 817 983
+ -10000 757 998 394 593 907 66 932 91 696
+ -10000 691 401 32 920 992 79 374 383 678
+ -10000 17 771 794 55 733 694 720 261 859
+ -10000 820 418 457 361 82 733 812 116 790
+ -10000 631 916 359 839 690 995 747 595 609
+ -10000 186 766 309 807 474 337 106 922 247
+ -10000 746 597 537 177 791 695 636 499 978
+ -10000 517 901 878 4 819 559 719 124 631
+ -10000 300 492 815 782 20 486 613 964 644
+ -10000 425 285 682 750 912 451 60 794 752
+ -10000 357 664 459 550 994 370 553 331 997
+ -10000 445 301 909 755 791 461 840 522 44
+ -10000 835 412 803 910 53 517 388 142 504
+ -10000 188 310 994 588 248 388 471 556 868
+ -10000 419 318 968 989 68 171 474 49 164
+ -10000 580 159 794 691 442 838 647 423 769
+ -10000 914 855 287 85 949 800 565 1000 47
+ -10000 891 195 353 741 644 579 730 540 427
+ -10000 101 607 7 136 881 680 537 679 338
+ -10000 762 199 946 652 141 328 445 212 376
+ -10000 324 833 262 887 804 626 516 845 326
+ -10000 34 546 538 482 163 344 9 390 484
+ -10000 713 459 814 419 572 646 46 660 344
+ -10000 936 405 838 494 755 67 627 543 54
+ -10000 297 358 122 697 451 676 480 630 649
+ -10000 431 121 136 347 348 765 629 496 120
+ -10000 668 1 855 584 59 426 272 258 698
+ -10000 946 16 566 268 410 552 146 992 367
+ -10000 893 289 419 454 684 581 75 807 197
+ -10000 613 207 147 604 102 66 325 346 612
+ -10000 601 770 614 754 681 981 58 108 90
+ -10000 973 323 8 603 931 472 830 394 373
+ -10000 913 692 906 798 223 168 935 343 215
+ -10000 322 716 391 237 80 829 745 157 50
+ -10000 459 840 350 783 580 578 651 678 138
+ -10000 977 309 345 362 964 607 116 388 584
+ -10000 245 335 845 846 833 743 414 300 105
+ -10000 191 348 137 307 912 185 674 709 707
+ -10000 264 616 217 268 310 609 813 78 66
+ -10000 951 192 795 464 372 783 89 946 280
+ -10000 355 560 799 919 100 838 736 665 673
+ -10000 738 821 881 272 475 921 487 717 682
+ -10000 474 993 912 794 178 320 300 870 725
+ -10000 702 407 641 45 703 655 723 944 879
+ -10000 514 112 205 133 131 3 416 814 490
+ -10000 932 153 759 783 82 699 265 246 156
+ -10000 392 958 369 208 44 134 795 376 850
+ -10000 373 102 999 690 393 695 179 514 64
+ -10000 869 590 435 847 49 278 604 65 860
+ -10000 290 757 835 414 569 357 512 805 239
+ -10000 655 951 920 447 553 342 407 449 968
+ -10000 40 321 346 860 888 240 255 191 355
+ -10000 630 91 945 755 505 863 326 270 925
+ -10000 262 85 712 657 195 22 158 809 175
+ -10000 839 186 12 388 271 619 116 290 375
+ -10000 883 695 870 179 733 298 255 672 953
+ -10000 98 311 292 605 64 788 926 10 350
+ -10000 448 683 154 85 936 672 857 87 461
+ -10000 427 590 329 321 427 365 161 242 718
+ -10000 46 962 23 897 270 863 466 326 742
+ -10000 599 528 488 563 437 548 122 697 631
+ -10000 83 554 900 900 195 517 324 236 249
+ -10000 544 556 564 550 315 491 889 500 69
+ -10000 323 619 620 885 1000 986 228 297 172
+ -10000 916 825 277 121 300 346 339 798 279
+ -10000 767 885 856 77 819 452 453 246 733
+ -10000 427 603 636 961 302 263 890 717 779
+ -10000 42 568 38 397 539 52 226 41 525
+ -10000 804 655 687 425 794 924 721 442 542
+ -10000 830 895 872 255 3 777 541 648 507
+ -10000 500 19 977 511 191 286 807 745 675
+ -10000 565 343 34 241 495 50 589 482 848
+ -10000 861 711 719 137 64 143 36 607 715
+ -10000 403 993 132 529 886 460 120 576 841
+ -10000 423 406 248 306 353 139 118 438 562
+ -10000 444 166 3 659 762 111 828 269 12
+ -10000 518 758 952 201 887 398 348 607 507
+ -10000 294 277 267 770 722 60 696 491 306
+ -10000 743 970 112 665 429 484 142 351 2
+ -10000 567 302 128 386 968 47 302 130 610
+ -10000 968 699 572 806 93 700 38 479 243
+ -10000 320 651 251 835 361 89 460 273 557
+ -10000 520 190 622 843 730 517 779 810 389
+ -10000 203 690 602 635 901 401 568 398 990
+ -10000 421 606 935 963 607 665 127 191 735
+ -10000 453 756 711 389 767 748 680 69 916
+ -10000 867 766 18 367 516 868 710 354 686
+ -10000 963 256 209 827 365 9 109 628 564
+ -10000 446 194 481 50 305 633 878 844 581
+ -10000 350 807 544 695 232 796 299 416 561
+ -10000 913 997 393 648 213 487 340 291 387
+ -10000 562 506 651 674 494 251 814 633 879
+ -10000 971 980 186 40 630 849 69 454 857
+ -10000 147 105 113 700 313 8 212 903 410
+ -10000 539 94 609 127 31 813 96 644 766
+ -10000 671 961 941 730 421 117 733 440 351
+ -10000 958 710 365 856 172 468 112 188 921
+ -10000 948 689 683 23 931 243 134 252 405
+ -10000 471 908 132 301 137 997 493 138 551
+ -10000 566 396 616 47 933 558 444 212 848
+ -10000 607 410 457 245 97 937 969 892 441
+ -10000 359 182 949 75 428 162 833 253 663
+ -10000 802 877 560 65 781 886 319 635 993
+ -10000 553 312 165 449 336 679 700 782 212
+ -10000 988 392 720 483 617 95 771 37 472
+ -10000 704 406 363 547 466 807 575 107 578
+ -10000 972 886 549 553 354 208 43 240 878
+ -10000 509 534 745 620 761 905 365 769 350
+ -10000 817 327 211 606 132 305 775 146 747
+ -10000 513 283 244 417 514 277 176 248 621
+ -10000 728 247 612 271 858 132 197 936 101
+ -10000 333 781 111 336 913 966 716 144 573
+ -10000 289 382 131 141 454 200 484 932 189
+ -10000 862 236 127 783 12 957 477 816 638
+ -10000 133 751 864 613 917 409 357 98 881
+ -10000 686 84 750 136 572 948 263 546 401
+ -10000 576 179 71 446 282 390 108 676 928
+ -10000 442 602 859 752 443 387 657 955 297
+ -10000 723 534 845 403 921 128 486 566 114
+ -10000 255 316 693 197 378 715 869 36 726
+ -10000 398 652 482 36 74 791 550 955 1
+ -10000 927 605 118 89 519 70 458 796 967
+ -10000 540 470 704 678 212 369 112 186 653
+ -10000 907 182 774 822 142 608 358 449 259
+ -10000 555 891 952 266 343 975 84 661 24
+ -10000 619 350 91 140 691 232 290 571 666
+ -10000 730 856 741 357 733 435 630 7 616
+ -10000 765 638 476 963 210 896 382 582 965
+ -10000 75 816 942 757 100 247 137 474 398
+ -10000 323 684 355 743 295 961 269 242 593
+ -10000 224 446 95 52 478 870 744 167 310
+ -10000 250 531 382 359 804 218 608 882 12
+ -10000 872 982 191 510 113 97 304 985 551
+ -10000 883 595 960 347 89 787 519 885 34
+ -10000 983 101 939 866 270 30 968 731 435
+ -10000 572 523 982 426 509 378 369 357 479
+ -10000 681 206 172 536 307 160 110 359 492
+ -10000 77 751 964 127 455 162 620 893 17
+ -10000 112 877 358 296 553 372 337 254 887
+ -10000 198 381 387 489 267 812 152 557 260
+ -10000 845 25 1000 304 837 794 131 592 556
+ -10000 670 308 260 128 652 928 966 941 559
+ -10000 830 148 127 786 191 217 485 174 851
+ -10000 618 786 269 632 821 364 36 202 347
+ -10000 138 66 153 949 208 70 20 269 224
+ -10000 260 26 142 574 980 985 311 767 585
+ -10000 86 902 859 583 12 688 622 117 636
+ -10000 769 510 982 368 829 171 376 193 628
+ -10000 198 460 278 987 97 932 64 327 448
+ -10000 910 585 14 211 86 414 256 711 377
+ -10000 488 983 730 698 254 292 569 485 964
+ -10000 376 876 311 446 653 773 438 58 740
+ -10000 548 935 863 30 809 376 621 13 46
+ -10000 192 725 536 958 541 346 370 75 69
+ -10000 499 724 144 60 302 195 246 483 307
+ -10000 650 129 873 478 50 48 113 86 520
+ -10000 54 353 996 155 122 572 871 984 368
+ -10000 157 693 291 512 98 105 84 312 362
+ -10000 557 465 416 575 858 383 902 284 211
+ -10000 438 166 506 633 847 742 609 256 674
+ -10000 771 456 172 497 429 933 762 459 816
+ -10000 197 31 439 438 17 827 183 199 977
+ -10000 236 756 387 927 491 820 699 183 518
+ -10000 263 865 416 223 276 522 330 876 945
+ -10000 589 905 80 888 676 186 410 902 775
+ -10000 348 600 341 495 356 320 725 366 566
+ -10000 391 763 238 762 6 880 763 789 883
+ -10000 815 625 51 905 782 155 8 256 217
+ -10000 802 601 602 412 78 721 1 129 477
+ -10000 45 942 479 297 866 264 179 668 128
+ -10000 994 360 827 1 95 392 965 374 578
+ -10000 659 734 679 601 74 836 90 213 957
+ -10000 953 832 486 789 193 778 389 568 126
+ -10000 621 954 660 462 483 816 167 597 424
+ -10000 996 566 383 812 65 341 996 338 419
+ -10000 212 410 530 210 439 933 965 796 100
+ -10000 284 953 381 406 349 827 573 874 339
+ -10000 397 380 511 298 254 664 175 687 36
+ -10000 816 448 666 113 523 177 588 514 933
+ -10000 578 436 644 489 372 519 167 744 172
+ -10000 857 871 13 830 535 647 875 594 777
+ -10000 71 440 192 460 953 5 871 740 438
+ -10000 398 758 997 298 131 405 308 445 0
+ -10000 405 471 591 334 535 6 497 248 443
+ -10000 954 687 416 416 790 969 685 536 686
+ -10000 317 349 300 284 269 247 227 879 797
+ -10000 515 316 372 529 277 543 355 343 297
+ -10000 516 260 273 245 899 153 248 773 762
+ -10000 16 304 756 87 48 132 977 695 657
+ -10000 887 693 396 641 461 939 586 972 70
+ -10000 164 12 627 962 929 527 860 942 989
+ -10000 750 526 465 565 345 994 452 603 915
+ -10000 80 480 830 523 419 547 107 412 742
+ -10000 28 287 107 848 977 981 667 571 81
+ -10000 521 148 573 552 569 939 260 101 720
+ -10000 999 444 332 376 9 874 759 795 33
+ -10000 905 560 160 582 535 829 433 979 480
+ -10000 859 200 375 479 442 588 730 367 808
+ -10000 150 775 359 998 872 437 632 791 370
+ -10000 939 732 98 914 148 721 946 372 461
+ -10000 295 178 999 1 170 624 235 441 975
+ -10000 736 48 371 858 866 314 403 634 34
+ -10000 537 162 189 741 973 804 187 959 547
+ -10000 573 82 523 135 440 515 616 162 498
+ -10000 194 260 996 397 861 16 674 854 495
+ -10000 448 46 704 131 510 901 350 950 294
+ -10000 637 167 258 798 270 261 254 853 130
+ -10000 62 211 215 473 670 586 426 261 226
+ -10000 651 157 855 228 334 69 221 281 370
+ -10000 999 811 603 581 674 20 127 220 715
+ -10000 603 589 809 339 418 547 44 471 655
+ -10000 13 797 929 432 749 592 982 756 692
+ -10000 655 750 581 447 852 739 263 699 930
+ -10000 227 748 251 345 213 945 738 669 847
+ -10000 844 41 193 787 321 739 137 5 909
+ -10000 267 794 833 397 906 155 260 767 137
+ -10000 828 779 710 661 73 993 420 121 735
+ -10000 626 745 379 758 830 863 376 54 159
+ -10000 158 651 890 423 15 906 588 322 725
+ -10000 74 643 766 571 212 658 467 510 621
+ -10000 143 145 444 287 47 302 725 151 886
+ -10000 776 684 483 818 549 268 631 930 136
+ -10000 922 814 210 162 3 201 917 673 229
+ -10000 604 542 704 738 185 143 725 465 968
+ -10000 196 821 460 436 415 29 903 447 280
+ -10000 430 232 927 794 277 645 736 269 898
+ -10000 247 852 515 951 259 783 556 301 687
+ -10000 624 471 900 89 818 833 196 155 204
+ -10000 500 173 2 261 525 805 675 396 951
+ -10000 672 554 117 33 96 570 349 712 704
+ -10000 919 897 117 733 212 481 586 183 468
+ -10000 446 422 71 185 377 391 592 372 470
+ -10000 642 76 578 730 216 872 138 852 377
+ -10000 360 606 185 836 849 359 525 217 85
+ -10000 271 574 526 360 20 297 351 140 783
+ -10000 87 763 668 117 777 162 630 54 408
+ -10000 921 981 7 551 962 43 886 764 163
+ -10000 698 498 117 695 390 606 928 337 163
+ -10000 81 536 548 967 131 270 942 608 224
+ -10000 340 282 253 357 951 394 502 400 893
+ -10000 7 882 317 594 156 935 581 183 308
+ -10000 565 677 943 202 540 855 70 618 568
+ -10000 504 129 346 550 442 1 697 565 80
+ -10000 582 752 182 46 40 908 389 943 69
+ -10000 852 210 439 84 840 565 800 90 387
+ -10000 283 934 515 249 124 98 870 209 886
+ -10000 60 480 333 210 438 29 716 881 455
+ -10000 352 380 563 325 801 352 717 549 660
+ -10000 228 926 227 77 942 408 421 285 92
+ -10000 598 404 276 673 813 888 8 536 84
+ -10000 464 596 354 786 311 241 248 582 227
+ -10000 430 571 676 367 672 142 248 145 269
+ -10000 673 123 188 825 510 954 664 245 753
+ -10000 329 225 235 869 597 476 901 102 751
+ -10000 734 649 468 739 366 967 711 636 990
+ -10000 59 194 967 666 382 839 85 983 578
+ -10000 775 17 455 373 678 403 269 523 1000
+ -10000 861 493 379 324 108 268 490 742 641
+ -10000 739 487 779 370 955 134 107 698 965
+ -10000 843 993 423 719 980 733 100 558 918
+ -10000 211 125 262 129 15 49 282 490 864
+ -10000 891 354 850 118 152 91 553 760 805
+ -10000 890 352 794 282 220 706 242 258 211
+ -10000 685 500 384 58 81 567 275 459 659
+ -10000 167 517 330 487 766 311 812 764 852
+ -10000 356 374 2 342 673 291 4 309 405
+ -10000 809 421 762 241 611 98 337 659 500
+ -10000 504 956 636 107 723 936 950 934 436
+ -10000 566 817 847 278 845 308 150 458 168
+ -10000 762 135 400 556 626 200 849 182 490
+ -10000 431 649 751 76 820 125 273 29 644
+ -10000 682 490 656 264 183 892 428 239 112
+ -10000 969 862 809 598 964 784 422 116 990
+ -10000 513 182 900 788 690 573 753 834 389
+ -10000 801 339 492 952 255 830 24 669 713
+ -10000 874 926 287 336 794 377 115 172 272
+ -10000 170 210 511 523 136 18 899 682 94
+ -10000 229 888 843 639 167 560 814 298 612
+ -10000 510 565 965 80 251 478 548 940 633
+ -10000 966 612 773 344 101 336 462 375 312
+ -10000 749 617 536 895 831 640 366 698 955
+ -10000 939 665 650 718 654 411 471 172 964
+ -10000 2 555 959 957 733 353 414 988 907
+ -10000 462 803 484 462 112 32 987 681 653
+ -10000 927 330 200 615 362 733 497 333 253
+ -10000 826 31 110 84 375 98 541 490 330
+ -10000 590 453 237 646 694 848 655 834 551
+ -10000 950 999 223 709 725 191 347 689 717
+ -10000 388 694 361 626 242 226 936 63 313
+ -10000 624 160 722 332 885 454 636 972 992
+ -10000 545 282 226 904 512 240 352 981 944
+ -10000 203 281 291 846 1000 133 464 138 408
+ -10000 720 952 511 855 221 724 938 441 813
+ -10000 773 759 8 158 359 823 85 335 54
+ -10000 341 901 133 425 242 890 302 462 861
+ -10000 848 925 295 336 410 875 407 371 907
+ -10000 352 638 471 79 142 635 582 115 481
+ -10000 626 888 58 404 41 157 766 336 963
+ -10000 607 304 667 230 199 588 181 337 378
+ -10000 970 687 866 440 691 838 476 69 105
+ -10000 100 128 373 381 13 34 749 871 11
+ -10000 567 250 348 583 255 178 146 514 197
+ -10000 943 89 662 421 280 810 239 698 939
+ -10000 498 928 971 131 425 839 595 270 124
+ -10000 303 679 763 729 678 372 289 772 95
+ -10000 343 996 999 808 425 976 387 809 55
+ -10000 930 643 615 524 983 236 352 49 210
+ -10000 634 478 590 79 90 137 40 539 803
+ -10000 560 863 946 8 844 457 820 922 222
+ -10000 591 726 558 206 669 577 272 27 928
+ -10000 47 633 100 825 685 821 222 897 900
+ -10000 187 335 298 835 844 240 485 561 241
+ -10000 757 568 739 44 332 958 469 494 911
+ -10000 437 639 313 497 634 438 646 277 343
+ -10000 809 86 741 359 3 199 389 701 400
+ -10000 895 251 516 77 595 909 470 964 873
+ -10000 833 703 227 347 995 441 82 688 466
+ -10000 79 972 721 601 809 136 924 8 375
+ -10000 395 697 510 755 580 334 697 424 660
+ -10000 714 244 599 0 919 849 168 33 510
+ -10000 383 318 260 331 989 903 714 27 170
+ -10000 798 480 437 175 866 580 273 335 475
+ -10000 299 549 113 108 634 192 883 755 931
+ -10000 719 313 809 206 847 749 54 258 756
+ -10000 171 32 785 641 822 382 788 275 546
+ -10000 111 80 185 733 240 899 297 798 313
+ -10000 467 456 107 166 780 727 312 777 761
+ -10000 592 119 218 286 286 405 625 931 628
+ -10000 832 41 300 707 205 690 550 619 122
+ -10000 607 907 744 513 122 540 268 809 262
+ -10000 659 740 166 709 157 301 74 224 322
+ -10000 166 137 570 295 939 26 956 267 475
+ -10000 649 430 912 817 436 982 807 471 420
+ -10000 124 289 771 179 90 428 460 64 434
+ -10000 789 525 470 68 684 390 365 38 122
+ -10000 806 843 590 50 268 460 929 139 251
+ -10000 316 379 148 391 137 681 953 996 462
+ -10000 782 630 299 197 583 88 31 497 741
+ -10000 482 620 309 712 904 200 850 890 76
+ -10000 834 653 592 280 787 480 890 601 699
+ -10000 744 506 356 12 909 83 907 723 96
+ -10000 48 338 210 489 39 552 483 334 961
+ -10000 754 175 599 645 198 329 243 931 248
+ -10000 252 241 821 22 218 113 0 887 129
+ -10000 846 649 784 756 192 95 789 654 85
+ -10000 418 974 615 770 569 748 880 9 615
+ -10000 143 904 132 953 763 893 632 968 119
+ -10000 297 675 562 351 574 506 93 686 255
+ -10000 93 333 552 937 333 105 433 976 696
+ -10000 750 760 905 89 978 817 504 348 612
+ -10000 829 315 52 91 392 141 249 100 288
+ -10000 185 757 754 591 133 994 52 550 548
+ -10000 571 895 699 781 332 300 261 529 294
+ -10000 376 924 782 56 776 630 418 816 391
+ -10000 241 515 922 387 558 237 446 400 936
+ -10000 557 361 745 692 335 758 555 673 576
+ -10000 247 594 274 847 31 876 444 483 586
+ -10000 474 167 817 957 545 990 933 281 596
+ -10000 926 87 151 595 250 996 354 649 482
+ -10000 420 43 722 712 168 94 30 566 392
+ -10000 777 866 724 795 278 168 352 832 168
+ -10000 511 966 675 5 619 105 436 844 893
+ -10000 112 328 340 523 631 309 743 143 11
+ -10000 241 953 807 388 950 195 670 416 759
+ -10000 491 701 942 77 616 373 915 264 205
+ -10000 671 854 774 904 479 444 513 482 123
+ -10000 536 539 280 622 666 469 331 632 364
+ -10000 706 638 371 578 150 445 200 338 41
+ -10000 396 544 470 144 645 536 27 169 80
+ -10000 19 444 326 737 155 402 279 459 322
+ -10000 204 385 563 566 834 927 842 146 970
+ -10000 599 991 20 97 965 542 233 381 463
+ -10000 671 253 511 781 433 255 109 844 507
+ -10000 437 150 123 799 296 42 458 620 923
+ -10000 245 529 163 278 716 359 270 136 136
+ -10000 931 867 176 598 952 159 378 597 123
+ -10000 73 504 83 651 693 13 229 693 139
+ -10000 432 161 678 760 359 965 674 993 325
+ -10000 351 565 552 160 43 81 756 879 392
+ -10000 84 677 638 886 801 95 335 695 282
+ -10000 566 778 541 453 769 527 97 779 331
+ -10000 961 265 965 996 807 831 654 44 231
+ -10000 105 779 928 146 414 139 260 640 492
+ -10000 113 206 432 614 313 583 968 688 266
+ -10000 369 582 68 731 463 513 771 837 944
+ -10000 127 737 548 333 184 982 861 170 646
+ -10000 4 492 287 678 987 467 254 141 575
+ -10000 111 472 23 729 434 255 733 53 258
+ -10000 784 326 706 295 220 139 124 400 681
+ -10000 654 22 804 99 106 230 652 836 692
+ -10000 530 18 546 25 775 9 284 60 750
+ -10000 680 811 219 571 360 724 261 409 924
+ -10000 513 332 422 614 911 537 160 847 476
+ -10000 85 444 242 683 389 436 38 332 48
+ -10000 890 896 423 364 301 457 377 143 971
+ -10000 806 313 479 589 601 812 365 631 325
+ -10000 442 765 478 811 521 659 889 339 94
+ -10000 288 461 237 469 924 495 874 570 104
+ -10000 667 108 972 840 707 875 663 904 678
+ -10000 525 871 707 186 283 89 265 203 198
+ -10000 848 219 697 632 348 538 904 830 787
+ -10000 92 952 759 51 599 633 498 720 903
+ -10000 378 208 971 531 362 394 498 622 703
+ -10000 830 735 687 154 170 925 106 128 62
+ -10000 64 372 404 94 54 866 843 197 780
+ -10000 127 743 466 363 230 451 435 131 561
+ -10000 532 185 652 236 697 492 737 2 176
+ -10000 457 593 666 787 234 46 142 853 525
+ -10000 653 384 276 888 270 136 469 591 817
+ -10000 423 850 541 536 130 248 65 75 246
+ -10000 2 784 121 632 795 569 910 751 630
+ -10000 516 15 844 128 420 412 900 683 900
+ -10000 643 819 477 121 537 42 398 144 677
+ -10000 371 512 668 610 376 24 519 859 269
+ -10000 905 22 902 255 323 663 833 426 863
+ -10000 21 418 985 429 8 109 107 981 636
+ -10000 589 3 606 163 106 719 590 755 222
+ -10000 665 391 373 208 506 929 927 382 229
+ -10000 448 17 1 2 777 819 435 358 549
+ -10000 240 157 104 518 958 730 581 846 108
+ -10000 772 145 580 35 913 263 440 898 424
+ -10000 909 804 273 586 364 291 890 595 616
+ -10000 939 699 727 618 80 618 875 77 134
+ -10000 874 690 350 357 320 229 419 889 482
+ -10000 140 269 540 209 736 559 230 912 438
+ -10000 613 948 682 882 136 579 690 10 699
+ -10000 829 423 566 459 314 816 13 47 569
+ -10000 77 936 645 542 996 879 323 491 78
+ -10000 782 672 0 819 35 372 939 701 279
+ -10000 523 332 887 124 462 695 336 286 610
+ -10000 438 817 959 635 132 829 350 744 232
+ -10000 54 634 144 742 104 392 204 226 890
+ -10000 750 677 643 794 169 894 196 668 262
+ -10000 572 201 812 922 906 581 281 459 120
+ -10000 440 514 901 277 995 117 834 654 935
+ -10000 32 736 318 610 486 765 389 866 70
+ -10000 183 356 804 890 565 582 295 232 705
+ -10000 645 541 943 184 97 25 116 961 468
+ -10000 921 791 768 256 375 154 993 934 206
+ -10000 983 266 506 970 102 598 353 589 171
+ -10000 332 934 84 850 826 43 412 173 778
+ -10000 561 841 327 703 163 223 246 882 234
+ -10000 132 809 188 100 430 623 16 294 160
+ -10000 936 604 886 372 112 727 956 807 208
+ -10000 181 703 417 321 409 143 264 274 502
+ -10000 105 59 698 449 992 780 781 946 297
+ -10000 751 517 967 599 713 582 534 927 527
+ -10000 969 372 465 861 854 840 440 568 402
+ -10000 267 318 12 215 833 11 221 552 8
+ -10000 828 442 669 730 620 229 96 828 357
+ -10000 586 403 701 609 321 3 510 656 474
+ -10000 647 845 912 486 184 586 557 30 826
+ -10000 47 51 313 581 788 563 228 621 493
+ -10000 341 824 126 686 842 998 306 919 848
+ -10000 965 352 975 306 359 134 672 372 981
+ -10000 349 485 457 648 662 702 451 517 792
+ -10000 675 589 448 542 303 10 43 429 602
+ -10000 150 856 74 784 409 736 159 79 968
+ -10000 232 46 313 809 41 611 533 905 21
+ -10000 668 930 898 808 462 935 290 802 77
+ -10000 635 556 834 439 747 272 571 128 416
+ -10000 767 985 912 893 907 312 779 124 479
+ -10000 642 331 501 456 423 469 299 578 732
+ -10000 240 485 696 717 206 268 634 744 819
+ -10000 407 963 587 964 637 513 676 530 653
+ -10000 804 16 164 973 913 272 997 702 388
+ -10000 291 882 567 630 10 766 638 44 478
+ -10000 417 237 416 468 458 354 807 532 764
+ -10000 131 163 13 257 221 988 882 862 989
+ -10000 980 435 31 419 760 859 49 44 391
+ -10000 111 837 369 230 901 547 161 108 529
+ -10000 361 578 998 682 437 553 154 276 364
+ -10000 324 713 456 314 796 540 427 420 147
+ -10000 551 472 385 329 894 359 253 260 681
+ -10000 1 353 636 215 518 737 535 826 705
+ -10000 984 200 864 684 403 84 827 449 916
+ -10000 264 522 954 277 621 166 328 906 421
+ -10000 823 932 512 804 352 943 966 66 971
+ -10000 394 197 960 203 641 922 848 144 76
+ -10000 168 894 915 578 709 647 469 293 536
+ -10000 596 530 215 488 367 259 12 342 96
+ -10000 849 361 72 100 941 797 5 180 329
+ -10000 587 877 867 280 477 649 297 33 431
+ -10000 499 45 214 524 309 693 654 434 716
+ -10000 983 270 96 600 751 128 791 441 171
+ -10000 209 621 800 133 908 329 336 631 92
+ -10000 957 738 415 250 958 337 377 391 549
+ -10000 609 775 870 627 844 77 149 652 422
+ -10000 907 739 672 657 937 584 236 957 670
+ -10000 600 393 656 345 530 334 61 656 824
+ -10000 248 747 745 640 629 533 972 538 7
+ -10000 414 702 605 411 32 602 548 142 155
+ -10000 972 777 838 784 849 964 376 937 697
+ -10000 566 329 728 332 605 461 996 662 945
+ -10000 225 545 633 216 214 708 810 987 345
+ -10000 564 827 599 668 956 478 254 557 534
+ -10000 589 968 724 701 363 222 887 488 640
+ -10000 979 756 722 985 612 578 547 318 964
+ -10000 368 116 28 569 535 854 926 751 372
+ -10000 490 89 17 197 788 139 930 841 25
+ -10000 477 907 802 824 506 59 862 534 731
+ -10000 657 541 127 760 783 818 246 475 232
+ -10000 30 660 469 205 197 406 212 932 602
+ -10000 744 64 977 995 274 735 296 850 941
+ -10000 377 56 184 975 152 205 728 156 205
+ -10000 492 165 528 639 292 280 588 144 823
+ -10000 645 976 741 90 162 178 459 746 281
+ -10000 3 98 103 356 663 756 62 76 742
+ -10000 58 833 834 750 873 603 138 240 513
+ -10000 337 378 723 119 73 585 684 66 861
+ -10000 979 534 873 559 10 552 31 618 257
+ -10000 680 963 387 95 518 798 853 606 163
+ -10000 922 107 916 428 900 866 776 84 54
+ -10000 877 394 376 678 347 389 825 817 51
+ -10000 465 440 755 884 327 156 318 787 275
+ -10000 500 187 317 368 611 74 639 347 859
+ -10000 342 873 966 296 481 275 274 694 136
+ -10000 306 508 575 579 776 111 950 401 139
+ -10000 728 389 639 74 67 921 227 736 184
+ -10000 310 53 621 562 479 828 771 186 97
+ -10000 852 321 201 825 495 507 290 897 189
+ -10000 399 940 507 438 47 886 165 250 81
+ -10000 489 970 166 954 67 117 210 997 742
+ -10000 618 743 670 842 345 729 843 247 752
+ -10000 917 158 647 190 1000 134 790 905 849
+ -10000 693 193 215 537 59 100 865 392 846
+ -10000 981 816 924 674 987 373 407 395 396
+ -10000 662 907 246 997 635 866 682 693 358
+ -10000 219 428 642 29 806 2 289 698 750
+ -10000 823 623 163 273 460 453 681 333 640
+ -10000 953 798 809 610 848 360 867 956 49
+ -10000 151 917 624 802 92 412 793 970 513
+ -10000 324 925 782 990 986 71 960 162 257
+ -10000 47 749 18 53 28 686 635 809 429
+ -10000 68 442 926 73 34 313 960 272 728
+ -10000 675 417 124 753 805 502 303 89 893
+ -10000 394 835 527 679 261 774 63 362 767
+ -10000 780 639 724 81 104 146 287 73 51
+ -10000 943 389 386 995 622 751 867 681 611
+ -10000 255 366 776 837 727 166 987 71 704
+ -10000 957 107 960 273 781 99 398 15 82
+ -10000 928 733 478 67 926 172 152 326 3
+ -10000 564 152 162 692 880 808 498 970 661
+ -10000 717 404 543 82 832 785 404 420 184
+ -10000 126 364 350 708 846 699 549 202 606
+ -10000 525 12 837 665 635 610 499 410 824
+ -10000 770 250 847 822 729 463 10 605 468
+ -10000 198 472 609 910 904 290 195 906 489
+ -10000 188 394 111 28 193 784 51 870 672
+ -10000 199 333 198 757 195 14 581 744 3
+ -10000 937 756 772 248 35 353 614 233 838
+ -10000 336 900 970 256 336 508 488 788 77
+ -10000 610 474 943 471 302 91 461 497 172
+ -10000 450 410 864 18 975 437 85 980 90
+ -10000 102 386 968 977 884 435 285 103 594
+ -10000 116 698 841 505 813 318 456 767 700
+ -10000 750 370 121 771 12 79 783 347 373
+ -10000 313 178 409 375 928 344 490 583 796
+ -10000 545 36 788 432 756 687 462 74 434
+ -10000 635 818 805 20 992 191 617 953 530
+ -10000 67 926 846 199 958 680 118 541 283
+ -10000 217 977 13 238 449 769 301 927 985
+ -10000 791 660 657 352 73 800 476 616 859
+ -10000 527 498 963 59 693 1000 276 703 729
+ -10000 551 950 102 71 833 0 435 815 48
+ -10000 987 174 99 993 753 330 537 828 503
+ -10000 151 139 132 882 26 4 62 845 54
+ -10000 925 863 277 27 445 58 855 621 677
+ -10000 433 72 897 49 404 896 958 553 421
+ -10000 203 624 166 190 611 892 853 671 914
+ -10000 620 152 229 41 310 102 61 412 21
+ -10000 153 917 826 728 275 897 458 972 593
+ -10000 196 903 769 608 426 838 275 743 899
+ -10000 98 555 771 784 143 467 672 762 280
+ -10000 675 452 511 92 461 559 195 47 724
+ -10000 338 889 197 53 284 255 782 805 415
+ -10000 867 459 911 83 395 162 144 655 390
+ -10000 562 462 246 109 993 217 890 27 862
+ -10000 444 1000 469 32 384 971 967 713 865
+ -10000 917 947 84 885 156 364 90 90 377
+ -10000 357 215 260 310 567 279 198 995 145
+ -10000 682 409 952 246 690 173 581 328 855
+ -10000 396 752 94 396 53 949 464 175 163
+ -10000 654 427 329 668 99 590 868 39 86
+ -10000 888 109 195 486 908 184 230 160 547
+ -10000 500 184 807 268 860 261 901 735 594
+ -10000 391 442 73 710 68 21 387 598 88
+ -10000 211 128 330 581 383 528 444 435 749
+ -10000 286 617 896 553 236 868 100 734 927
+ -10000 509 731 570 870 92 461 130 418 873
+ -10000 330 875 485 249 622 787 810 379 783
+ -10000 500 427 667 451 237 680 295 673 372
+ -10000 748 196 304 854 276 855 835 554 76
+ -10000 508 950 332 886 106 551 776 123 481
+ -10000 474 353 96 692 873 532 543 534 994
+ -10000 588 148 845 975 206 813 486 218 20
+ -10000 952 10 377 160 304 49 632 785 430
+ -10000 845 708 539 424 437 153 881 779 272
+ -10000 670 934 257 832 943 371 645 828 194
+ -10000 108 402 116 354 5 72 165 915 285
+ -10000 707 640 241 625 708 305 779 18 674
+ -10000 87 839 824 415 628 676 321 405 491
+ -10000 557 669 463 500 105 36 812 185 615
+ -10000 577 198 424 477 143 682 801 398 355
+ -10000 99 0 473 598 664 464 854 540 195
+ -10000 819 869 58 249 497 625 769 63 36
+ -10000 371 439 375 787 193 831 536 164 728
+ -10000 377 551 940 678 45 702 489 674 756
+ -10000 24 706 143 847 964 505 600 556 130
+ -10000 672 834 242 214 835 124 942 962 846
+ -10000 728 225 413 228 841 616 243 871 927
+ -10000 894 503 823 184 183 546 627 37 448
+ -10000 149 181 603 500 817 852 778 249 460
+ -10000 11 894 891 853 628 258 694 669 17
+ -10000 455 446 42 988 158 175 789 628 422
+ -10000 766 595 649 910 156 319 702 609 694
+ -10000 785 675 485 605 635 788 234 825 325
+ -10000 451 177 572 524 716 334 225 562 632
+ -10000 813 118 254 690 458 257 552 613 595
+ -10000 740 680 887 94 850 361 779 522 422
+ -10000 806 187 139 959 484 723 23 379 772
+ -10000 207 523 733 960 211 565 199 475 761
+ -10000 283 533 359 348 601 966 821 961 611
+ -10000 358 137 70 535 500 401 178 35 433
+ -10000 720 131 832 933 755 663 983 738 811
+ -10000 266 972 954 615 43 290 698 484 6
+ -10000 439 612 496 228 990 691 82 47 41
+ -10000 389 27 998 706 334 989 922 920 581
+ -10000 94 530 374 502 502 957 500 831 192
+ -10000 767 84 661 350 718 93 678 754 949
+ -10000 550 161 694 661 707 149 366 626 986
+ -10000 616 572 788 113 903 57 605 906 245
+ -10000 654 181 664 718 73 272 431 274 805
+ -10000 292 395 199 289 55 123 885 971 330
+ -10000 479 807 745 174 492 130 111 782 338
+ -10000 631 124 206 687 392 102 564 579 472
+ -10000 594 267 510 694 646 160 921 228 122
+ -10000 212 543 644 910 912 337 434 767 153
+ -10000 487 894 437 956 289 803 158 859 729
+ -10000 273 61 585 89 440 81 494 96 713
+ -10000 947 573 130 134 121 59 728 865 85
+ -10000 242 754 927 337 731 780 826 970 611
+ -10000 945 930 625 967 801 491 433 613 199
+ -10000 452 498 748 235 644 479 953 37 472
+ -10000 401 53 175 111 622 817 556 970 674
+ -10000 291 480 988 846 604 404 890 745 972
+ -10000 927 753 897 27 542 37 825 954 649
+ -10000 400 207 342 320 191 477 628 699 314
+ -10000 627 773 182 789 653 129 955 512 745
+ -10000 741 459 550 897 91 929 519 42 638
+ -10000 50 241 745 298 43 368 351 507 638
+ -10000 694 843 32 225 89 976 206 452 469
+ -10000 433 286 868 15 724 404 678 62 184
+ -10000 419 311 778 358 96 305 265 247 538
+ -10000 887 750 50 558 483 600 330 173 623
+ -10000 155 887 27 54 992 890 121 997 416
+ -10000 217 777 397 770 160 466 22 9 322
+ -10000 838 175 247 432 407 322 125 653 354
+ -10000 277 706 450 787 775 326 264 959 887
+ -10000 592 69 232 877 313 509 308 365 377
+ -10000 393 466 87 878 63 925 454 866 351
+ -10000 123 575 324 308 696 553 476 1000 279
+ -10000 182 624 920 261 779 230 350 418 40
+ -10000 372 63 282 531 327 372 698 374 478
+ -10000 797 948 422 176 247 221 283 300 248
+ -10000 142 250 642 262 19 704 890 145 823
+ -10000 957 660 577 23 348 568 729 137 293
+ -10000 504 143 343 495 857 274 381 826 890
+ -10000 382 175 782 740 537 883 560 235 604
+ -10000 629 673 985 746 467 831 194 252 667
+ -10000 392 751 153 244 807 881 475 443 699
+ -10000 550 245 413 338 638 196 991 987 186
+ -10000 134 64 728 238 213 765 876 4 979
+ -10000 267 3 246 681 405 96 487 344 528
+ -10000 954 960 896 30 502 843 593 9 454
+ -10000 831 514 319 929 972 413 60 607 684
+ -10000 794 367 859 503 888 264 215 336 690
+ -10000 469 326 298 269 606 281 984 761 732
+ -10000 469 50 783 605 861 694 654 909 414
+ -10000 679 152 287 322 592 690 57 47 827
+ -10000 585 541 122 773 666 521 27 470 818
+ -10000 581 874 357 103 309 91 396 913 581
+ -10000 872 101 5 381 351 44 440 174 277
+ -10000 530 333 897 999 586 64 318 495 413
+ -10000 829 893 560 836 459 135 344 98 737
+ -10000 381 387 740 934 786 415 122 693 508
+ -10000 397 37 903 411 594 363 18 979 297
+ -10000 63 77 776 566 149 906 896 738 489
+ -10000 700 404 505 234 486 19 189 680 602
+ -10000 413 920 118 737 880 518 271 190 472
+ -10000 425 750 637 728 973 572 413 224 497
+ -10000 632 744 967 336 535 130 216 959 602
+ -10000 106 312 595 223 90 621 683 958 6
+ -10000 130 605 853 300 388 399 668 918 166
+ -10000 183 348 328 990 82 350 566 919 197
+ -10000 838 103 126 297 315 220 814 946 201
+ -10000 884 273 309 313 201 112 239 231 665
+ -10000 117 587 584 248 491 732 528 243 205
+ -10000 24 406 307 781 778 617 277 343 117
+ -10000 301 168 470 123 527 397 802 366 780
+ -10000 631 972 726 496 799 503 630 763 409
+ -10000 502 747 73 584 88 797 350 746 458
+ -10000 301 481 897 524 959 864 744 75 694
+ -10000 576 82 239 248 964 384 947 413 302
+ -10000 315 339 708 605 810 334 236 935 449
+ -10000 515 138 994 293 117 142 787 533 122
+ -10000 78 317 552 287 957 72 5 285 546
+ -10000 352 598 151 310 516 62 718 36 854
+ -10000 854 813 689 188 603 510 212 685 256
+ -10000 267 435 795 774 919 715 565 696 778
+ -10000 586 634 601 34 687 768 823 785 753
+ -10000 950 925 278 254 42 358 318 477 646
+ -10000 604 892 676 447 152 500 864 792 91
+ -10000 99 872 384 946 608 334 245 63 656
+ -10000 579 835 581 320 372 822 390 593 347
+ -10000 931 332 311 594 907 95 861 766 623
+ -10000 737 211 541 757 38 366 148 957 776
+ -10000 175 197 880 780 782 854 959 925 129
+ -10000 297 754 866 46 414 12 411 111 28
+ -10000 719 267 327 852 876 984 737 596 45
+ -10000 782 59 744 731 189 304 563 666 176
+ -10000 409 408 556 535 608 523 193 431 773
+ -10000 474 323 961 496 243 788 8 337 686
+ -10000 99 365 11 398 856 835 371 568 603
+ -10000 648 336 891 320 220 939 291 90 865
+ -10000 87 64 486 483 896 415 110 135 47
+ -10000 563 135 778 428 387 90 518 377 378
+ -10000 557 693 311 638 57 961 167 90 26
+ -10000 818 28 893 667 682 680 978 428 489
+ -10000 542 52 64 626 525 987 837 113 179
+ -10000 563 449 438 95 659 80 906 25 603
+ -10000 592 267 67 400 929 587 149 512 398
+ -10000 423 57 554 187 977 978 453 858 152
+ -10000 181 479 368 715 856 772 428 628 873
+ -10000 894 329 743 130 183 467 758 759 686
+ -10000 255 398 653 489 587 447 175 981 651
+ -10000 991 20 927 526 636 326 467 769 530
+ -10000 289 320 425 377 282 902 360 138 384
+ -10000 488 540 385 830 402 117 728 820 937
+ -10000 875 642 323 652 91 606 918 772 216
+ -10000 882 616 547 836 673 334 229 196 586
+ -10000 14 274 533 93 530 375 139 374 815
+ -10000 245 882 858 476 987 108 723 719 235
+ -10000 405 793 884 539 621 418 512 35 341
+ -10000 545 272 988 928 507 68 480 725 959
+ -10000 508 988 867 760 310 84 371 541 451
+ -10000 630 422 932 962 252 461 928 967 217
+ -10000 352 795 405 417 154 762 806 844 693
+ -10000 127 221 981 581 275 320 991 261 493
+ -10000 658 414 923 74 742 425 258 901 15
+ -10000 153 792 974 687 269 150 188 152 295
+ -10000 532 859 229 158 227 193 726 372 253
+ -10000 232 634 618 438 263 146 759 278 346
+ -10000 326 1000 775 226 894 208 175 555 204
+ -10000 861 851 790 452 21 798 756 635 492
+ -10000 120 403 714 841 47 68 653 597 883
+ -10000 276 341 743 104 555 235 158 332 25
+ -10000 210 379 167 930 855 158 196 745 515
+ -10000 938 322 972 934 998 187 175 437 421
+ -10000 991 368 363 934 971 726 748 53 791
+ -10000 967 858 966 169 590 193 92 25 691
+ -10000 276 759 897 1000 783 783 7 69 672
+ -10000 988 37 317 81 476 607 537 275 6
+ -10000 410 734 771 237 122 424 283 801 226
+ -10000 306 370 13 884 842 488 268 722 603
+ -10000 100 739 171 274 384 757 729 434 172
+ -10000 384 456 755 244 694 561 84 341 731
+ -10000 647 172 159 885 523 32 25 67 48
+ -10000 197 267 466 138 572 764 761 466 170
+ -10000 358 104 23 290 88 752 998 918 839
+ -10000 577 940 341 906 851 760 352 218 171
+ -10000 792 2 139 309 977 448 808 484 232
+ -10000 714 157 469 339 86 672 723 206 427
+ -10000 433 227 795 498 344 707 296 846 942
+ -10000 951 708 453 864 332 339 901 312 587
+ -10000 703 871 517 825 631 341 896 616 327
+ -10000 663 976 118 795 518 383 668 982 276
+ -10000 554 291 195 37 655 544 233 307 471
+ -10000 708 1000 983 997 363 808 863 654 102
+ -10000 477 282 10 958 968 531 209 844 611
+ -10000 506 437 203 265 137 376 687 482 235
+ -10000 601 103 368 912 549 398 209 114 625
+ -10000 138 509 486 781 950 534 876 527 111
+ -10000 520 790 565 578 177 760 408 93 816
+ -10000 976 554 787 761 165 527 547 744 638
+ -10000 891 207 144 817 574 219 895 968 870
+ -10000 176 292 338 731 968 271 444 229 348
+ -10000 976 482 646 358 657 123 787 604 789
+ -10000 405 976 765 667 41 404 389 596 815
+ -10000 489 820 446 106 56 341 473 612 936
+ -10000 388 400 77 398 993 842 662 348 629
+ -10000 373 821 583 410 865 946 150 996 796
+ -10000 614 11 786 49 52 768 262 3 395
+ -10000 955 43 739 748 700 590 697 890 384
+ -10000 488 194 447 7 417 619 320 28 811
+ -10000 706 326 60 392 563 644 527 234 591
+ -10000 983 311 387 119 940 681 398 783 685
+ -10000 609 931 631 934 444 979 469 545 12
+ -10000 833 487 699 201 238 170 207 135 110
+ -10000 274 230 348 795 561 633 0 278 85
+ -10000 437 83 873 43 343 586 84 450 784
+ -10000 716 963 45 235 641 987 24 163 857
+ -10000 133 744 592 227 540 866 626 170 641
+ -10000 271 262 679 554 986 768 310 619 136
+ -10000 31 973 646 367 439 994 65 896 302
+ -10000 471 762 16 102 110 70 851 244 554
+ -10000 360 181 823 667 380 619 438 392 998
+ -10000 35 427 127 224 531 373 952 576 483
+ -10000 509 759 904 93 580 517 373 810 127
+ -10000 830 7 987 425 274 760 65 718 995
+ -10000 580 548 123 652 851 242 612 168 372
+ -10000 452 130 256 931 68 96 353 345 662
+ -10000 772 838 69 993 819 829 828 934 885
+ -10000 861 247 322 469 480 196 296 524 571
+ -10000 819 108 437 241 471 146 463 125 646
+ -10000 474 82 501 357 402 443 555 561 591
+ -10000 471 711 374 878 889 201 472 63 42
+ -10000 293 700 880 706 641 427 945 849 26
+ -10000 167 382 665 2 516 723 88 768 603
+ -10000 100 762 774 419 75 136 653 302 133
+ -10000 293 352 105 944 162 112 172 640 403
+ -10000 139 121 336 706 137 592 953 209 902
+ -10000 460 15 799 559 987 170 637 134 769
+ -10000 475 277 497 67 847 62 364 852 879
+ -10000 127 825 766 930 661 983 391 187 572
+ -10000 437 709 404 165 867 32 787 268 553
+ -10000 480 168 175 988 967 455 178 66 272
+ -10000 203 958 953 848 311 827 430 660 903
+ -10000 309 818 732 655 351 738 81 242 858
+ -10000 140 924 49 448 580 438 950 186 274
+ -10000 383 512 257 182 339 475 694 990 571
+ -10000 196 242 34 43 716 515 68 992 197
+ -10000 747 247 228 378 830 816 321 370 939
+ -10000 440 140 974 570 819 674 612 323 583
+ -10000 552 955 393 42 172 908 451 591 962
+ -10000 16 778 556 432 778 279 954 848 699
+ -10000 671 132 113 433 29 234 23 290 650
+ -10000 231 190 790 486 972 601 82 930 441
+ -10000 287 907 628 891 322 261 572 870 883
+ -10000 60 266 748 386 625 295 627 428 914
+ -10000 648 224 23 785 171 937 768 612 679
+ -10000 82 516 941 104 97 624 17 664 216
+ -10000 239 203 970 619 396 991 56 869 551
+ -10000 579 139 975 826 95 616 674 773 834
+ -10000 430 318 213 720 287 747 849 395 407
+ -10000 519 983 665 531 418 469 397 242 2
+ -10000 677 948 777 827 934 745 857 373 293
+ -10000 340 675 430 588 875 87 402 111 282
+ -10000 643 150 349 503 510 531 995 154 396
+ -10000 570 681 970 209 551 167 383 843 87
+ -10000 115 390 984 402 947 822 859 433 760
+ -10000 776 176 670 27 850 709 977 250 955
+ -10000 354 429 688 406 484 253 303 67 736
+ -10000 842 174 6 575 579 933 563 93 541
+ -10000 925 40 684 928 749 684 224 355 214
+ -10000 221 739 406 512 727 506 914 402 31
+ -10000 720 167 544 348 852 953 848 247 346
+ -10000 358 402 551 941 409 580 624 984 880
+ -10000 844 983 4 290 312 538 260 635 493
+ -10000 91 386 237 51 893 88 626 770 488
+ -10000 369 982 640 24 2 305 641 457 736
+ -10000 44 742 885 179 562 362 6 48 684
+ -10000 786 156 887 213 745 500 957 216 84
+ -10000 937 343 498 991 157 552 42 502 355
+ -10000 628 453 389 434 447 11 438 960 739
+ -10000 835 109 64 187 727 417 705 1000 78
+ -10000 311 729 226 754 295 442 575 550 524
+ -10000 576 441 540 525 477 542 350 616 154
+ -10000 623 172 443 586 763 865 589 881 373
+ -10000 662 742 861 764 57 969 116 726 928
+ -10000 80 953 614 624 886 425 313 572 813
+ -10000 280 657 17 423 991 353 23 911 808
+ -10000 631 510 313 914 997 334 107 636 323
+ -10000 214 422 674 722 447 874 633 572 415
+ -10000 143 947 291 744 836 743 852 268 318
+ -10000 695 716 294 358 461 92 72 86 721
+ -10000 761 167 805 249 46 664 721 181 375
+ -10000 432 601 741 275 711 640 926 227 843
+ -10000 660 920 229 140 353 241 356 541 842
+ -10000 910 970 209 517 962 143 340 236 748
+ -10000 260 454 216 196 403 962 39 327 380
+ -10000 292 819 9 798 987 621 423 200 381
+ -10000 457 431 353 910 74 82 79 492 787
+ -10000 437 195 991 962 61 668 638 161 755
+ -10000 847 9 661 610 799 184 280 327 674
+ -10000 431 94 471 406 327 611 626 46 375
+ -10000 17 741 746 932 203 499 774 34 352
+ -10000 1 742 527 744 922 409 549 272 711
+ -10000 830 374 223 618 526 257 846 8 998
+ -10000 888 926 683 678 608 547 90 730 291
+ -10000 614 576 282 720 558 516 179 515 801
+ -10000 856 215 550 225 607 319 664 721 829
+ -10000 329 49 168 298 594 875 935 9 398
+ -10000 755 254 129 883 5 442 11 357 742
+ -10000 184 891 269 94 48 115 634 664 16
+ -10000 935 203 554 770 901 320 271 498 304
+ -10000 808 479 437 348 385 577 318 868 443
+ -10000 358 425 110 445 554 975 474 950 488
+ -10000 115 449 728 299 611 251 900 582 254
+ -10000 272 990 936 569 743 580 958 905 964
+ -10000 414 473 290 959 8 820 599 693 840
+ -10000 175 348 511 205 511 999 613 302 874
+ -10000 553 233 371 872 882 424 589 791 442
+ -10000 42 22 970 984 622 18 88 536 270
+ -10000 93 528 143 441 224 247 183 284 608
+ -10000 973 415 887 459 181 20 752 333 715
+ -10000 595 223 633 718 160 415 259 35 579
+ -10000 792 660 738 398 423 684 676 711 1
+ -10000 198 900 168 919 64 720 570 762 135
+ -10000 372 859 501 796 170 668 831 973 240
+ -10000 179 72 674 941 210 464 487 364 996
+ -10000 509 524 922 236 946 455 986 582 0
+ -10000 628 48 254 982 335 474 997 499 140
+ -10000 115 7 298 716 94 433 813 256 940
+ -10000 93 775 297 731 870 484 230 747 878
+ -10000 55 133 618 225 257 925 672 284 191
+ -10000 494 51 948 336 434 799 899 642 472
+ -10000 588 772 899 356 864 720 379 315 842
+ -10000 439 679 533 773 500 817 719 732 556
+ -10000 121 978 160 989 932 130 414 242 599
+ -10000 980 315 681 897 811 11 444 451 341
+ -10000 40 927 458 136 589 713 152 285 179
+ -10000 361 972 821 235 653 883 394 333 607
+ -10000 995 203 371 197 360 254 558 896 871
+ -10000 582 113 910 701 432 783 356 947 459
+ -10000 621 175 551 229 991 524 420 183 174
+ -10000 329 960 552 542 618 656 829 335 29
+ -10000 23 648 482 741 735 693 568 584 15
+ -10000 788 329 919 722 369 70 929 518 465
+ -10000 314 559 58 236 95 950 555 466 873
+ -10000 443 272 379 701 667 892 553 757 853
+ -10000 654 625 131 765 699 262 78 540 671
+ -10000 345 570 226 290 291 570 45 217 953
+ -10000 29 548 487 545 772 671 316 173 604
+ -10000 363 127 406 413 347 417 100 282 722
+ -10000 850 703 243 871 287 537 614 352 871
+ -10000 135 416 39 722 869 988 12 805 235
+ -10000 950 410 195 963 694 802 608 684 465
+ -10000 742 705 145 768 516 7 935 64 12
+ -10000 16 998 53 280 775 703 385 225 580
+ -10000 403 184 474 840 535 448 296 451 880
+ -10000 195 428 290 270 144 667 836 746 118
+ -10000 253 228 525 831 140 325 620 113 614
+ -10000 930 431 424 683 884 783 348 20 279
+ -10000 134 134 277 418 609 204 481 981 48
+ -10000 611 225 431 434 176 475 145 190 91
+ -10000 461 846 875 465 457 541 326 225 310
+ -10000 376 150 899 287 138 306 29 332 457
+ -10000 245 48 387 211 111 764 37 460 992
+ -10000 838 322 994 498 134 126 215 301 533
+ -10000 496 120 368 498 873 373 719 781 593
+ -10000 661 673 142 317 483 564 259 628 843
+ -10000 608 706 90 187 607 795 857 710 657
+ -10000 296 588 380 540 252 82 382 654 400
+ -10000 811 728 348 570 320 215 518 490 549
+ -10000 613 263 717 880 452 855 787 451 95
+ -10000 675 110 611 993 527 521 764 470 378
+ -10000 767 64 833 355 752 680 914 682 863
+ -10000 745 214 36 46 356 682 799 388 489
+ -10000 262 657 407 418 675 627 591 519 925
+ -10000 915 162 225 382 970 205 152 560 683
+ -10000 781 757 701 228 540 410 118 997 377
+ -10000 999 200 126 897 165 455 56 990 936
+ -10000 424 84 432 539 4 303 551 122 737
+ -10000 943 844 978 404 981 50 75 790 460
+ -10000 17 344 380 743 363 120 887 8 598
+ -10000 324 930 929 873 164 27 775 719 687
+ -10000 740 741 872 352 290 690 547 562 333
+ -10000 463 86 682 407 98 783 696 910 753
+ -10000 893 96 300 33 462 419 971 205 99
+ -10000 196 837 373 895 965 126 449 23 834
+ -10000 671 219 454 875 774 378 327 745 515
+ -10000 500 536 737 350 426 608 25 338 955
+ -10000 984 65 989 102 135 906 890 350 626
+ -10000 603 435 42 879 624 582 590 143 20
+ -10000 808 248 419 258 368 351 735 508 216
+ -10000 775 448 945 840 372 133 263 999 560
+ -10000 815 676 397 578 760 773 98 718 559
+ -10000 842 223 299 628 426 613 537 730 278
+ -10000 60 180 334 151 322 414 365 173 209
+ -10000 514 578 212 326 158 282 111 695 868
+ -10000 551 636 234 608 621 614 301 942 506
+ -10000 889 938 800 1000 90 750 898 431 456
+ -10000 855 138 845 575 457 998 919 829 744
+ -10000 928 35 329 338 351 412 452 145 69
+ -10000 980 486 417 648 414 745 126 304 35
+ -10000 152 248 296 373 819 7 9 302 729
+ -10000 590 844 377 720 789 165 745 79 449
+ -10000 0 752 865 17 495 736 480 317 389
+ -10000 852 946 742 241 750 375 18 304 843
+ -10000 801 209 250 634 11 528 957 826 367
+ -10000 555 55 609 781 200 925 844 837 622
+ -10000 70 292 284 240 221 540 957 727 581
+ -10000 752 800 294 624 302 960 109 143 372
+ -10000 641 461 761 289 654 569 538 660 203
+ -10000 751 880 917 783 474 262 678 168 396
+ -10000 197 520 354 659 601 732 991 281 575
+ -10000 397 204 317 533 654 708 449 322 871
+ -10000 785 328 445 100 299 104 3 166 217
+ -10000 525 786 494 231 399 413 680 523 227
+ -10000 867 987 906 852 928 945 870 847 553
+ -10000 704 770 127 389 570 300 454 253 968
+ -10000 797 290 86 325 962 81 148 426 722
+ -10000 592 41 688 206 523 642 403 539 330
+ -10000 769 624 746 943 241 113 38 118 552
+ -10000 974 62 11 541 181 498 716 744 376
+ -10000 866 586 260 688 987 217 768 105 384
+ -10000 935 378 144 209 456 540 846 536 50
+ -10000 938 571 70 496 237 397 888 244 46
+ -10000 608 408 411 928 766 126 575 18 290
+ -10000 982 22 630 890 282 834 497 217 440
+ -10000 163 693 962 977 820 385 940 902 641
+ -10000 559 824 262 617 367 92 690 104 581
+ -10000 563 138 325 68 960 740 720 328 663
+ -10000 853 86 841 324 458 683 605 707 603
+ -10000 783 291 723 833 199 15 762 851 139
+ -10000 306 19 881 662 635 753 134 202 549
+ -10000 260 494 382 684 665 705 577 240 322
+ -10000 492 401 83 759 562 527 172 480 784
+ -10000 30 167 678 10 670 767 220 628 723
+ -10000 416 665 728 226 727 299 744 380 642
+ -10000 309 688 271 333 529 372 35 515 305
+ -10000 331 105 805 795 106 374 250 496 410
+ -10000 580 824 593 343 16 233 294 677 924
+ -10000 912 497 106 433 695 788 534 668 37
+ -10000 686 314 321 161 952 46 699 354 383
+ -10000 694 366 919 436 525 254 209 993 272
+ -10000 27 438 580 923 386 163 536 969 419
+ -10000 946 289 773 258 832 549 628 27 45
+ -10000 962 822 199 566 548 878 283 93 902
+ -10000 868 618 856 340 324 962 643 988 729
+ -10000 863 642 143 156 918 798 960 438 968
+ -10000 672 409 391 16 215 320 325 709 493
+ -10000 821 119 758 140 495 957 518 99 193
+ -10000 155 511 210 60 188 479 604 321 892
+ -10000 81 264 658 455 280 32 49 342 394
+ -10000 334 963 206 884 949 33 461 881 18
+ -10000 176 556 239 299 94 93 573 730 137
+ -10000 524 38 748 707 18 989 989 44 409
+ -10000 947 68 612 318 430 574 297 131 485
+ -10000 928 549 934 411 733 286 505 564 654
+ -10000 336 555 533 418 412 562 13 117 388
+ -10000 162 823 80 695 305 253 66 490 919
+ -10000 656 2 973 386 868 511 788 385 409
+ -10000 794 363 460 865 304 707 807 983 457
+ -10000 554 410 435 417 251 907 328 708 131
+ -10000 159 439 730 364 745 63 965 477 336
+ -10000 751 823 458 626 281 596 3 93 21
+ -10000 27 147 622 6 585 241 272 241 220
+ -10000 153 569 314 407 440 742 80 931 652
+ -10000 329 280 832 996 809 958 84 340 816
+ -10000 123 373 409 819 1 84 918 789 243
+ -10000 314 251 483 463 148 477 568 15 60
+ -10000 179 5 879 302 240 827 181 766 977
+ -10000 396 147 847 555 770 626 473 21 900
+ -10000 932 477 258 465 913 45 136 883 420
+ -10000 320 161 619 943 425 197 232 497 466
+ -10000 506 701 729 663 903 584 212 231 400
+ -10000 326 453 391 430 636 829 508 57 533
+ -10000 422 271 120 159 245 876 499 659 731
+ -10000 869 67 114 871 268 973 980 209 84
+ -10000 588 354 463 886 414 681 514 527 15
+ -10000 612 177 286 752 586 377 775 248 721
+ -10000 636 888 769 240 304 470 178 355 123
+ -10000 669 802 354 637 285 602 699 53 275
+ -10000 765 680 427 624 321 125 86 480 746
+ -10000 110 170 825 327 481 319 852 842 22
+ -10000 667 604 422 336 148 863 858 805 301
+ -10000 166 531 908 356 742 592 884 940 546
+ -10000 209 838 397 936 222 425 875 957 904
+ -10000 144 996 610 158 736 498 933 541 955
+ -10000 635 412 369 141 347 213 99 405 998
+ -10000 514 654 348 454 781 317 660 29 63
+ -10000 881 165 907 210 310 951 627 885 801
+ -10000 440 429 19 94 930 5 570 886 753
+ -10000 974 889 404 539 858 238 790 27 16
+ -10000 787 690 574 315 452 173 412 707 286
+ -10000 359 877 268 966 823 362 519 172 123
+ -10000 354 952 790 166 184 938 946 456 113
+ -10000 148 889 577 645 48 633 323 563 537
+ -10000 149 515 36 375 102 528 770 87 363
+ -10000 138 513 336 732 401 170 138 379 881
+ -10000 770 63 889 197 973 877 430 974 462
+ -10000 664 374 897 127 393 389 386 719 802
+ -10000 552 448 497 488 150 141 120 115 724
+ -10000 205 768 557 594 428 430 66 902 47
+ -10000 520 186 749 405 834 773 192 941 892
+ -10000 288 305 801 971 594 318 338 594 237
+ -10000 643 373 213 215 983 482 864 483 816
+ -10000 361 896 929 867 34 640 440 222 639
+ -10000 242 724 195 829 379 3 646 79 221
+ -10000 328 807 533 229 20 113 334 530 411
+ -10000 803 855 34 9 209 938 192 472 440
+ -10000 760 114 390 452 156 872 802 912 72
+ -10000 140 921 327 650 276 45 946 240 299
+ -10000 812 637 784 441 172 521 903 477 729
+ -10000 183 76 785 603 687 637 472 283 137
+ -10000 354 902 526 712 526 8 929 596 439
+ -10000 584 23 545 126 831 518 392 727 329
+ -10000 960 861 193 29 75 981 264 971 420
+ -10000 80 534 865 317 589 929 432 765 171
+ -10000 83 354 365 473 67 452 880 847 443
+ -10000 519 815 726 491 619 193 125 711 654
+ -10000 636 276 809 151 800 683 559 74 982
+ -10000 621 241 974 339 529 400 122 797 111
+ -10000 277 753 282 549 297 938 473 655 941
+ -10000 787 731 351 843 506 760 487 206 65
+ -10000 397 356 758 439 717 549 361 697 811
+ -10000 952 762 288 750 758 4 540 571 394
+ -10000 39 428 303 561 155 819 840 969 76
+ -10000 208 115 879 933 927 267 672 203 928
+ -10000 901 561 380 806 382 104 936 349 988
+ -10000 194 231 382 235 624 347 305 30 102
+ -10000 540 974 106 36 603 770 478 54 781
+ -10000 3 845 447 323 312 87 287 626 134
+ -10000 841 238 311 384 441 416 569 110 34
+ -10000 832 657 362 526 969 939 795 417 937
+ -10000 737 379 73 880 172 99 217 994 554
+ -10000 72 777 277 371 737 840 201 566 358
+ -10000 864 133 119 839 850 544 713 344 966
+ -10000 71 136 746 853 92 200 466 49 810
+ -10000 865 370 248 976 452 508 708 930 89
+ -10000 611 335 51 34 612 406 751 438 418
+ -10000 914 556 587 714 526 436 34 408 385
+ -10000 48 567 795 724 250 915 568 377 325
+ -10000 735 641 36 690 453 501 891 142 707
+ -10000 111 607 795 814 51 435 237 481 964
+ -10000 583 849 447 562 981 196 996 161 734
+ -10000 696 681 208 721 744 117 591 646 782
+ -10000 801 319 671 670 813 343 969 564 933
+ -10000 724 432 451 685 764 766 952 109 181
+ -10000 797 60 720 560 474 699 551 800 274
+ -10000 976 260 938 259 994 887 387 671 86
+ -10000 726 87 178 851 978 979 692 739 59
+ -10000 285 389 510 308 613 367 247 754 56
+ -10000 741 754 478 214 535 672 376 941 986
+ -10000 708 583 624 626 280 742 818 938 479
+ -10000 407 676 494 595 365 704 455 989 756
+ -10000 258 533 754 991 88 721 833 99 205
+ -10000 52 494 380 865 766 199 382 106 985
+ -10000 237 382 681 104 13 248 450 643 261
+ -10000 740 180 554 586 505 214 302 188 202
+ -10000 958 958 700 400 896 718 493 52 927
+ -10000 778 686 394 489 318 214 210 387 210
+ -10000 911 392 71 971 741 278 783 586 98
+ -10000 528 443 128 616 707 545 291 580 208
+ -10000 65 492 164 797 932 929 269 769 470
+ -10000 68 259 598 501 445 55 706 811 42
+ -10000 391 124 516 957 684 360 449 122 468
+ -10000 898 328 421 915 779 145 315 196 687
+ -10000 578 79 114 944 692 697 67 746 45
+ -10000 407 322 29 274 695 370 609 202 40
+ -10000 643 300 989 682 945 375 542 846 397
+ -10000 475 60 790 657 34 256 806 110 277
+ -10000 446 360 667 295 727 748 34 739 359
+ -10000 191 947 206 349 731 177 367 274 733
+ -10000 132 585 50 527 690 148 944 880 178
+ -10000 926 246 374 869 899 13 441 508 88
+ -10000 719 150 970 558 794 860 196 191 510
+ -10000 297 637 482 251 342 658 333 611 863
+ -10000 532 598 996 500 625 891 847 544 65
+ -10000 161 2 252 680 730 331 356 895 660
+ -10000 213 842 778 3 271 288 411 729 794
+ -10000 480 74 905 107 292 866 774 717 613
+ -10000 47 605 70 830 924 606 494 437 638
+ -10000 838 794 97 91 455 273 880 746 831
+ -10000 235 386 532 988 889 86 133 476 486
+ -10000 586 402 389 422 455 786 477 650 332
+ -10000 699 34 578 648 182 252 516 608 622
+ -10000 306 448 912 903 661 275 631 530 659
+ -10000 827 725 822 983 27 868 86 57 986
+ -10000 530 998 153 510 312 171 888 195 195
+ -10000 57 509 365 160 476 798 557 216 523
+ -10000 831 23 880 197 353 261 144 78 939
+ -10000 302 970 802 461 861 561 533 253 32
+ -10000 705 645 300 540 47 631 672 838 197
+ -10000 892 487 52 358 890 126 571 43 786
+ -10000 117 879 60 158 768 275 544 495 936
+ -10000 216 409 233 267 18 132 215 338 571
+ -10000 607 505 928 926 931 423 430 202 152
+ -10000 933 323 861 4 532 52 787 278 242
+ -10000 347 710 57 60 637 104 196 962 863
+ -10000 96 339 717 839 447 369 584 793 855
+ -10000 442 316 501 947 609 599 840 463 123
+ -10000 168 798 798 304 955 946 749 986 301
+ -10000 806 367 500 494 196 178 440 748 573
+ -10000 917 265 452 704 271 656 935 671 125
+ -10000 400 490 470 26 759 897 15 264 760
+ -10000 736 754 373 397 123 490 311 851 832
+ -10000 280 779 459 413 171 79 578 213 232
+ -10000 240 620 597 352 540 478 905 198 748
+ -10000 457 961 838 622 716 461 398 874 995
+ -10000 482 204 291 437 344 959 566 225 381
+ -10000 409 176 816 769 290 19 325 705 971
+ -10000 129 233 986 619 499 776 807 98 155
+ -10000 537 548 806 387 633 484 214 682 960
+ -10000 195 857 123 831 573 930 414 378 17
+ -10000 656 145 467 754 157 760 857 135 751
+ -10000 626 389 826 513 81 334 845 77 802
+ -10000 653 314 780 402 307 714 252 384 880
+ -10000 53 868 340 965 848 448 452 189 912
+ -10000 165 118 750 323 486 142 213 840 288
+ -10000 548 421 924 489 758 24 263 347 374
+ -10000 956 265 114 153 367 602 448 987 946
+ -10000 981 255 490 854 628 320 49 359 350
+ -10000 147 383 294 87 26 207 378 421 187
+ -10000 549 107 197 472 746 843 761 830 774
+ -10000 762 594 554 29 987 248 1000 946 95
+ -10000 505 541 428 782 662 471 574 609 134
+ -10000 97 463 716 959 447 585 499 733 128
+ -10000 491 464 311 468 57 728 358 425 765
+ -10000 490 579 626 260 268 409 291 61 155
+ -10000 3 119 143 430 284 888 976 777 719
+ -10000 900 703 976 453 672 48 161 134 892
+ -10000 462 717 457 857 215 36 8 555 913
+ -10000 27 786 659 680 607 878 754 505 269
+ -10000 65 478 255 857 2 935 279 738 781
+ -10000 315 917 481 154 817 652 711 909 121
+ -10000 727 433 734 437 257 532 353 459 953
+ -10000 863 924 373 792 960 999 747 669 165
+ -10000 4 144 799 919 230 494 127 316 414
+ -10000 902 861 573 593 485 834 581 237 618
+ -10000 179 239 958 821 792 914 528 794 473
+ -10000 720 243 928 942 405 387 828 462 544
+ -10000 562 173 466 41 761 168 540 402 276
+ -10000 220 220 132 47 352 991 335 505 679
+ -10000 155 743 309 913 819 144 19 887 171
+ -10000 579 662 636 579 754 402 309 739 373
+ -10000 925 220 111 219 910 998 893 273 572
+ -10000 572 208 548 241 968 87 882 401 278
+ -10000 559 375 341 953 362 177 526 674 17
+ -10000 888 738 352 556 994 371 628 790 712
+ -10000 5 819 570 981 114 310 396 218 184
+ -10000 711 820 378 792 678 641 641 943 56
+ -10000 704 582 583 335 249 241 843 842 255
+ -10000 610 993 74 799 477 402 98 38 583
+ -10000 110 269 669 275 726 18 32 675 378
+ -10000 60 840 657 413 626 145 932 773 386
+ -10000 708 243 54 15 701 835 991 961 763
+ -10000 874 605 527 493 946 735 98 872 206
+ -10000 654 424 456 709 804 46 160 882 579
+ -10000 173 463 753 85 180 634 813 833 559
+ -10000 460 751 901 739 617 447 537 275 773
+ -10000 978 239 483 643 293 129 613 461 378
+ -10000 306 295 266 458 486 822 719 355 822
+ -10000 834 331 323 693 344 133 427 405 881
+ -10000 735 147 101 23 745 414 134 35 501
+ -10000 377 556 783 143 859 699 474 242 449
+ -10000 455 655 598 941 814 591 791 216 249
+ -10000 617 800 60 841 0 661 253 576 984
+ -10000 355 330 303 969 613 623 37 864 922
+ -10000 127 449 995 607 457 972 554 314 565
+ -10000 620 983 518 69 845 321 765 76 448
+ -10000 738 30 152 833 589 327 265 785 260
+ -10000 885 768 177 433 586 15 529 424 495
+ -10000 278 444 320 394 178 372 33 114 771
+ -10000 562 572 45 429 889 212 715 12 453
+ -10000 568 49 128 543 619 291 310 102 63
+ -10000 58 661 519 731 376 394 705 607 521
+ -10000 443 752 834 708 758 242 650 848 67
+ -10000 515 675 824 869 747 343 210 127 493
+ -10000 132 965 375 112 543 370 368 501 336
+ -10000 362 928 803 910 676 599 548 155 302
+ -10000 772 695 654 130 952 518 685 358 616
+ -10000 705 88 10 184 285 284 273 386 431
+ -10000 824 291 321 398 228 642 126 18 221
+ -10000 731 942 859 501 627 652 840 808 216
+ -10000 929 268 70 605 414 399 409 755 610
+ -10000 15 664 360 361 562 631 75 231 778
+ -10000 405 128 601 557 788 943 817 916 747
+ -10000 85 333 457 448 960 893 191 741 457
+ -10000 120 524 55 1 341 914 338 551 57
+ -10000 86 161 239 142 287 503 544 67 780
+ -10000 134 371 675 72 868 46 987 37 774
+ -10000 158 447 349 813 110 319 985 360 923
+ -10000 794 399 134 676 686 474 564 248 231
+ -10000 388 97 977 778 909 346 875 525 10
+ -10000 964 845 22 606 508 50 294 690 640
+ -10000 439 101 332 520 248 992 529 392 986
+ -10000 860 297 688 161 689 19 659 744 789
+ -10000 755 487 837 383 268 628 476 690 966
+ -10000 169 643 960 291 627 583 929 817 995
+ -10000 506 29 106 165 350 20 890 419 959
+ -10000 898 804 258 137 530 911 895 801 729
+ -10000 418 959 567 363 717 597 990 848 992
+ -10000 201 291 98 402 6 314 220 835 639
+ -10000 169 810 847 814 424 97 73 381 610
+ -10000 790 677 119 247 339 197 653 653 709
+ -10000 808 2 710 871 897 938 572 769 459
+ -10000 509 43 814 747 949 433 710 7 939
+ -10000 832 504 850 455 853 131 124 618 419
+ -10000 431 689 922 644 593 853 673 123 101
+ -10000 91 425 275 355 433 726 803 720 818
+ -10000 109 551 829 80 696 186 575 238 73
+ -10000 137 404 89 452 884 46 746 638 670
+ -10000 251 814 387 217 774 999 969 116 676
+ -10000 75 794 702 671 127 661 163 539 488
+ -10000 159 356 949 458 284 481 418 783 886
+ -10000 220 79 655 502 861 616 734 738 141
+ -10000 502 97 294 195 34 885 105 3 374
+ -10000 109 87 177 893 83 670 593 322 494
+ -10000 552 210 676 676 303 382 891 406 707
+ -10000 692 559 883 662 982 598 868 349 159
+ -10000 117 733 440 400 364 524 863 73 260
+ -10000 15 933 726 240 478 575 784 456 862
+ -10000 686 525 140 369 15 292 748 577 474
+ -10000 466 647 850 649 106 76 540 616 6
+ -10000 198 507 441 426 662 869 849 735 41
+ -10000 952 928 867 304 407 488 837 23 519
+ -10000 639 577 912 173 314 717 599 369 586
+ -10000 254 824 296 372 474 174 295 628 28
+ -10000 689 454 654 784 577 332 812 614 879
+ -10000 466 598 899 95 91 914 302 963 33
+ -10000 276 847 506 328 420 712 372 614 144
+ -10000 348 688 315 120 326 662 657 886 764
+ -10000 341 880 314 655 373 304 71 335 892
+ -10000 390 608 517 849 681 411 484 120 328
+ -10000 550 110 538 416 797 465 952 211 78
+ -10000 692 53 782 813 343 628 934 802 627
+ -10000 447 901 584 304 656 108 788 506 308
+ -10000 89 293 294 411 108 346 57 919 687
+ -10000 636 808 495 305 44 153 768 957 964
+ -10000 623 873 71 622 394 666 624 123 235
+ -10000 70 809 338 412 362 236 279 145 999
+ -10000 624 450 946 862 472 59 641 365 47
+ -10000 669 259 634 704 464 340 225 571 103
+ -10000 141 7 306 874 931 742 490 321 980
+ -10000 808 116 99 63 827 883 250 866 750
+ -10000 196 445 768 929 634 957 992 749 36
+ -10000 980 373 785 752 147 649 38 725 998
+ -10000 919 491 340 628 385 958 540 279 999
+ -10000 146 259 473 729 730 305 67 188 378
+ -10000 341 343 579 115 82 493 774 706 698
+ -10000 646 130 896 462 499 331 236 26 168
+ -10000 143 567 34 394 691 377 298 810 708
+ -10000 945 77 207 760 741 389 422 755 652
+ -10000 499 763 18 696 38 222 93 563 414
+ -10000 307 36 653 890 524 996 908 694 587
+ -10000 799 909 369 361 709 57 126 133 591
+ -10000 225 166 348 567 521 894 636 148 290
+ -10000 544 413 684 798 443 48 82 743 807
+ -10000 293 778 603 221 998 443 22 288 910
+ -10000 85 785 295 380 635 452 381 901 686
+ -10000 614 77 806 144 538 284 281 231 154
+ -10000 936 146 866 905 163 542 152 994 21
+ -10000 396 728 802 690 330 115 374 725 339
+ -10000 896 307 876 391 624 949 932 798 263
+ -10000 852 33 706 896 265 557 232 828 133
+ -10000 62 692 23 39 797 389 395 230 135
+ -10000 577 181 62 454 173 986 48 965 749
+ -10000 265 794 573 674 535 611 656 287 342
+ -10000 908 539 437 833 432 577 75 496 913
+ -10000 423 976 169 631 764 976 343 865 303
+ -10000 315 341 563 710 765 34 324 221 262
+ -10000 44 593 109 232 372 604 84 482 804
+ -10000 973 912 606 502 633 241 906 338 818
+ -10000 547 264 540 35 141 103 160 843 910
+ -10000 583 536 671 386 350 100 959 612 885
+ -10000 857 95 332 242 988 513 616 11 555
+ -10000 387 231 183 451 393 85 766 252 160
+ -10000 372 469 487 362 953 462 528 171 222
+ -10000 630 856 199 214 345 171 736 560 660
+ -10000 107 375 128 394 170 346 738 234 601
+ -10000 142 378 728 209 427 953 20 868 279
+ -10000 434 699 178 191 506 303 723 605 334
+ -10000 748 469 739 763 476 192 711 23 879
+ -10000 521 229 151 847 857 431 297 682 715
+ -10000 527 249 38 926 972 177 541 65 534
+ -10000 130 522 375 977 24 489 842 678 943
+ -10000 633 243 490 703 209 626 884 928 504
+ -10000 346 565 791 909 486 375 202 849 158
+ -10000 134 755 336 475 479 284 940 110 924
+ -10000 558 956 330 102 562 674 696 730 178
+ -10000 586 781 935 660 328 456 401 518 647
+ -10000 922 300 857 570 479 850 890 213 239
+ -10000 158 922 113 603 742 678 190 200 587
+ -10000 355 136 904 102 209 691 684 516 343
+ -10000 452 687 484 889 701 707 260 752 879
+ -10000 317 735 579 380 791 818 461 225 228
+ -10000 907 157 273 751 20 538 680 795 760
+ -10000 736 365 658 294 208 311 24 48 6
+ -10000 230 662 108 941 195 785 326 228 975
+ -10000 238 99 656 557 346 515 942 665 946
+ -10000 364 551 938 16 126 849 618 671 472
+ -10000 599 568 861 336 496 137 375 855 391
+ -10000 520 559 253 297 122 433 923 848 494
+ -10000 244 956 734 823 242 636 542 517 184
+ -10000 665 404 473 319 198 871 524 972 463
+ -10000 521 847 848 679 635 391 642 157 215
+ -10000 708 673 355 996 11 271 498 9 721
+ -10000 230 561 892 161 1000 272 494 599 255
+ -10000 471 180 496 937 220 677 596 458 456
+ -10000 372 447 54 841 386 313 698 879 727
+ -10000 301 853 407 316 489 229 103 468 130
+ -10000 533 537 78 90 31 296 342 250 607
+ -10000 235 614 476 105 828 273 154 445 961
+ -10000 647 958 434 986 456 839 9 158 955
+ -10000 693 652 910 270 561 594 707 489 430
+ -10000 370 812 866 66 784 496 524 370 328
+ -10000 945 785 770 659 783 783 589 250 434
+ -10000 277 235 208 466 718 25 242 316 727
+ -10000 213 948 846 723 972 498 487 902 772
+ -10000 524 245 81 405 232 988 762 543 656
+ -10000 650 256 731 824 216 1 619 539 423
+ -10000 160 492 553 979 535 236 154 877 22
+ -10000 641 145 519 696 541 757 416 284 989
+ -10000 668 460 592 813 219 237 78 414 435
+ -10000 381 37 11 984 823 160 888 590 612
+ -10000 762 346 785 135 800 144 89 489 567
+ -10000 593 660 965 973 482 625 511 142 979
+ -10000 317 353 61 335 839 671 838 393 514
+ -10000 590 989 560 266 298 962 562 837 470
+ -10000 246 389 456 436 356 493 900 220 1000
+ -10000 232 555 887 836 696 759 755 672 616
+ -10000 734 194 311 86 969 654 718 846 472
+ -10000 474 360 189 433 352 705 362 233 20
+ -10000 943 292 358 36 164 59 254 291 808
+ -10000 307 221 957 249 666 551 22 36 473
+ -10000 525 787 179 775 66 297 187 587 592
+ -10000 759 86 533 43 316 592 500 160 303
+ -10000 981 402 574 439 611 372 831 398 1
+ -10000 125 116 567 245 641 121 412 877 690
+ -10000 674 71 935 389 828 467 960 819 94
+ -10000 386 902 740 612 520 191 286 820 340
+ -10000 811 425 58 78 702 801 581 26 76
+ -10000 720 187 397 683 416 158 509 474 202
+ -10000 477 556 714 232 558 787 142 820 210
+ -10000 706 591 529 731 168 249 575 98 389
+ -10000 393 768 650 660 570 612 48 589 814
+ -10000 161 950 267 141 545 868 81 980 880
+ -10000 772 496 416 636 861 153 102 363 160
+ -10000 122 65 702 805 365 874 400 780 964
+ -10000 843 773 156 942 865 256 44 768 892
+ -10000 683 106 378 328 627 391 64 775 91
+ -10000 212 973 124 119 826 698 192 152 876
+ -10000 31 48 12 990 258 400 998 55 735
+ -10000 124 734 945 651 217 382 161 230 644
+ -10000 808 586 504 930 406 572 523 277 661
+ -10000 313 890 338 754 604 330 50 125 865
+ -10000 806 870 160 956 951 224 186 624 820
+ -10000 657 470 746 295 279 80 336 407 487
+ -10000 742 118 881 144 398 783 142 499 629
+ -10000 64 629 114 659 315 445 118 681 582
+ -10000 69 419 406 714 532 697 491 470 570
+ -10000 966 609 609 514 384 24 632 617 17
+ -10000 531 18 214 874 805 507 78 500 307
+ -10000 791 147 665 422 439 496 686 657 492
+ -10000 430 306 451 576 568 81 100 231 818
+ -10000 935 286 187 538 92 744 998 422 946
+ -10000 579 863 599 522 408 816 238 595 478
+ -10000 34 377 216 935 610 969 747 896 15
+ -10000 401 985 463 9 780 408 806 484 862
+ -10000 205 600 818 118 883 270 388 570 150
+ -10000 382 849 651 74 896 74 805 862 95
+ -10000 515 520 805 839 417 390 2 251 241
+ -10000 543 107 152 414 420 699 918 829 671
+ -10000 767 294 694 945 583 441 412 997 882
+ -10000 76 909 765 94 118 139 856 448 753
+ -10000 686 857 784 800 565 713 534 590 379
+ -10000 680 779 614 935 150 327 472 612 758
+ -10000 622 242 594 770 950 981 28 345 392
+ -10000 679 407 135 759 374 642 227 968 510
+ -10000 652 309 816 221 82 139 692 375 49
+ -10000 831 247 361 434 445 654 725 279 650
+ -10000 575 469 632 406 56 761 81 238 717
+ -10000 211 903 591 814 766 620 188 861 80
+ -10000 446 305 887 165 680 154 178 768 74
+ -10000 313 425 507 646 285 441 244 888 340
+ -10000 617 999 252 189 70 913 265 993 812
+ -10000 520 972 192 187 849 593 93 32 855
+ -10000 453 369 87 264 536 928 754 576 655
+ -10000 181 779 995 33 831 827 745 61 26
+ -10000 77 977 798 28 909 212 307 158 672
+ -10000 738 618 24 762 18 248 564 269 45
+ -10000 883 635 64 599 613 232 205 694 287
+ -10000 358 115 355 449 71 768 615 986 139
+ -10000 39 405 843 41 352 531 58 884 118
+ -10000 920 365 683 324 665 235 648 692 528
+ -10000 842 253 998 498 259 736 82 700 731
+ -10000 199 122 756 403 77 69 780 177 278
+ -10000 901 152 719 40 830 347 706 960 662
+ -10000 82 553 261 988 898 739 339 343 13
+ -10000 75 863 79 684 935 566 411 802 360
+ -10000 965 279 547 87 156 167 187 57 888
+ -10000 701 574 975 54 108 535 59 452 318
+ -10000 560 316 558 506 278 780 935 768 86
+ -10000 856 264 452 959 939 799 529 12 710
+ -10000 268 736 746 435 132 424 416 441 151
+ -10000 855 481 239 463 487 835 342 325 359
+ -10000 97 840 499 486 52 508 892 415 265
+ -10000 751 399 812 618 22 673 616 673 927
+ -10000 438 492 542 650 10 799 571 163 724
+ -10000 56 29 570 787 232 147 54 340 706
+ -10000 926 295 373 589 530 629 1 319 378
+ -10000 401 362 923 405 528 655 416 656 608
+ -10000 304 92 739 82 213 101 397 529 104
+ -10000 377 194 583 398 730 964 102 17 17
+ -10000 433 293 762 558 514 344 515 318 750
+ -10000 796 957 561 812 744 470 798 325 735
+ -10000 755 454 4 169 132 860 754 347 185
+ -10000 340 307 378 128 640 164 169 901 450
+ -10000 127 16 732 760 639 666 964 621 296
+ -10000 76 834 987 990 73 125 601 388 707
+ -10000 722 209 174 887 562 460 376 817 132
+ -10000 525 489 177 317 723 479 970 237 535
+ -10000 504 630 653 718 377 315 482 55 218
+ -10000 631 838 12 868 589 279 536 121 91
+ -10000 695 350 867 434 40 424 236 829 723
+ -10000 149 694 348 377 785 793 171 892 515
+ -10000 656 133 348 302 25 543 898 762 984
+ -10000 926 200 54 474 466 842 299 802 68
+ -10000 665 77 743 27 959 295 192 119 281
+ -10000 941 648 97 660 700 562 15 842 349
+ -10000 100 827 179 912 457 57 249 398 48
+ -10000 415 915 229 869 186 89 907 819 305
+ -10000 906 616 462 993 239 873 927 150 595
+ -10000 747 374 834 359 792 9 125 669 697
+ -10000 205 120 633 98 827 661 215 863 276
+ -10000 643 507 601 352 27 986 529 993 49
+ -10000 353 499 448 922 404 437 863 529 950
+ -10000 534 877 819 193 26 808 225 704 500
+ -10000 974 339 815 328 591 445 139 245 998
+ -10000 108 608 166 357 55 562 93 96 511
+ -10000 416 820 40 35 831 801 752 466 480
+ -10000 265 242 36 647 830 851 386 22 235
+ -10000 737 39 304 14 649 76 797 507 386
+ -10000 946 682 750 925 812 817 935 539 984
+ -10000 3 66 671 440 706 110 96 154 164
+ -10000 617 283 422 230 166 825 321 931 73
+ -10000 899 80 775 165 462 498 546 461 336
+ -10000 987 175 495 553 431 913 354 606 113
+ -10000 771 429 521 233 480 546 314 972 752
+ -10000 532 287 69 538 6 319 41 156 328
+ -10000 63 900 735 783 321 172 124 268 176
+ -10000 708 444 27 110 429 723 540 720 457
+ -10000 105 522 134 339 540 772 429 649 954
+ -10000 727 857 657 608 292 904 206 222 335
+ -10000 499 90 248 680 424 361 377 305 673
+ -10000 13 930 285 403 636 678 703 879 850
+ -10000 402 790 245 334 98 1000 503 671 471
+ -10000 441 475 161 344 742 125 117 977 646
+ -10000 152 326 182 77 100 636 798 689 153
+ -10000 856 593 807 975 251 437 883 874 230
+ -10000 484 666 135 97 205 850 285 260 551
+ -10000 761 756 384 667 872 235 408 781 555
+ -10000 1000 134 744 857 325 664 428 651 707
+ -10000 737 288 901 871 356 765 734 925 65
+ -10000 526 556 492 214 596 682 79 807 352
+ -10000 778 825 100 680 591 834 712 70 323
+ -10000 19 88 756 565 43 677 215 950 433
+ -10000 669 296 821 397 855 17 528 617 203
+ -10000 434 645 581 275 518 653 493 739 769
+ -10000 729 217 472 850 39 651 212 979 140
+ -10000 741 611 81 556 500 286 728 583 362
+ -10000 40 62 442 462 944 49 446 282 636
+ -10000 895 457 301 786 157 935 430 459 374
+ -10000 42 839 607 441 69 913 367 305 926
+ -10000 483 530 478 883 522 387 470 87 972
+ -10000 676 760 536 291 12 826 371 584 479
+ -10000 163 241 839 423 494 349 418 245 131
+ -10000 197 987 97 60 112 78 106 958 9
+ -10000 552 602 908 324 736 551 699 758 231
+ -10000 899 985 501 277 310 666 306 546 312
+ -10000 550 728 156 905 544 306 630 763 986
+ -10000 895 30 919 333 96 23 895 497 751
+ -10000 678 25 349 928 46 649 412 975 841
+ -10000 97 135 357 653 351 125 674 955 497
+ -10000 927 852 154 751 864 874 717 782 771
+ -10000 184 393 402 502 342 44 985 227 796
+ -10000 336 90 67 541 884 370 194 311 780
+ -10000 509 758 984 608 301 675 763 345 23
+ -10000 28 707 880 111 369 53 718 648 619
+ -10000 596 665 163 682 367 619 889 629 33
+ -10000 357 721 932 384 258 494 783 678 52
+ -10000 290 190 690 159 962 371 605 743 96
+ -10000 159 466 883 416 586 979 470 648 37
+ -10000 151 543 414 416 49 750 830 24 982
+ -10000 372 320 571 88 825 915 490 838 648
+ -10000 498 345 864 536 971 973 309 704 320
+ -10000 353 745 4 158 19 598 618 367 373
+ -10000 454 595 874 199 629 541 99 901 389
+ -10000 930 512 342 154 896 942 38 677 861
+ -10000 190 835 836 387 675 568 516 156 411
+ -10000 302 576 692 433 841 761 698 562 157
+ -10000 208 84 943 301 138 190 848 221 271
+ -10000 590 323 514 640 152 212 489 679 307
+ -10000 293 878 7 293 812 579 689 258 650
+ -10000 1000 493 981 679 692 647 796 165 218
+ -10000 957 622 49 415 363 71 948 256 948
+ -10000 690 192 528 886 786 809 104 152 346
+ -10000 828 933 604 242 435 418 385 505 242
+ -10000 864 463 78 722 233 331 661 808 533
+ -10000 867 258 402 892 159 375 362 614 796
+ -10000 253 660 664 19 616 818 94 212 362
+ -10000 567 633 617 479 795 998 958 236 349
+ -10000 888 334 927 786 4 340 560 258 58
+ -10000 976 784 983 894 610 769 968 124 797
+ -10000 404 263 878 640 359 787 508 656 551
+ -10000 389 688 277 798 52 823 260 870 263
+ -10000 864 869 740 946 929 794 898 284 329
+ -10000 244 567 185 827 372 615 187 902 866
+ -10000 474 256 593 349 325 410 414 831 684
+ -10000 822 705 434 39 287 362 618 436 468
+ -10000 897 458 74 121 822 610 648 50 246
+ -10000 450 954 390 523 411 899 632 875 426
+ -10000 373 391 187 182 403 562 513 398 470
+ -10000 42 526 675 272 789 958 632 10 392
+ -10000 38 282 708 251 404 153 765 795 775
+ -10000 748 302 177 869 402 572 71 666 486
+ -10000 656 144 361 479 194 392 514 850 376
+ -10000 1 531 353 246 330 939 133 825 284
+ -10000 999 673 903 624 458 779 598 876 717
+ -10000 520 509 549 875 945 581 33 9 241
+ -10000 327 147 963 890 266 414 944 157 327
+ -10000 690 480 215 80 39 13 709 966 306
+ -10000 284 540 864 487 965 676 713 645 128
+ -10000 897 834 890 572 161 717 902 588 729
+ -10000 938 680 101 205 314 249 862 868 626
+ -10000 768 633 386 676 630 891 611 827 986
+ -10000 321 933 961 28 361 610 574 143 360
+ -10000 421 550 358 731 38 840 852 860 627
+ -10000 347 297 3 490 231 53 557 639 638
+ -10000 172 311 502 670 849 175 791 171 886
+ -10000 29 423 381 872 495 105 420 241 671
+ -10000 528 349 213 572 53 68 767 189 557
+ -10000 17 211 702 940 538 768 150 293 740
+ -10000 252 524 345 737 834 20 386 303 255
+ -10000 973 626 312 705 6 764 428 770 226
+ -10000 477 949 854 444 163 892 273 85 80
+ -10000 902 637 468 901 29 432 558 693 963
+ -10000 643 727 315 190 972 530 402 158 347
+ -10000 821 708 790 593 834 644 785 761 910
+ -10000 789 382 863 183 178 554 91 669 649
+ -10000 216 989 391 617 473 394 743 466 446
+ -10000 430 237 428 100 141 677 706 531 645
+ -10000 936 936 599 946 961 228 667 395 969
+ -10000 995 567 723 607 708 745 649 585 417
+ -10000 148 114 696 206 904 891 113 674 421
+ -10000 771 49 817 854 770 975 45 123 688
+ -10000 624 383 870 406 118 310 891 439 332
+ -10000 721 791 580 760 944 394 460 572 151
+ -10000 753 141 40 675 757 453 114 423 480
+ -10000 705 827 139 848 962 43 933 110 327
+ -10000 299 56 244 16 324 918 992 292 597
+ -10000 326 236 916 508 661 487 175 331 71
+ -10000 68 977 271 710 813 828 654 349 827
+ -10000 424 435 374 80 894 337 787 696 438
+ -10000 481 249 954 684 327 468 309 169 540
+ -10000 944 737 818 221 30 366 990 150 194
+ -10000 284 39 58 342 668 197 58 329 886
+ -10000 281 133 637 900 523 118 918 254 372
+ -10000 295 865 278 684 557 580 645 797 993
+ -10000 695 426 611 944 817 265 959 493 754
+ -10000 671 890 228 769 495 59 840 949 58
+ -10000 255 613 243 931 177 834 557 917 247
+ -10000 121 348 583 944 625 495 685 862 1
+ -10000 549 594 14 414 767 499 915 199 573
+ -10000 944 439 215 689 783 25 678 4 601
+ -10000 299 836 33 855 150 383 586 838 48
+ -10000 910 206 949 193 611 467 784 525 971
+ -10000 637 462 970 745 147 884 670 963 61
+ -10000 675 706 423 846 983 967 243 931 647
+ -10000 73 723 82 702 631 427 357 669 185
+ -10000 166 39 500 207 284 762 727 590 638
+ -10000 474 307 516 709 260 194 270 798 333
+ -10000 21 914 945 702 587 80 590 665 902
+ -10000 38 738 912 38 566 330 619 545 409
+ -10000 778 496 377 320 64 933 852 592 175
+ -10000 756 195 507 66 317 473 467 715 684
+ -10000 95 894 429 416 974 925 173 174 75
+ -10000 979 985 777 457 716 807 82 754 328
+ -10000 263 883 782 529 652 540 175 403 124
+ -10000 706 992 922 670 843 754 96 836 835
+ -10000 720 71 690 477 370 680 751 449 464
+ -10000 601 368 147 722 856 132 898 610 974
+ -10000 247 386 623 516 876 792 855 41 382
+ -10000 307 982 298 747 126 709 580 335 917
+ -10000 926 136 219 638 37 522 118 746 437
+ -10000 876 748 882 455 718 987 585 392 130
+ -10000 219 332 664 806 831 672 723 472 405
+ -10000 583 840 696 273 584 810 501 64 814
+ -10000 356 225 445 366 360 463 828 88 189
+ -10000 44 268 974 480 461 622 88 414 242
+ -10000 893 294 745 268 135 849 424 684 773
+ -10000 191 899 802 835 25 551 373 760 654
+ -10000 961 240 61 879 58 539 881 328 45
+ -10000 848 639 686 297 190 594 808 681 940
+ -10000 684 239 365 163 194 859 670 759 898
+ -10000 523 172 373 266 45 711 484 624 659
+ -10000 427 610 482 336 786 60 714 815 27
+ -10000 969 662 804 101 3 579 15 776 140
+ -10000 578 524 316 770 653 876 570 836 618
+ -10000 777 416 542 640 798 81 170 112 974
+ -10000 2 494 200 456 989 236 400 440 950
+ -10000 360 230 416 668 779 539 919 23 369
+ -10000 805 689 770 768 450 259 227 376 485
+ -10000 873 656 382 695 343 785 381 92 403
+ -10000 813 122 891 187 701 763 662 720 731
+ -10000 506 363 366 256 799 950 724 167 532
+ -10000 662 412 869 827 638 973 195 157 482
+ -10000 725 755 624 951 73 173 698 135 510
+ -10000 472 577 443 927 672 334 198 724 448
+ -10000 324 90 991 623 44 542 134 658 574
+ -10000 459 49 703 423 844 779 30 425 721
+ -10000 493 972 418 24 113 653 307 705 238
+ -10000 149 469 855 603 428 119 657 354 297
+ -10000 457 446 147 715 539 967 755 837 593
+ -10000 990 998 406 457 906 785 159 703 977
+ -10000 433 724 247 83 845 160 218 336 278
+ -10000 755 228 842 232 288 230 60 615 152
+ -10000 611 621 152 808 838 874 474 635 242
+ -10000 600 120 542 719 222 47 34 354 963
+ -10000 965 724 958 287 124 803 51 712 959
+ -10000 654 286 786 57 383 847 382 15 485
+ -10000 184 152 455 397 569 225 138 263 945
+ -10000 549 691 397 941 178 553 792 518 203
+ -10000 169 390 699 30 457 54 975 418 808
+ -10000 122 775 517 822 868 430 692 560 811
+ -10000 495 726 223 746 192 883 202 798 420
+ -10000 177 633 874 531 549 400 745 939 125
+ -10000 508 800 82 441 791 354 379 288 94
+ -10000 948 907 5 105 518 187 450 37 566
+ -10000 295 871 74 281 497 185 598 208 168
+ -10000 392 492 50 656 813 570 717 549 579
+ -10000 134 748 318 890 195 286 323 427 276
+ -10000 699 561 793 558 282 313 710 447 752
+ -10000 27 100 308 269 318 45 344 761 335
+ -10000 414 636 104 169 966 474 564 188 506
+ -10000 951 277 162 588 688 38 236 822 737
+ -10000 739 551 951 50 74 509 58 388 769
+ -10000 156 806 428 1 161 627 303 3 940
+ -10000 911 350 998 821 650 992 155 382 969
+ -10000 47 936 800 463 36 471 869 182 573
+ -10000 71 167 710 627 522 945 778 372 328
+ -10000 621 281 48 285 567 184 748 127 150
+ -10000 559 998 46 356 927 117 784 17 846
+ -10000 789 714 59 404 615 629 884 582 910
+ -10000 479 94 306 163 98 283 983 29 794
+ -10000 957 887 684 208 312 391 4 149 710
+ -10000 518 71 497 400 982 54 962 391 749
+ -10000 138 287 16 475 93 220 216 494 503
+ -10000 638 699 18 206 67 602 429 760 741
+ -10000 803 412 375 897 734 446 289 850 788
+ -10000 259 933 981 896 404 820 790 152 535
+ -10000 632 125 953 978 109 707 721 629 84
+ -10000 594 45 760 351 884 684 470 135 876
+ -10000 292 365 986 476 436 598 857 604 292
+ -10000 545 989 117 14 613 294 783 167 632
+ -10000 352 549 606 932 678 669 177 71 541
+ -10000 837 383 73 135 714 755 511 891 482
+ -10000 278 675 23 239 572 591 865 827 682
+ -10000 837 220 790 963 570 478 434 801 57
+ -10000 717 656 400 787 129 473 969 172 695
+ -10000 139 977 444 446 415 185 924 141 608
+ -10000 159 866 277 973 199 5 482 762 234
+ -10000 922 869 12 990 616 976 167 47 871
+ -10000 102 168 581 719 266 835 141 644 584
+ -10000 733 621 658 752 634 353 318 642 780
+ -10000 445 268 596 842 307 352 46 193 985
+ -10000 589 706 93 10 0 208 240 941 362
+ -10000 590 104 403 370 639 204 183 99 438
+ -10000 413 671 142 875 122 923 796 272 386
+ -10000 158 603 579 677 582 919 104 743 332
+ -10000 72 893 223 264 915 930 415 402 560
+ -10000 95 964 535 582 421 146 591 727 156
+ -10000 842 513 595 942 273 736 727 253 731
+ -10000 217 936 767 914 320 893 314 299 247
+ -10000 375 376 71 131 740 873 847 228 759
+ -10000 693 285 61 234 361 303 462 24 241
+ -10000 921 792 280 495 775 599 962 521 923
+ -10000 557 671 908 48 702 787 63 371 384
+ -10000 980 634 954 680 587 914 853 66 913
+ -10000 83 722 847 414 66 803 855 52 473
+ -10000 121 530 785 809 723 751 948 138 816
+ -10000 708 634 345 325 41 997 711 617 245
+ -10000 369 100 837 893 123 678 69 358 671
+ -10000 425 936 495 523 842 968 434 507 253
+ -10000 367 552 582 27 854 846 304 318 929
+ -10000 805 712 553 387 568 254 949 393 634
+ -10000 316 347 252 649 760 900 968 726 251
+ -10000 379 178 291 164 861 752 551 478 644
+ -10000 248 181 125 131 233 141 660 412 581
+ -10000 123 513 99 754 324 145 144 792 873
+ -10000 742 228 950 839 293 916 107 661 460
+ -10000 898 766 739 306 653 27 466 101 49
+ -10000 863 932 301 582 67 369 946 821 700
+ -10000 977 205 140 980 524 378 591 527 976
+ -10000 581 567 457 683 743 673 471 798 594
+ -10000 228 305 697 197 711 218 173 274 976
+ -10000 609 853 408 173 969 738 907 560 534
+ -10000 518 514 891 566 649 258 664 169 444
+ -10000 7 569 242 186 880 109 605 702 799
+ -10000 828 987 877 107 457 305 415 885 75
+ -10000 294 37 187 17 724 71 664 820 108
+ -10000 216 66 74 840 763 917 339 991 326
+ -10000 851 86 470 513 711 430 51 889 26
+ -10000 14 529 246 201 216 825 392 414 938
+ -10000 505 236 761 521 449 223 325 36 826
+ -10000 236 658 45 823 496 981 761 775 590
+ -10000 946 609 191 707 516 755 857 260 494
+ -10000 531 979 414 405 521 594 834 435 90
+ -10000 912 11 858 780 625 959 744 410 498
+ -10000 871 244 363 617 389 379 122 241 450
+ -10000 366 866 369 166 599 210 960 773 527
+ -10000 703 161 682 548 732 667 879 862 225
+ -10000 597 168 401 753 757 255 875 554 526
+ -10000 428 715 942 161 241 282 264 362 9
+ -10000 495 252 813 492 973 227 800 308 73
+ -10000 888 891 864 328 469 566 271 883 230
+ -10000 9 319 622 402 440 978 943 589 127
+ -10000 623 772 752 265 244 864 894 504 783
+ -10000 143 81 303 157 236 971 71 752 719
+ -10000 283 236 58 820 262 816 510 241 442
+ -10000 728 369 842 37 598 302 757 371 926
+ -10000 421 732 690 562 528 56 165 252 605
+ -10000 198 658 344 4 600 71 289 299 15
+ -10000 263 1000 737 467 107 442 931 746 974
+ -10000 442 109 235 272 601 208 934 544 924
+ -10000 937 603 476 571 730 726 73 440 804
+ -10000 559 35 245 564 28 397 952 873 385
+ -10000 834 870 949 860 145 464 432 55 756
+ -10000 916 971 882 184 366 313 621 963 741
+ -10000 235 463 29 778 401 169 919 1 305
+ -10000 574 670 140 676 463 980 471 386 96
+ -10000 475 237 439 162 487 900 279 601 753
+ -10000 996 122 413 992 293 249 989 323 926
+ -10000 499 43 86 583 561 248 135 436 622
+ -10000 103 133 507 148 853 433 57 287 603
+ -10000 486 858 434 990 637 286 884 425 200
+ -10000 9 185 263 99 799 697 388 927 938
+ -10000 26 207 10 482 131 607 98 381 749
+ -10000 773 965 665 576 94 80 916 471 1
+ -10000 474 241 333 342 418 122 945 752 159
+ -10000 44 598 274 664 662 28 563 433 179
+ -10000 45 278 511 760 830 549 217 583 968
+ -10000 825 412 111 885 501 257 874 470 115
+ -10000 967 275 692 679 593 727 569 856 571
+ -10000 992 596 903 597 517 920 314 965 795
+ -10000 601 477 198 699 349 596 320 666 559
+ -10000 499 410 146 250 699 848 61 494 911
+ -10000 169 882 563 572 294 948 848 447 77
+ -10000 402 706 404 255 635 641 669 437 39
+ -10000 183 279 641 90 590 250 326 203 707
+ -10000 152 971 307 8 744 954 284 268 847
+ -10000 13 526 366 524 985 909 934 429 416
+ -10000 801 753 856 856 373 795 123 169 37
+ -10000 407 978 117 711 798 131 897 232 717
+ -10000 906 736 500 531 526 149 39 651 561
+ -10000 252 692 807 653 775 987 576 240 437
+ -10000 357 312 59 741 296 327 699 935 826
+ -10000 765 617 322 861 921 6 233 282 46
+ -10000 651 878 12 855 844 729 468 739 726
+ -10000 537 179 393 466 961 683 776 570 3
+ -10000 538 534 381 540 442 461 833 4 281
+ -10000 812 896 4 658 777 575 139 848 314
+ -10000 347 369 913 994 385 156 497 62 381
+ -10000 950 325 172 291 299 81 588 207 729
+ -10000 666 171 922 845 710 214 250 540 53
+ -10000 330 917 871 464 679 625 705 995 145
+ -10000 844 80 949 216 690 582 581 889 750
+ -10000 656 330 825 460 743 156 903 95 312
+ -10000 148 53 384 947 155 982 195 212 236
+ -10000 91 117 633 826 728 85 564 720 449
+ -10000 204 557 906 316 88 250 971 754 315
+ -10000 467 676 809 626 292 116 967 687 376
+ -10000 686 1 921 329 124 391 188 481 400
+ -10000 74 218 586 859 395 832 539 64 771
+ -10000 347 454 83 705 551 593 341 583 427
+ -10000 690 268 892 144 999 51 742 194 547
+ -10000 316 569 169 54 506 12 835 173 771
+ -10000 328 969 756 5 465 385 23 263 598
+ -10000 327 512 540 950 204 764 400 252 886
+ -10000 194 335 872 969 465 474 243 737 941
+ -10000 891 535 298 522 585 791 470 578 458
+ -10000 458 885 53 688 575 83 797 293 600
+ -10000 934 639 456 206 519 521 712 834 363
+ -10000 293 315 137 368 665 924 546 645 892
+ -10000 147 222 407 433 421 712 307 434 664
+ -10000 853 742 931 402 212 881 462 601 130
+ -10000 479 773 408 644 262 508 883 186 708
+ -10000 387 713 897 331 401 85 461 255 565
+ -10000 623 878 432 747 589 886 278 842 798
+ -10000 341 651 801 808 975 714 148 299 115
+ -10000 45 471 549 2 714 784 34 88 562
+ -10000 660 255 623 551 392 592 908 484 23
+ -10000 374 257 364 912 586 718 688 447 501
+ -10000 927 747 963 542 214 190 358 91 62
+ -10000 160 492 219 118 816 752 186 335 934
+ -10000 62 254 933 786 619 719 689 508 727
+ -10000 538 966 350 470 769 189 775 763 482
+ -10000 950 533 599 886 44 984 485 736 978
+ -10000 620 510 564 989 656 126 925 209 11
+ -10000 205 172 299 972 368 906 441 296 867
+ -10000 179 308 179 487 268 438 872 789 46
+ -10000 399 147 968 13 632 194 239 237 881
+ -10000 52 35 172 111 266 581 504 466 4
+ -10000 681 39 366 682 86 888 846 798 62
+ -10000 118 66 723 732 335 784 925 981 510
+ -10000 415 45 668 760 231 298 123 580 920
+ -10000 80 17 33 962 471 840 644 71 676
+ -10000 462 119 761 56 71 555 297 502 35
+ -10000 808 379 617 684 381 338 850 138 67
+ -10000 247 392 958 685 605 562 435 735 605
+ -10000 80 651 851 837 236 45 897 384 857
+ -10000 732 452 294 77 904 901 693 753 811
+ -10000 46 856 829 673 282 298 320 882 951
+ -10000 813 322 429 418 634 568 940 802 120
+ -10000 613 246 96 219 263 739 854 542 80
+ -10000 71 788 211 598 405 218 297 647 349
+ -10000 603 513 820 772 998 301 391 567 87
+ -10000 303 51 833 683 76 40 211 763 684
+ -10000 689 686 214 343 535 661 498 531 293
+ -10000 416 778 109 505 578 8 109 926 637
+ -10000 409 227 857 514 760 818 864 889 76
+ -10000 81 573 640 526 686 806 813 963 648
+ -10000 848 800 871 991 629 452 820 459 375
+ -10000 440 725 75 875 521 302 686 380 895
+ -10000 309 319 133 745 413 84 868 135 972
+ -10000 175 177 896 611 927 886 904 510 677
+ -10000 453 18 805 946 770 103 507 583 499
+ -10000 851 183 492 92 16 525 775 81 5
+ -10000 451 131 110 535 969 623 352 58 737
+ -10000 300 204 908 95 980 416 378 194 354
+ -10000 755 469 968 511 100 781 236 850 158
+ -10000 661 384 513 728 573 779 646 673 541
+ -10000 515 953 311 991 351 511 387 945 538
+ -10000 763 902 366 360 726 318 671 916 459
+ -10000 665 824 879 229 241 783 773 120 484
+ -10000 751 315 686 90 350 664 373 868 456
+ -10000 399 553 762 53 843 718 541 132 633
+ -10000 370 586 372 845 19 794 542 107 939
+ -10000 16 283 174 525 590 536 528 980 540
+ -10000 408 653 314 62 160 306 51 248 693
+ -10000 548 854 435 889 335 165 308 663 453
+ -10000 460 796 63 185 559 574 700 196 284
+ -10000 776 694 161 313 387 918 167 917 527
+ -10000 396 659 800 923 829 899 657 412 524
+ -10000 215 872 55 643 874 809 897 373 310
+ -10000 219 862 601 726 427 683 925 841 391
+ -10000 781 107 110 51 904 589 125 261 656
+ -10000 762 521 821 685 843 305 221 38 734
+ -10000 228 896 572 719 584 275 542 815 55
+ -10000 840 17 301 445 159 883 268 897 990
+ -10000 770 166 290 235 535 276 100 465 309
+ -10000 242 376 12 332 432 871 580 922 778
+ -10000 350 389 301 802 935 283 802 234 363
+ -10000 866 787 652 594 623 395 995 518 746
+ -10000 627 241 458 886 805 159 528 162 802
+ -10000 580 680 272 281 273 150 814 305 231
+ -10000 241 434 837 20 3 478 518 140 38
+ -10000 857 432 951 891 972 996 498 797 58
+ -10000 58 83 19 73 727 13 963 410 739
+ -10000 506 736 397 193 837 58 503 732 669
+ -10000 18 69 149 933 104 809 999 100 188
+ -10000 932 778 898 496 722 169 441 130 356
+ -10000 487 159 238 365 457 724 128 326 806
+ -10000 323 572 728 397 191 937 199 96 619
+ -10000 103 835 145 882 773 871 867 885 345
+ -10000 531 449 884 645 356 545 250 201 374
+ -10000 234 190 283 473 853 863 879 455 323
+ -10000 848 260 293 277 97 757 185 764 259
+ -10000 811 686 273 631 660 621 271 363 428
+ -10000 397 440 779 960 596 389 140 541 888
+ -10000 612 897 254 420 320 304 585 958 614
+ -10000 188 228 31 345 78 219 595 57 401
+ -10000 83 594 349 537 716 608 934 14 231
+ -10000 914 692 488 39 653 404 188 538 495
+ -10000 824 43 639 316 404 450 222 961 755
+ -10000 957 847 512 373 472 914 680 25 452
+ -10000 588 561 813 212 661 884 793 542 485
+ -10000 424 928 628 972 699 252 76 367 761
+ -10000 253 311 154 171 141 208 407 705 973
+ -10000 623 318 805 565 770 923 578 578 907
+ -10000 478 796 58 967 817 882 152 269 780
+ -10000 388 667 420 736 385 763 602 407 886
+ -10000 492 370 782 320 298 868 59 924 593
+ -10000 924 223 399 506 865 561 777 68 958
+ -10000 306 165 960 524 394 907 975 883 585
+ -10000 729 851 184 506 509 130 307 747 46
+ -10000 417 89 256 981 231 486 638 426 943
+ -10000 627 367 341 221 349 318 459 461 803
+ -10000 365 471 777 565 282 209 320 998 583
+ -10000 185 982 119 562 252 700 89 800 644
+ -10000 726 47 608 397 11 129 211 886 398
+ -10000 375 70 349 535 340 723 376 37 285
+ -10000 8 716 640 20 365 434 814 265 982
+ -10000 858 326 205 335 974 335 957 78 910
+ -10000 830 628 681 597 385 670 58 549 343
+ -10000 28 426 289 493 283 624 868 903 468
+ -10000 47 958 654 120 747 652 590 588 328
+ -10000 207 323 491 182 24 569 214 696 732
+ -10000 418 940 109 801 333 531 149 673 937
+ -10000 917 477 869 132 497 13 764 579 329
+ -10000 720 845 648 265 335 4 265 874 329
+ -10000 489 124 122 486 642 930 800 549 911
+ -10000 239 419 486 827 920 683 251 740 576
+ -10000 928 360 928 171 484 53 363 89 817
+ -10000 806 46 930 32 335 935 294 377 551
+ -10000 400 128 110 76 57 429 426 495 871
+ -10000 241 638 676 938 499 868 368 233 243
+ -10000 27 61 90 834 672 617 913 510 50
+ -10000 581 127 160 697 171 168 376 794 197
+ -10000 18 790 104 600 800 326 565 564 42
+ -10000 931 172 420 583 904 198 424 121 998
+ -10000 378 828 86 329 753 583 401 178 503
+ -10000 103 413 448 362 487 213 770 177 698
+ -10000 339 491 47 447 523 953 26 473 675
+ -10000 781 59 680 514 706 174 900 687 756
+ -10000 363 499 217 494 312 885 378 36 301
+ -10000 602 513 800 750 884 157 38 302 443
+ -10000 241 168 740 531 984 434 900 585 342
+ -10000 478 102 436 723 434 167 854 562 124
+ -10000 283 188 494 229 365 452 15 585 223
+ -10000 650 835 101 669 19 815 801 87 641
+ -10000 221 451 549 270 827 404 471 141 715
+ -10000 669 355 230 205 794 944 66 233 758
+ -10000 650 501 585 409 562 76 742 493 959
+ -10000 725 542 148 1 856 483 814 536 177
+ -10000 247 316 312 15 282 160 672 108 24
+ -10000 641 767 64 97 699 488 710 725 76
+ -10000 148 792 78 64 373 1 333 582 992
+ -10000 605 789 583 441 22 906 372 259 812
+ -10000 760 664 934 752 458 859 264 917 31
+ -10000 409 650 306 15 832 414 997 441 203
+ -10000 128 413 938 772 563 126 364 561 749
+ -10000 409 254 812 293 882 606 447 90 376
+ -10000 103 930 554 961 303 176 556 645 758
+ -10000 355 806 618 460 491 985 809 286 330
+ -10000 215 27 792 33 190 32 327 278 512
+ -10000 261 193 211 624 231 259 184 328 335
+ -10000 867 999 345 829 27 322 93 28 961
+ -10000 129 189 820 424 800 550 615 536 851
+ -10000 688 575 349 483 40 454 900 176 0
+ -10000 385 930 933 186 707 844 240 618 395
+ -10000 439 563 18 972 164 38 715 78 585
+ -10000 939 851 635 64 201 696 56 534 924
+ -10000 286 853 815 223 274 644 641 288 313
+ -10000 559 554 64 908 541 137 787 321 712
+ -10000 619 136 506 316 878 498 511 809 124
+ -10000 716 700 511 817 794 329 991 761 635
+ -10000 929 919 189 990 366 111 288 961 88
+ -10000 717 615 635 393 684 660 185 807 174
+ -10000 128 918 976 92 79 335 695 123 199
+ -10000 224 193 633 715 93 474 344 417 138
+ -10000 96 80 859 375 21 43 341 569 262
+ -10000 910 704 733 468 450 366 260 946 403
+ -10000 489 621 231 196 598 908 210 670 327
+ -10000 256 367 11 393 398 723 877 903 253
+ -10000 367 186 186 262 382 833 793 367 257
+ -10000 936 794 467 924 145 714 479 360 611
+ -10000 114 440 855 785 350 737 799 445 7
+ -10000 624 623 313 984 57 583 850 454 705
+ -10000 138 430 131 935 831 4 433 160 938
+ -10000 569 21 524 113 433 386 493 187 966
+ -10000 1 4 873 358 158 728 327 775 379
+ -10000 865 816 287 75 962 603 367 653 538
+ -10000 809 671 490 85 464 943 849 422 375
+ -10000 626 675 155 897 157 317 586 595 312
+ -10000 543 992 928 384 571 665 600 878 263
+ -10000 952 928 863 500 292 57 313 641 245
+ -10000 557 435 19 269 546 225 923 474 143
+ -10000 532 791 765 644 216 231 863 361 352
+ -10000 105 970 762 435 114 150 25 183 88
+ -10000 124 946 463 868 518 722 269 515 590
+ -10000 242 433 257 726 416 406 721 251 829
+ -10000 36 481 189 997 414 245 443 730 872
+ -10000 277 827 274 531 763 58 696 22 201
+ -10000 248 971 610 620 271 683 720 191 408
+ -10000 451 661 222 409 972 999 331 130 353
+ -10000 906 418 767 140 150 437 370 948 569
+ -10000 928 785 344 855 528 981 560 283 537
+ -10000 222 673 957 144 753 381 857 545 222
+ -10000 904 972 644 150 153 285 566 821 134
+ -10000 976 738 814 523 611 574 452 555 170
+ -10000 580 192 775 840 746 566 842 989 791
+ -10000 535 430 708 404 735 141 123 374 931
+ -10000 769 135 957 884 935 429 759 770 534
+ -10000 423 793 199 634 344 19 225 953 286
+ -10000 668 426 313 366 624 616 410 78 453
+ -10000 702 909 231 249 685 650 455 427 856
+ -10000 28 440 9 76 216 860 496 83 595
+ -10000 635 562 543 990 268 349 445 650 272
+ -10000 628 545 934 355 415 1 465 158 249
+ -10000 947 779 196 766 895 443 471 563 844
+ -10000 370 877 639 462 180 413 779 819 519
+ -10000 507 814 223 252 728 454 77 577 114
+ -10000 281 104 53 90 162 335 414 717 274
+ -10000 287 15 621 93 181 724 744 666 510
+ -10000 748 698 742 499 905 154 473 410 601
+ -10000 582 641 295 722 866 185 296 743 487
+ -10000 956 291 704 293 662 395 658 380 487
+ -10000 175 120 969 972 116 214 737 454 225
+ -10000 232 872 710 991 364 927 740 921 903
+ -10000 164 511 625 31 328 584 362 744 286
+ -10000 373 244 775 809 573 206 903 540 804
+ -10000 708 309 463 205 91 143 31 42 319
+ -10000 460 217 939 50 411 299 682 426 836
+ -10000 726 140 145 217 285 244 888 309 885
+ -10000 660 696 931 329 29 901 833 734 860
+ -10000 295 311 72 408 195 225 914 807 644
+ -10000 441 55 839 442 256 695 41 844 413
+ -10000 979 812 569 753 261 980 603 458 862
+ -10000 882 82 265 800 88 446 452 301 441
+ -10000 70 205 472 878 309 844 558 665 355
+ -10000 966 373 303 289 885 56 735 442 409
+ -10000 238 64 149 744 255 524 721 170 668
+ -10000 11 861 104 196 86 465 954 581 683
+ -10000 515 797 916 703 729 750 360 900 673
+ -10000 848 600 916 825 495 100 507 79 117
+ -10000 695 971 113 922 937 156 997 24 791
+ -10000 973 27 787 270 808 709 18 525 148
+ -10000 64 269 14 979 288 372 460 256 0
+ -10000 671 421 827 608 254 251 735 601 230
+ -10000 901 163 859 867 174 838 192 853 67
+ -10000 802 633 876 975 799 46 192 163 986
+ -10000 2 591 328 561 870 163 31 652 263
+ -10000 990 822 327 851 792 162 207 202 794
+ -10000 212 168 653 437 430 244 95 97 738
+ -10000 102 568 757 644 972 304 142 415 823
+ -10000 24 53 411 408 795 868 383 683 534
+ -10000 271 96 373 593 53 609 719 928 593
+ -10000 405 222 932 260 555 412 347 806 715
+ -10000 644 274 808 69 877 974 611 892 263
+ -10000 18 255 148 54 221 303 135 150 639
+ -10000 676 542 568 845 303 825 905 778 136
+ -10000 550 110 362 810 379 967 632 970 525
+ -10000 152 871 263 17 264 247 941 524 740
+ -10000 826 528 522 148 422 39 137 74 432
+ -10000 575 974 743 552 173 424 863 237 548
+ -10000 489 421 790 164 467 796 942 381 847
+ -10000 798 750 201 811 625 925 605 14 754
+ -10000 670 878 524 743 210 996 744 939 979
+ -10000 360 685 897 103 75 245 186 651 819
+ -10000 458 935 640 211 355 858 32 99 647
+ -10000 872 521 127 353 638 476 1 41 759
+ -10000 495 989 429 552 654 75 929 591 645
+ -10000 398 303 425 254 687 850 544 495 657
+ -10000 830 552 991 434 52 289 958 192 368
+ -10000 303 326 157 431 289 145 489 527 358
+ -10000 353 671 427 439 220 725 68 66 311
+ -10000 726 566 638 733 939 394 599 235 317
+ -10000 3 642 623 2 688 623 791 161 953
+ -10000 773 670 489 625 898 211 138 632 695
+ -10000 868 274 331 560 688 692 705 614 969
+ -10000 486 753 804 529 912 566 476 33 267
+ -10000 727 308 981 138 898 783 46 261 296
+ -10000 185 241 472 736 119 738 108 149 607
+ -10000 960 261 168 880 487 613 524 928 198
+ -10000 678 491 387 769 880 413 401 873 355
+ -10000 943 934 559 92 289 427 982 263 851
+ -10000 433 83 108 417 623 174 523 626 524
+ -10000 269 508 917 442 570 971 768 752 489
+ -10000 860 314 219 102 925 308 532 222 124
+ -10000 307 334 991 849 548 44 663 830 274
+ -10000 65 612 319 559 51 90 805 235 652
+ -10000 628 287 150 154 710 327 791 309 9
+ -10000 858 115 73 14 176 524 388 360 727
+ -10000 926 881 702 227 407 803 85 997 753
+ -10000 700 742 642 355 133 256 129 406 756
+ -10000 269 4 187 324 257 99 358 102 96
+ -10000 427 283 794 409 696 917 808 376 957
+ -10000 898 372 27 928 952 461 198 816 396
+ -10000 818 103 455 646 984 264 718 202 852
+ -10000 808 449 311 783 327 440 400 991 224
+ -10000 777 662 545 329 912 7 25 0 50
+ -10000 560 212 684 899 378 629 981 344 207
+ -10000 824 437 944 943 171 807 177 528 638
+ -10000 957 178 664 858 513 590 28 949 619
+ -10000 879 787 493 739 151 244 827 805 228
+ -10000 229 693 460 198 283 875 44 554 818
+ -10000 180 838 281 38 839 565 61 608 764
+ -10000 154 346 878 835 580 647 798 341 947
+ -10000 951 280 180 368 346 111 893 439 212
+ -10000 854 986 340 12 833 491 909 589 653
+ -10000 593 824 31 230 106 303 27 628 529
+ -10000 551 594 306 508 589 256 848 569 505
+ -10000 821 284 403 596 378 827 913 340 584
+ -10000 882 313 391 472 7 252 488 323 484
+ -10000 412 62 359 506 699 238 115 31 39
+ -10000 211 217 641 839 335 125 716 300 109
+ -10000 271 265 855 420 123 100 126 475 571
+ -10000 801 732 843 869 829 828 86 53 933
+ -10000 86 255 699 105 308 188 793 641 484
+ -10000 989 874 861 844 120 814 464 75 790
+ -10000 148 644 651 298 687 409 394 697 672
+ -10000 35 666 863 288 703 355 393 396 670
+ -10000 213 440 163 143 177 591 120 460 868
+ -10000 996 778 878 70 840 444 139 45 777
+ -10000 593 416 241 767 22 784 245 137 20
+ -10000 683 959 834 998 534 51 982 938 47
+ -10000 808 835 480 580 351 610 995 922 556
+ -10000 365 987 542 134 499 929 239 463 15
+ -10000 560 192 370 336 55 67 668 379 898
+ -10000 297 126 538 132 886 576 716 638 255
+ -10000 621 336 906 970 75 279 651 719 657
+ -10000 370 650 626 151 473 160 298 831 419
+ -10000 795 635 397 901 712 875 593 806 744
+ -10000 584 916 179 662 121 386 65 58 910
+ -10000 128 322 262 79 768 329 484 10 381
+ -10000 1000 847 477 711 387 746 382 828 889
+ -10000 691 384 74 520 715 355 332 351 558
+ -10000 452 444 216 415 73 59 18 414 789
+ -10000 213 728 288 907 303 527 129 760 692
+ -10000 798 891 128 27 333 942 181 416 286
+ -10000 534 525 826 956 644 279 91 428 417
+ -10000 905 25 413 933 141 917 186 378 928
+ -10000 803 114 251 112 492 700 789 135 242
+ -10000 948 53 219 182 471 868 82 726 271
+ -10000 867 329 791 100 69 592 392 635 975
+ -10000 669 269 728 761 609 540 152 951 1
+ -10000 341 253 328 68 84 414 961 880 54
+ -10000 926 971 825 329 609 951 600 286 541
+ -10000 761 370 611 163 738 314 756 500 34
+ -10000 735 101 631 119 107 426 464 983 999
+ -10000 411 843 344 798 374 886 33 597 893
+ -10000 65 729 192 416 595 333 955 702 5
+ -10000 308 152 503 606 354 985 942 599 8
+ -10000 182 132 474 606 103 320 81 241 871
+ -10000 855 49 110 359 471 236 594 389 900
+ -10000 959 372 698 518 714 967 773 939 774
+ -10000 161 804 861 594 274 137 137 43 519
+ -10000 368 636 864 679 488 827 734 441 22
+ -10000 423 733 502 915 553 982 216 961 619
+ -10000 905 186 753 516 585 907 552 338 47
+ -10000 433 973 667 202 626 393 988 938 362
+ -10000 879 423 846 249 261 631 397 27 62
+ -10000 24 563 302 142 25 484 38 592 828
+ -10000 412 640 195 7 39 984 628 863 375
+ -10000 983 717 912 754 888 204 458 825 379
+ -10000 746 780 140 503 221 687 609 24 727
+ -10000 21 513 96 501 351 470 891 203 136
+ -10000 84 840 395 492 693 56 669 544 982
+ -10000 512 740 272 291 278 762 274 960 926
+ -10000 978 989 453 689 13 468 71 777 828
+ -10000 747 936 216 530 406 990 306 383 709
+ -10000 698 908 434 310 160 499 78 829 50
+ -10000 23 857 631 184 532 8 363 714 391
+ -10000 590 11 835 899 539 591 305 374 348
+ -10000 617 632 831 452 958 891 370 2 271
+ -10000 116 323 886 717 659 173 687 463 12
+ -10000 661 356 48 179 175 956 417 186 7
+ -10000 166 112 712 672 891 714 520 591 374
+ -10000 677 816 15 290 669 357 856 228 507
+ -10000 806 258 715 397 277 422 324 176 263
+ -10000 983 496 692 822 402 60 746 664 113
+ -10000 467 355 515 185 339 47 465 720 218
+ -10000 911 69 254 499 322 580 792 786 475
+ -10000 467 878 635 427 607 930 877 453 861
+ -10000 284 823 456 916 95 191 966 641 301
+ -10000 495 804 906 603 227 212 878 566 0
+ -10000 673 266 395 207 543 562 416 381 963
+ -10000 128 251 204 367 590 743 437 103 59
+ -10000 378 102 637 143 280 34 500 238 259
+ -10000 373 359 291 985 81 397 601 620 517
+ -10000 338 794 968 498 219 128 320 639 649
+ -10000 524 852 522 561 417 258 842 374 896
+ -10000 351 980 963 722 484 184 537 588 877
+ -10000 58 85 10 213 916 652 300 9 230
+ -10000 239 363 168 299 804 858 741 624 177
+ -10000 905 43 831 355 883 201 805 955 440
+ -10000 754 866 702 980 767 199 726 661 282
+ -10000 726 385 116 960 159 624 158 489 335
+ -10000 584 811 995 409 691 740 521 595 516
+ -10000 446 539 99 46 931 190 794 878 199
+ -10000 626 724 34 901 969 579 712 610 146
+ -10000 130 593 138 88 229 260 860 110 636
+ -10000 351 484 568 487 406 756 50 795 988
+ -10000 424 846 966 750 897 435 503 891 256
+ -10000 502 367 498 350 937 16 101 724 58
+ -10000 569 968 62 201 105 431 101 958 570
+ -10000 715 692 226 585 251 281 184 542 517
+ -10000 271 848 585 471 322 976 855 385 9
+ -10000 705 679 413 434 802 786 335 418 96
+ -10000 58 934 671 789 958 687 917 227 592
+ -10000 898 978 903 264 1000 695 929 838 168
+ -10000 710 973 700 624 774 790 811 106 892
+ -10000 618 869 979 754 21 739 398 457 401
+ -10000 636 341 241 110 583 672 524 780 917
+ -10000 863 695 936 298 570 740 459 654 802
+ -10000 76 589 447 370 925 920 952 67 305
+ -10000 938 412 35 963 615 31 412 761 252
+ -10000 566 214 393 306 778 78 706 487 719
+ -10000 435 381 478 224 610 949 3 640 426
+ -10000 342 441 455 643 261 466 414 119 538
+ -10000 833 982 49 908 854 699 924 36 123
+ -10000 935 420 532 163 662 567 997 122 454
+ -10000 500 220 291 553 676 963 987 537 815
+ -10000 324 75 87 826 743 363 880 372 418
+ -10000 703 485 381 764 313 577 932 21 432
+ -10000 337 472 557 805 460 129 328 454 707
+ -10000 702 852 873 420 535 915 82 772 364
+ -10000 974 330 569 973 465 880 18 200 807
+ -10000 367 885 226 204 451 908 585 72 624
+ -10000 49 157 431 343 572 64 797 234 708
+ -10000 742 552 279 541 782 255 34 590 358
+ -10000 545 791 736 755 827 41 746 764 689
+ -10000 400 51 464 661 687 76 168 127 500
+ -10000 771 440 85 528 1 60 575 729 140
+ -10000 752 622 0 582 97 784 666 395 475
+ -10000 391 928 739 639 913 640 624 830 4
+ -10000 136 994 865 452 939 104 164 660 188
+ -10000 966 763 709 667 75 748 566 44 474
+ -10000 311 74 740 692 586 361 179 292 416
+ -10000 471 988 132 269 95 302 554 561 388
+ -10000 35 456 586 692 448 796 959 670 500
+ -10000 423 669 707 779 379 908 823 236 180
+ -10000 17 360 245 238 88 138 81 242 274
+ -10000 341 470 84 746 448 387 588 367 506
+ -10000 503 869 817 854 585 355 240 215 265
+ -10000 344 372 91 164 362 124 611 141 573
+ -10000 151 633 979 891 238 679 582 493 908
+ -10000 861 977 733 513 852 394 507 748 683
+ -10000 904 523 612 708 81 352 453 361 790
+ -10000 762 124 327 517 613 430 25 205 149
+ -10000 134 220 904 792 973 241 857 834 505
+ -10000 282 122 663 525 986 604 450 792 888
+ -10000 340 956 113 844 343 199 534 527 768
+ -10000 444 956 466 238 422 605 489 371 602
+ -10000 10 60 662 218 403 622 741 390 130
+ -10000 632 415 842 92 464 827 211 359 628
+ -10000 793 535 963 42 881 862 561 84 865
+ -10000 441 96 164 339 422 89 849 386 595
+ -10000 384 298 319 330 809 324 543 528 582
+ -10000 209 124 602 554 953 381 685 468 132
+ -10000 236 732 98 829 197 842 140 663 349
+ -10000 707 677 253 191 250 792 691 126 902
+ -10000 886 919 189 98 322 908 555 57 966
+ -10000 926 286 986 533 572 278 430 983 442
+ -10000 738 903 128 420 560 989 703 182 802
+ -10000 533 797 333 767 766 338 945 791 352
+ -10000 519 62 707 774 358 877 611 811 583
+ -10000 168 912 163 425 43 539 145 267 932
+ -10000 9 137 633 95 464 609 565 569 395
+ -10000 129 111 612 586 910 768 535 325 787
+ -10000 85 405 899 108 19 155 768 566 250
+ -10000 930 878 117 471 529 575 979 905 739
+ -10000 154 1 804 554 530 234 325 675 632
+ -10000 874 790 457 535 189 980 564 291 820
+ -10000 896 882 215 925 864 315 61 512 906
+ -10000 558 333 948 654 424 464 959 475 341
+ -10000 939 31 778 99 307 309 574 810 609
+ -10000 850 296 502 152 736 75 851 9 512
+ -10000 54 262 509 365 745 866 242 440 673
+ -10000 12 309 60 349 847 599 335 852 253
+ -10000 973 603 330 887 509 846 34 309 926
+ -10000 55 759 944 572 126 695 70 457 642
+ -10000 228 74 442 446 467 201 11 166 569
+ -10000 715 250 576 38 866 159 827 9 703
+ -10000 180 694 618 444 252 140 922 405 384
+ -10000 138 257 509 458 329 625 182 705 955
+ -10000 507 827 184 26 36 709 263 779 765
+ -10000 238 273 952 918 18 338 918 827 73
+ -10000 700 711 450 117 179 865 350 849 856
+ -10000 561 7 47 907 103 22 145 986 462
+ -10000 652 127 877 700 821 601 828 230 108
+ -10000 738 896 967 568 427 462 994 471 920
+ -10000 310 901 467 479 488 740 962 500 939
+ -10000 914 679 287 196 140 673 924 638 819
+ -10000 251 557 47 819 307 743 51 712 105
+ -10000 358 252 995 762 893 414 526 850 606
+ -10000 697 302 821 491 179 275 529 910 641
+ -10000 277 536 314 338 493 718 470 300 889
+ -10000 688 674 344 796 602 993 809 823 949
+ -10000 790 91 636 711 970 713 236 121 209
+ -10000 288 736 550 970 213 21 161 343 448
+ -10000 184 883 74 785 533 182 690 335 389
+ -10000 252 774 4 15 145 224 588 521 456
+ -10000 15 188 355 901 257 131 406 485 187
+ -10000 789 474 148 157 237 124 247 392 60
+ -10000 249 852 333 415 338 971 931 459 726
+ -10000 236 163 759 261 337 937 80 562 608
+ -10000 373 609 594 84 361 354 1000 30 167
+ -10000 141 428 207 695 248 917 236 886 871
+ -10000 255 116 374 964 918 660 523 53 594
+ -10000 75 187 427 36 901 995 987 787 513
+ -10000 880 391 534 837 213 5 2 582 431
+ -10000 470 254 561 79 66 49 948 388 517
+ -10000 814 497 704 272 486 74 991 133 630
+ -10000 19 79 709 188 775 674 39 306 452
+ -10000 12 76 97 53 159 290 290 888 662
+ -10000 168 330 268 666 859 591 903 760 9
+ -10000 719 772 160 536 576 896 335 927 971
+ -10000 91 877 738 116 747 981 79 128 732
+ -10000 780 898 810 774 618 813 615 421 458
+ -10000 419 749 503 322 357 877 760 470 861
+ -10000 733 28 266 132 961 645 586 277 792
+ -10000 477 919 449 664 470 724 726 300 447
+ -10000 149 959 164 328 435 724 360 458 516
+ -10000 312 969 946 937 270 424 773 187 718
+ -10000 660 434 11 205 724 801 662 325 897
+ -10000 610 959 402 904 816 32 719 422 771
+ -10000 768 690 134 286 980 808 248 455 172
+ -10000 180 430 489 31 601 361 15 289 523
+ -10000 638 925 377 692 238 359 498 35 761
+ -10000 829 550 415 988 778 935 408 987 364
+ -10000 205 535 566 944 907 897 220 13 403
+ -10000 365 190 208 680 803 989 657 29 271
+ -10000 99 791 864 554 335 838 176 145 937
+ -10000 491 496 204 749 331 212 52 160 935
+ -10000 943 54 816 227 450 774 340 907 14
+ -10000 750 187 476 103 676 715 763 936 580
+ -10000 783 326 663 932 860 174 558 342 198
+ -10000 828 433 357 961 56 630 266 772 843
+ -10000 335 499 102 619 73 307 84 860 910
+ -10000 412 904 987 308 242 958 839 314 573
+ -10000 819 991 454 403 967 548 443 407 143
+ -10000 873 477 239 374 743 534 206 980 308
+ -10000 965 491 722 398 29 860 682 987 95
+ -10000 877 615 830 331 458 275 519 155 647
+ -10000 319 254 463 335 705 616 19 661 773
+ -10000 656 216 93 245 422 730 286 457 214
+ -10000 632 556 285 595 970 690 122 696 979
+ -10000 894 605 854 692 666 465 67 906 836
+ -10000 422 791 526 30 510 531 361 614 883
+ -10000 401 794 737 401 479 420 179 19 891
+ -10000 47 0 654 527 390 630 313 324 259
+ -10000 649 850 626 216 26 724 24 20 942
+ -10000 838 518 965 797 366 757 383 131 151
+ -10000 606 477 715 893 262 588 252 766 256
+ -10000 260 783 542 303 58 684 355 142 114
+ -10000 811 119 302 447 646 633 143 173 858
+ -10000 471 988 130 530 637 733 989 280 37
+ -10000 817 460 957 400 462 132 145 903 109
+ -10000 925 135 551 487 869 663 276 114 288
+ -10000 937 311 856 425 797 516 757 527 37
+ -10000 785 455 25 51 663 196 911 0 205
+ -10000 286 249 267 82 609 971 22 774 86
+ -10000 449 846 970 416 845 51 647 171 375
+ -10000 478 128 665 916 623 692 600 830 14
+ -10000 689 705 663 29 932 806 366 601 691
+ -10000 707 352 490 179 480 680 419 332 432
+ -10000 460 146 624 275 742 149 129 858 346
+ -10000 765 300 869 529 35 409 374 264 68
+ -10000 313 149 858 823 13 969 307 769 143
+ -10000 374 2 957 270 724 797 521 366 465
+ -10000 457 741 87 303 149 657 290 944 338
+ -10000 277 839 151 834 659 57 218 741 774
+ -10000 333 231 404 360 96 565 891 120 640
+ -10000 950 736 155 2 463 107 138 310 93
+ -10000 925 723 37 62 289 943 630 578 351
+ -10000 518 597 817 293 162 370 850 13 172
+ -10000 939 720 993 872 21 211 617 931 885
+ -10000 440 621 902 618 19 214 943 287 690
+ -10000 565 560 42 843 244 516 69 168 402
+ -10000 862 962 79 479 22 141 852 312 209
+ -10000 640 761 105 655 634 180 829 951 530
+ -10000 538 245 441 639 404 94 88 878 255
+ -10000 368 210 496 650 857 14 629 492 561
+ -10000 74 440 97 514 645 697 224 656 554
+ -10000 602 680 893 215 467 74 976 573 334
+ -10000 630 692 268 211 787 792 887 429 730
+ -10000 971 993 672 497 153 253 633 392 682
+ -10000 600 931 841 792 252 569 798 681 303
+ -10000 718 300 503 398 671 252 761 440 989
+ -10000 333 553 569 891 15 314 836 22 734
+ -10000 63 971 926 590 441 958 825 918 636
+ -10000 178 506 249 449 203 164 741 222 1000
+ -10000 42 775 227 176 512 389 364 664 304
+ -10000 321 104 93 39 44 284 420 120 598
+ -10000 781 782 327 195 619 532 840 907 381
+ -10000 639 261 202 282 219 778 313 171 221
+ -10000 612 339 930 192 92 552 405 463 307
+ -10000 579 277 699 643 30 652 481 349 611
+ -10000 91 289 59 94 683 751 587 633 82
+ -10000 335 126 563 416 41 385 739 492 320
+ -10000 764 412 555 291 524 647 123 961 861
+ -10000 425 719 38 593 887 684 902 415 246
+ -10000 287 846 318 719 474 653 300 728 688
+ -10000 37 149 583 249 713 997 57 346 66
+ -10000 366 377 590 950 366 691 991 327 98
+ -10000 965 652 682 81 408 564 174 225 439
+ -10000 953 355 740 562 761 190 949 94 387
+ -10000 875 648 357 320 193 717 576 520 486
+ -10000 645 499 838 218 759 908 397 679 625
+ -10000 830 274 833 533 474 889 425 0 629
+ -10000 649 734 737 822 396 81 32 956 456
+ -10000 352 450 425 830 742 915 226 294 632
+ -10000 609 664 695 658 295 577 842 204 526
+ -10000 449 434 885 743 848 987 177 593 995
+ -10000 152 549 884 699 145 727 953 797 531
+ -10000 394 101 422 84 896 622 284 758 379
+ -10000 526 182 885 478 875 398 576 472 908
+ -10000 676 368 788 600 859 540 334 247 145
+ -10000 406 367 520 68 492 569 144 301 411
+ -10000 248 896 329 907 191 590 996 158 535
+ -10000 926 107 763 121 772 536 681 206 652
+ -10000 705 884 562 41 400 624 759 496 792
+ -10000 645 41 404 666 42 586 263 180 672
+ -10000 964 659 702 797 31 576 252 581 689
+ -10000 271 686 486 981 757 562 741 29 604
+ -10000 659 745 551 663 808 453 595 808 155
+ -10000 925 947 274 264 290 299 968 757 593
+ -10000 395 216 187 469 53 738 345 566 41
+ -10000 302 873 276 869 362 839 284 887 357
+ -10000 632 742 442 940 815 308 806 369 837
+ -10000 896 463 247 819 217 225 681 301 349
+ -10000 498 444 570 521 574 737 359 197 213
+ -10000 593 50 857 4 961 968 177 365 566
+ -10000 924 965 549 176 938 73 0 143 422
+ -10000 148 932 409 602 636 629 572 884 729
+ -10000 910 526 317 759 83 710 813 847 509
+ -10000 711 741 984 441 299 751 713 387 999
+ -10000 731 520 409 235 460 527 170 707 380
+ -10000 706 192 933 235 748 694 966 48 308
+ -10000 892 60 822 373 100 472 179 768 755
+ -10000 805 972 770 557 775 907 129 106 427
+ -10000 818 312 502 992 706 598 234 956 175
+ -10000 495 639 962 402 373 234 829 792 199
+ -10000 490 204 215 391 482 163 937 941 831
+ -10000 30 947 103 753 306 370 969 178 329
+ -10000 236 408 327 852 600 163 972 281 122
+ -10000 417 264 519 75 158 992 210 194 182
+ -10000 603 189 879 952 236 790 975 553 944
+ -10000 336 229 0 210 426 754 242 163 665
+ -10000 955 395 177 884 758 192 384 403 6
+ -10000 848 912 969 641 931 923 925 738 340
+ -10000 169 663 762 573 410 208 461 519 569
+ -10000 394 990 459 237 802 677 987 516 775
+ -10000 703 634 865 125 766 953 38 192 276
+ -10000 904 39 358 560 935 216 116 993 388
+ -10000 195 330 542 316 408 175 279 202 921
+ -10000 105 526 150 843 833 184 387 566 496
+ -10000 489 193 142 531 848 280 315 391 241
+ -10000 450 408 291 690 694 779 735 724 266
+ -10000 139 705 903 701 671 909 399 751 89
+ -10000 109 400 851 659 892 512 530 633 877
+ -10000 926 371 247 786 271 674 877 776 391
+ -10000 396 493 157 117 205 685 605 396 117
+ -10000 755 638 507 135 358 332 583 875 852
+ -10000 414 155 400 546 738 844 104 966 940
+ -10000 109 897 970 423 734 522 565 931 73
+ -10000 279 820 820 153 449 144 408 857 386
+ -10000 194 194 545 721 676 358 476 352 4
+ -10000 935 480 641 950 955 725 182 815 665
+ -10000 907 719 773 243 275 846 899 201 487
+ -10000 377 503 494 195 18 79 402 798 684
+ -10000 120 592 45 497 207 328 606 4 752
+ -10000 10 362 24 534 463 636 738 330 951
+ -10000 862 25 680 220 622 723 96 976 79
+ -10000 631 230 465 919 278 978 359 947 846
+ -10000 555 584 620 656 747 802 954 947 307
+ -10000 832 901 437 808 705 984 313 140 863
+ -10000 227 370 493 498 987 918 771 833 808
+ -10000 954 449 640 97 953 498 793 557 754
+ -10000 89 976 281 365 279 336 220 352 548
+ -10000 223 489 765 883 804 12 187 827 864
+ -10000 283 578 806 733 299 883 361 163 662
+ -10000 421 95 364 63 551 451 854 415 591
+ -10000 932 655 216 36 10 162 454 211 195
+ -10000 339 682 916 748 326 613 380 461 640
+ -10000 182 760 109 499 346 727 24 135 955
+ -10000 229 191 243 653 82 52 754 670 932
+ -10000 622 545 182 630 615 923 726 292 284
+ -10000 715 407 343 57 20 571 805 277 527
+ -10000 227 318 215 448 888 414 194 32 422
+ -10000 81 460 394 455 510 170 310 655 883
+ -10000 729 664 405 738 462 782 643 928 444
+ -10000 157 410 646 79 225 573 443 547 56
+ -10000 294 255 416 362 613 929 571 346 401
+ -10000 342 49 915 505 972 467 327 57 823
+ -10000 142 796 385 86 274 575 603 793 804
+ -10000 376 43 287 893 735 724 385 829 507
+ -10000 306 207 937 891 668 121 187 692 746
+ -10000 693 938 784 490 263 223 266 318 740
+ -10000 728 154 993 649 479 186 194 269 921
+ -10000 521 598 534 364 546 438 369 589 958
+ -10000 996 853 363 110 736 143 906 0 175
+ -10000 314 401 218 400 877 438 276 235 238
+ -10000 125 845 399 963 683 442 337 943 644
+ -10000 700 741 993 641 682 607 992 551 9
+ -10000 264 931 291 911 523 489 202 109 866
+ -10000 668 69 770 932 369 469 60 845 764
+ -10000 362 413 964 271 504 899 713 91 98
+ -10000 714 663 886 226 994 376 444 274 275
+ -10000 834 678 261 821 488 697 481 673 755
+ -10000 17 971 949 786 811 161 626 841 568
+ -10000 849 196 289 659 863 242 411 382 719
+ -10000 223 165 857 740 464 820 540 868 607
+ -10000 873 806 887 282 763 971 125 20 234
+ -10000 717 543 589 269 900 756 967 582 201
+ -10000 329 830 687 769 320 655 318 148 49
+ -10000 441 455 992 190 827 366 28 598 614
+ -10000 605 824 845 364 601 838 150 885 510
+ -10000 618 498 431 170 748 72 700 302 294
+ -10000 456 793 881 276 708 862 961 831 285
+ -10000 424 977 413 313 756 501 721 632 779
+ -10000 754 213 272 683 186 658 691 978 871
+ -10000 78 480 683 317 574 590 708 933 78
+ -10000 556 876 287 805 43 3 470 834 29
+ -10000 415 307 119 731 133 248 240 390 623
+ -10000 107 19 95 314 588 788 682 83 77
+ -10000 257 267 799 651 686 374 351 509 55
+ -10000 853 612 131 285 738 23 76 375 864
+ -10000 92 425 155 628 56 831 655 557 568
+ -10000 683 744 241 672 597 809 925 497 901
+ -10000 557 797 761 813 512 115 139 23 405
+ -10000 191 12 160 211 708 665 960 88 851
+ -10000 37 943 719 490 132 561 708 224 511
+ -10000 966 300 687 926 188 579 583 551 945
+ -10000 329 846 674 653 781 706 309 719 541
+ -10000 458 266 718 195 541 196 319 830 133
+ -10000 84 642 600 524 754 247 195 195 263
+ -10000 483 628 726 909 245 277 588 871 523
+ -10000 133 111 624 466 749 712 524 756 858
+ -10000 501 51 416 39 257 58 805 309 706
+ -10000 223 835 865 567 830 662 465 848 180
+ -10000 2 534 427 42 740 103 92 382 132
+ -10000 781 612 302 768 790 51 100 537 173
+ -10000 269 52 717 392 909 644 853 334 447
+ -10000 908 927 491 943 399 356 132 776 152
+ -10000 540 884 479 512 273 971 1 312 72
+ -10000 170 33 299 798 58 974 524 952 674
+ -10000 240 371 942 325 751 43 694 88 993
+ -10000 225 44 701 567 630 565 705 399 289
+ -10000 516 91 464 148 454 21 75 154 19
+ -10000 769 496 758 493 276 170 324 515 313
+ -10000 446 479 740 568 969 953 578 262 513
+ -10000 93 417 483 214 319 289 637 944 798
+ -10000 103 747 661 349 157 279 108 317 153
+ -10000 856 762 173 879 256 618 96 23 335
+ -10000 478 897 296 591 806 446 739 671 996
+ -10000 387 961 574 439 851 539 222 317 76
+ -10000 270 825 277 513 99 431 157 526 547
+ -10000 200 126 315 69 673 53 335 820 632
+ -10000 923 865 137 559 939 391 196 581 219
+ -10000 331 617 416 109 892 613 84 979 719
+ -10000 253 198 520 324 914 676 59 571 393
+ -10000 956 825 675 858 855 154 485 334 772
+ -10000 421 459 465 302 732 729 609 455 853
+ -10000 277 517 167 216 928 919 168 390 185
+ -10000 320 356 954 694 825 466 477 835 210
+ -10000 770 260 274 912 654 974 829 451 6
+ -10000 63 149 372 85 641 438 724 759 148
+ -10000 912 826 237 55 918 378 428 464 145
+ -10000 511 253 599 906 470 623 825 618 957
+ -10000 19 918 931 11 365 864 186 795 496
+ -10000 477 323 302 608 665 350 45 450 857
+ -10000 132 553 254 233 406 800 945 664 727
+ -10000 216 987 179 302 913 585 440 386 264
+ -10000 880 931 93 135 482 83 142 673 273
+ -10000 346 971 843 279 946 522 625 745 259
+ -10000 622 977 37 426 756 958 713 266 293
+ -10000 496 391 797 938 110 862 469 841 680
+ -10000 443 882 377 272 193 396 561 392 666
+ -10000 769 857 594 868 249 841 615 945 279
+ -10000 372 30 212 34 837 231 266 731 103
+ -10000 997 745 445 363 365 169 614 814 166
+ -10000 297 567 524 156 239 705 151 779 600
+ -10000 114 93 708 663 834 310 256 638 783
+ -10000 357 996 592 520 837 715 590 371 666
+ -10000 847 322 884 96 750 772 906 988 753
+ -10000 602 63 656 587 392 990 490 620 909
+ -10000 578 819 24 702 985 375 772 176 266
+ -10000 352 394 467 185 528 362 225 399 834
+ -10000 772 916 799 294 515 574 100 987 401
+ -10000 385 833 363 430 412 998 783 213 452
+ -10000 163 248 259 509 292 236 930 214 355
+ -10000 396 710 707 540 345 674 309 315 259
+ -10000 877 37 564 250 165 970 959 603 995
+ -10000 366 223 986 206 415 900 606 696 455
+ -10000 408 29 97 590 766 539 444 931 830
+ -10000 808 789 245 38 300 801 566 911 615
+ -10000 408 709 670 885 301 964 670 608 853
+ -10000 138 604 588 670 335 868 246 480 514
+ -10000 422 942 507 58 997 479 807 597 10
+ -10000 464 517 831 191 186 117 304 784 5
+ -10000 496 478 681 128 343 907 568 174 536
+ -10000 92 133 748 283 631 618 949 541 893
+ -10000 570 898 101 779 540 998 25 448 362
+ -10000 297 109 89 93 70 213 987 991 147
+ -10000 732 238 623 823 642 744 585 575 9
+ -10000 105 329 870 445 945 947 452 359 345
+ -10000 468 532 171 499 896 12 963 996 766
+ -10000 557 674 20 971 216 495 875 829 597
+ -10000 868 443 899 539 780 158 543 563 334
+ -10000 590 247 169 161 767 470 648 998 370
+ -10000 173 780 793 952 298 785 651 165 771
+ -10000 407 839 230 976 774 613 725 375 268
+ -10000 973 120 181 746 258 17 425 887 408
+ -10000 283 557 947 541 292 499 932 28 682
+ -10000 590 661 197 254 895 514 209 402 64
+ -10000 695 204 863 454 899 783 81 228 549
+ -10000 709 808 288 658 997 403 5 460 616
+ -10000 422 989 456 44 352 976 748 259 971
+ -10000 22 579 529 517 971 353 808 552 611
+ -10000 815 167 792 105 710 28 931 862 395
+ -10000 827 72 962 839 428 706 78 623 76
+ -10000 871 986 448 557 919 163 972 139 642
+ -10000 993 231 269 272 989 272 469 854 149
+ -10000 746 950 820 277 987 772 500 395 24
+ -10000 877 334 9 388 54 782 905 198 941
+ -10000 492 39 307 905 543 65 650 89 535
+ -10000 989 104 93 588 489 340 612 470 149
+ -10000 732 451 615 155 154 723 490 836 970
+ -10000 352 963 736 432 190 385 17 543 597
+ -10000 473 991 409 505 748 479 890 318 168
+ -10000 550 865 183 385 777 857 49 127 958
+ -10000 799 95 461 113 728 977 593 45 968
+ -10000 50 438 516 268 546 664 389 279 786
+ -10000 725 940 979 461 494 442 938 419 106
+ -10000 905 599 519 199 541 760 871 463 259
+ -10000 109 951 941 861 945 862 159 11 281
+ -10000 341 647 947 362 408 27 362 64 72
+ -10000 404 365 333 479 460 866 336 313 473
+ -10000 249 92 982 456 597 96 636 552 183
+ -10000 129 842 810 201 547 614 986 869 547
+ -10000 556 929 308 451 871 840 703 281 920
+ -10000 582 64 177 159 635 487 820 636 134
+ -10000 868 408 461 358 845 78 526 354 102
+ -10000 320 49 543 237 542 803 318 269 912
+ -10000 144 19 531 188 903 457 943 933 47
+ -10000 652 157 636 873 316 602 809 44 861
+ -10000 705 742 156 810 898 679 806 225 102
+ -10000 812 381 644 776 941 272 148 984 910
+ -10000 570 297 687 993 537 667 557 981 845
+ -10000 886 605 54 389 662 621 193 634 467
+ -10000 204 269 712 952 380 646 169 535 954
+ -10000 53 995 696 490 476 765 174 395 487
+ -10000 805 611 913 792 897 852 885 438 474
+ -10000 871 100 850 810 672 43 786 822 172
+ -10000 531 437 23 140 753 748 162 613 15
+ -10000 303 808 11 214 540 820 602 440 766
+ -10000 803 245 648 760 128 669 955 737 312
+ -10000 882 475 28 224 672 831 229 651 937
+ -10000 844 600 334 655 426 603 104 635 95
+ -10000 688 662 22 372 859 665 756 299 264
+ -10000 501 186 277 186 839 890 292 706 13
+ -10000 896 379 306 601 350 434 170 13 849
+ -10000 547 747 546 110 996 263 88 217 692
+ -10000 818 476 674 468 936 2 909 986 691
+ -10000 322 424 255 171 605 966 324 65 75
+ -10000 373 672 371 260 57 339 745 699 351
+ -10000 761 477 34 362 862 551 171 119 430
+ -10000 806 368 843 474 757 859 877 304 51
+ -10000 992 415 946 214 537 38 762 435 932
+ -10000 257 131 31 484 395 601 805 336 825
+ -10000 149 233 778 19 662 910 570 867 503
+ -10000 840 529 620 589 120 185 949 876 20
+ -10000 378 343 84 34 508 801 964 23 714
+ -10000 545 493 128 44 880 274 957 20 771
+ -10000 420 235 748 714 300 389 500 889 64
+ -10000 327 88 235 131 468 48 439 124 555
+ -10000 128 469 507 47 913 915 516 666 232
+ -10000 483 595 809 532 728 837 152 142 974
+ -10000 898 671 688 22 124 384 640 623 247
+ -10000 187 638 749 709 624 498 983 641 604
+ -10000 155 969 808 214 94 831 173 640 386
+ -10000 717 516 86 533 621 887 376 210 880
+ -10000 361 446 701 695 604 435 95 637 754
+ -10000 883 54 101 475 132 262 948 225 991
+ -10000 921 311 644 715 133 572 777 280 721
+ -10000 754 157 693 322 377 285 503 19 789
+ -10000 196 715 604 250 155 376 202 141 903
+ -10000 908 530 765 18 265 576 95 898 938
+ -10000 979 773 806 994 89 103 701 133 655
+ -10000 548 958 144 521 461 600 182 361 740
+ -10000 810 826 165 304 327 953 68 70 345
+ -10000 398 734 369 268 627 452 333 971 979
+ -10000 668 985 575 391 748 100 350 459 447
+ -10000 134 193 2 535 756 133 416 769 279
+ -10000 739 190 966 195 512 546 715 960 761
+ -10000 959 38 240 747 668 778 20 495 609
+ -10000 924 572 443 219 821 347 564 582 930
+ -10000 29 201 448 861 579 157 116 495 996
+ -10000 263 976 282 915 470 440 363 887 531
+ -10000 778 499 366 266 9 473 87 672 607
+ -10000 475 591 809 447 509 534 1000 732 291
+ -10000 301 185 667 862 32 377 474 765 103
+ -10000 783 381 529 213 929 743 845 715 561
+ -10000 414 249 130 378 83 855 512 875 811
+ -10000 855 886 131 734 352 330 805 902 220
+ -10000 379 157 524 130 357 743 784 400 317
+ -10000 935 529 266 419 302 610 988 753 673
+ -10000 418 536 95 886 343 62 254 568 326
+ -10000 315 270 968 906 57 281 579 265 575
+ -10000 82 871 456 54 27 562 868 412 632
+ -10000 71 318 740 50 321 54 80 194 934
+ -10000 837 312 836 12 3 239 621 359 23
+ -10000 345 916 773 282 928 698 313 64 32
+ -10000 175 480 723 924 135 508 930 371 154
+ -10000 815 201 708 662 878 57 909 285 626
+ -10000 652 752 847 732 378 367 86 733 251
+ -10000 854 108 993 563 887 892 858 772 718
+ -10000 734 982 257 144 824 691 317 957 772
+ -10000 800 378 557 513 922 25 556 863 224
+ -10000 172 588 336 583 196 644 997 751 911
+ -10000 573 454 584 111 485 952 891 77 740
+ -10000 349 999 734 376 415 552 812 356 560
+ -10000 187 388 468 585 336 479 186 958 492
+ -10000 501 205 91 959 828 64 347 364 437
+ -10000 511 736 64 897 955 867 273 178 158
+ -10000 1 392 137 801 113 203 348 632 720
+ -10000 296 953 658 685 650 16 255 602 557
+ -10000 123 7 396 286 628 659 853 0 762
+ -10000 383 863 850 258 29 880 835 32 27
+ -10000 841 173 648 287 852 209 334 387 944
+ -10000 72 144 813 659 179 341 417 389 754
+ -10000 262 635 927 176 360 509 825 453 561
+ -10000 739 377 951 974 269 187 756 916 630
+ -10000 327 620 787 549 119 574 425 400 167
+ -10000 228 737 49 597 319 422 75 859 348
+ -10000 353 671 556 730 47 493 198 426 866
+ -10000 803 361 127 600 147 633 241 253 788
+ -10000 901 837 711 957 149 720 872 488 276
+ -10000 670 783 475 791 643 789 177 14 718
+ -10000 809 437 518 502 113 402 847 692 437
+ -10000 941 450 306 119 952 603 481 135 914
+ -10000 149 211 414 821 251 982 944 479 363
+ -10000 594 18 34 897 770 650 651 145 131
+ -10000 549 516 718 911 50 811 875 762 405
+ -10000 865 6 620 310 450 226 590 345 421
+ -10000 605 100 289 163 886 65 403 273 773
+ -10000 493 162 480 232 592 695 157 682 649
+ -10000 104 265 234 706 519 151 272 143 150
+ -10000 128 783 570 898 369 300 75 141 592
+ -10000 870 553 358 410 26 908 506 702 247
+ -10000 68 205 965 756 241 790 416 736 859
+ -10000 175 537 518 956 903 91 786 757 210
+ -10000 600 291 619 51 708 686 116 174 803
+ -10000 989 335 411 526 122 91 885 927 787
+ -10000 193 978 969 630 823 188 915 632 594
+ -10000 409 389 471 22 365 17 77 149 810
+ -10000 534 354 26 327 651 812 608 226 182
+ -10000 845 780 744 356 346 735 294 115 585
+ -10000 855 326 232 159 578 903 120 166 247
+ -10000 59 453 532 268 984 538 865 12 893
+ -10000 933 122 90 670 603 718 327 395 965
+ -10000 489 459 493 720 753 33 144 490 564
+ -10000 623 808 570 242 648 323 459 96 135
+ -10000 961 913 23 227 311 235 728 70 682
+ -10000 885 131 941 933 679 375 866 31 342
+ -10000 972 993 784 328 558 106 203 269 720
+ -10000 410 727 618 194 672 238 652 144 391
+ -10000 73 688 576 889 540 436 136 865 598
+ -10000 814 39 667 387 244 688 753 500 539
+ -10000 390 536 571 766 493 116 255 843 615
+ -10000 349 264 297 229 960 438 865 587 525
+ -10000 489 753 291 137 260 851 73 362 325
+ -10000 776 119 691 271 364 461 346 455 861
+ -10000 299 618 984 366 280 454 285 814 159
+ -10000 58 642 901 719 216 905 410 766 275
+ -10000 339 587 744 853 891 372 781 698 140
+ -10000 594 645 161 257 921 910 462 418 964
+ -10000 646 135 886 390 16 294 120 299 681
+ -10000 408 40 610 11 363 613 855 874 437
+ -10000 280 1000 722 68 945 771 651 457 414
+ -10000 805 650 904 364 19 823 843 11 244
+ -10000 375 387 966 479 465 428 954 550 496
+ -10000 814 581 683 270 530 537 440 184 290
+ -10000 911 849 948 959 489 212 408 828 517
+ -10000 919 822 392 526 925 863 745 113 925
+ -10000 14 860 636 552 87 87 394 899 726
+ -10000 128 820 167 178 692 790 936 965 554
+ -10000 70 443 254 575 298 601 649 841 111
+ -10000 705 599 587 462 493 94 746 359 399
+ -10000 166 935 771 4 603 354 356 267 63
+ -10000 895 378 285 735 691 206 327 972 605
+ -10000 669 600 884 959 438 152 671 338 351
+ -10000 100 952 865 991 997 623 387 874 39
+ -10000 431 704 422 874 456 252 138 73 380
+ -10000 885 325 414 777 379 991 389 323 868
+ -10000 800 243 72 668 210 75 520 482 273
+ -10000 550 56 193 857 683 390 9 350 216
+ -10000 25 15 515 65 95 664 890 173 619
+ -10000 168 242 429 565 289 327 189 263 991
+ -10000 766 278 95 15 863 174 158 370 265
+ -10000 634 655 738 456 387 9 354 360 823
+ -10000 593 34 451 97 89 450 195 868 216
+ -10000 922 467 572 671 974 606 238 919 575
+ -10000 294 218 810 484 420 966 637 742 583
+ -10000 676 996 825 408 219 592 834 629 874
+ -10000 302 627 381 71 150 493 572 351 787
+ -10000 833 904 370 520 943 779 572 881 25
+ -10000 377 17 727 372 114 167 912 791 776
+ -10000 949 389 435 857 753 325 543 64 988
+ -10000 332 498 528 516 899 465 941 606 50
+ -10000 798 773 154 689 582 684 549 753 450
+ -10000 613 824 302 265 270 917 594 280 543
+ -10000 717 490 986 143 360 19 417 540 111
+ -10000 309 464 824 866 154 519 628 189 954
+ -10000 763 593 794 503 668 671 511 858 707
+ -10000 146 769 36 20 835 765 34 101 356
+ -10000 543 357 850 473 909 574 749 810 651
+ -10000 750 929 952 190 970 564 488 253 76
+ -10000 519 605 481 53 623 980 15 601 430
+ -10000 588 60 32 195 150 330 31 107 822
+ -10000 217 694 336 616 53 719 924 869 224
+ -10000 314 971 942 13 807 462 171 290 260
+ -10000 742 782 116 301 467 84 977 349 106
+ -10000 389 208 222 920 850 704 350 488 952
+ -10000 499 176 168 221 892 130 276 517 157
+ -10000 659 779 648 238 839 714 443 872 832
+ -10000 983 140 670 981 31 412 333 539 297
+ -10000 791 454 954 521 560 369 150 181 794
+ -10000 837 200 278 885 452 680 403 297 647
+ -10000 125 317 683 233 324 852 720 449 878
+ -10000 46 19 71 733 629 360 458 752 673
+ -10000 466 646 103 45 162 424 703 658 351
+ -10000 855 167 935 942 236 958 835 255 452
+ -10000 480 647 853 575 866 632 346 741 428
+ -10000 110 659 222 897 12 495 713 232 503
+ -10000 976 414 242 79 384 459 775 6 577
+ -10000 102 189 566 41 977 887 377 836 636
+ -10000 393 620 598 853 743 767 328 872 618
+ -10000 510 293 772 458 4 697 886 851 817
+ -10000 988 74 325 919 157 46 543 199 393
+ -10000 428 953 253 758 205 657 982 220 214
+ -10000 233 947 6 989 57 313 187 886 447
+ -10000 674 451 396 489 794 244 253 366 612
+ -10000 762 762 433 587 576 506 557 613 954
+ -10000 925 548 582 571 139 916 282 110 475
+ -10000 195 919 283 549 574 53 652 224 901
+ -10000 107 936 844 436 380 59 596 489 903
+ -10000 186 78 112 964 354 662 300 871 408
+ -10000 642 435 473 605 827 757 495 333 753
+ -10000 52 434 198 642 202 390 779 436 144
+ -10000 666 559 410 614 140 157 527 412 125
+ -10000 529 18 933 999 290 495 350 774 265
+ -10000 349 398 90 949 679 153 533 201 538
+ -10000 791 537 896 567 797 685 151 232 745
+ -10000 186 604 251 284 921 920 395 237 835
+ -10000 122 122 784 107 612 239 517 889 973
+ -10000 276 778 701 899 815 931 340 458 688
+ -10000 9 19 228 219 694 421 960 845 752
+ -10000 196 994 817 585 108 121 262 678 616
+ -10000 861 837 392 35 708 159 652 126 547
+ -10000 692 75 920 620 312 537 36 763 112
+ -10000 62 610 525 388 301 49 465 588 354
+ -10000 814 950 49 257 684 473 2 301 119
+ -10000 55 149 815 759 121 986 983 908 733
+ -10000 913 1 316 204 226 976 590 523 85
+ -10000 487 843 813 357 833 799 659 556 372
+ -10000 865 643 707 843 178 463 858 357 480
+ -10000 988 766 913 926 789 269 189 319 590
+ -10000 601 728 618 599 560 772 326 480 915
+ -10000 652 443 780 400 93 479 614 0 109
+ -10000 148 526 828 536 374 238 184 120 619
+ -10000 340 941 352 716 991 634 938 547 539
+ -10000 138 894 654 74 692 172 701 977 662
+ -10000 764 84 337 410 173 419 410 986 733
+ -10000 274 322 392 172 460 95 516 606 692
+ -10000 851 683 417 550 787 850 912 681 456
+ -10000 643 675 65 828 260 0 5 500 391
+ -10000 92 421 779 353 429 298 755 724 773
+ -10000 504 387 915 826 547 106 888 728 446
+ -10000 489 404 587 836 617 662 376 202 508
+ -10000 229 748 208 169 381 503 266 218 156
+ -10000 316 804 610 643 135 971 104 428 9
+ -10000 786 753 681 63 614 639 927 43 388
+ -10000 687 391 856 254 312 611 885 199 612
+ -10000 985 626 59 704 180 712 120 29 685
+ -10000 944 57 666 552 806 804 934 606 932
+ -10000 554 137 60 264 220 869 684 729 337
+ -10000 926 102 959 704 202 651 941 431 228
+ -10000 44 892 77 94 757 940 770 436 155
+ -10000 785 917 757 306 279 532 124 727 890
+ -10000 341 18 560 308 578 258 922 590 861
+ -10000 401 838 959 615 847 786 974 430 611
+ -10000 908 730 687 440 363 28 435 172 317
+ -10000 163 451 744 622 619 482 671 927 442
+ -10000 465 769 332 853 221 266 283 758 786
+ -10000 880 302 289 781 196 575 746 144 203
+ -10000 89 737 716 689 327 804 719 966 226
+ -10000 895 246 213 758 918 242 478 872 777
+ -10000 908 377 639 290 108 713 778 135 451
+ -10000 701 163 680 179 115 108 738 546 679
+ -10000 252 412 148 973 429 448 495 741 12
+ -10000 384 788 298 559 393 298 263 208 253
+ -10000 961 782 176 602 798 518 527 360 557
+ -10000 760 263 156 833 359 709 752 373 915
+ -10000 269 926 449 766 781 675 850 960 742
+ -10000 493 670 310 919 81 208 242 908 854
+ -10000 611 168 735 273 436 574 660 829 304
+ -10000 229 992 712 445 673 174 494 865 157
+ -10000 861 115 583 630 781 990 1000 92 832
+ -10000 905 797 590 328 819 746 679 292 851
+ -10000 835 952 553 964 203 370 43 688 751
+ -10000 978 146 407 530 347 678 207 389 26
+ -10000 164 452 537 259 810 369 119 225 872
+ -10000 399 859 646 465 893 484 387 55 907
+ -10000 489 341 174 70 258 514 897 366 741
+ -10000 9 956 238 697 585 348 450 518 186
+ -10000 711 136 750 422 976 863 77 419 616
+ -10000 585 801 511 843 673 64 310 459 9
+ -10000 325 139 69 977 70 624 169 691 626
+ -10000 81 683 673 665 14 986 926 852 68
+ -10000 642 499 378 274 554 848 601 584 239
+ -10000 131 186 911 214 698 740 529 168 769
+ -10000 697 885 689 572 944 356 282 209 533
+ -10000 649 749 998 437 944 982 219 741 980
+ -10000 431 56 995 639 311 137 970 106 430
+ -10000 529 934 887 872 334 529 108 647 309
+ -10000 79 58 424 7 234 256 535 193 43
+ -10000 510 463 361 201 379 993 896 238 711
+ -10000 441 488 883 65 664 576 927 921 533
+ -10000 829 327 711 245 512 99 374 711 454
+ -10000 188 355 167 485 905 292 662 396 277
+ -10000 641 723 558 223 620 915 813 469 126
+ -10000 292 269 551 829 508 342 162 22 768
+ -10000 289 881 609 90 368 428 26 430 887
+ -10000 695 776 230 969 557 806 508 395 601
+ -10000 416 154 861 874 234 276 487 301 137
+ -10000 236 297 987 565 576 122 41 570 401
+ -10000 455 306 561 116 843 261 233 189 601
+ -10000 922 546 481 862 493 481 233 307 528
+ -10000 331 867 310 408 779 171 605 390 558
+ -10000 793 650 746 87 914 62 903 665 543
+ -10000 0 25 532 298 448 734 153 618 260
+ -10000 756 478 150 677 610 564 256 638 766
+ -10000 491 932 55 714 114 849 655 879 108
+ -10000 771 240 95 742 815 447 647 889 205
+ -10000 314 26 230 154 133 335 155 609 606
+ -10000 993 85 236 148 753 98 894 25 932
+ -10000 910 715 982 977 632 151 16 89 158
+ -10000 412 463 752 657 876 610 331 352 676
+ -10000 753 571 535 16 631 248 228 304 83
+ -10000 826 212 578 382 640 723 953 216 629
+ -10000 647 624 317 863 907 445 551 732 927
+ -10000 371 736 218 200 507 190 405 641 154
+ -10000 41 629 974 123 898 822 610 213 448
+ -10000 388 106 528 714 173 865 780 696 670
+ -10000 615 16 770 596 191 396 267 481 731
+ -10000 364 723 412 284 256 621 785 681 465
+ -10000 796 305 966 539 420 796 323 14 659
+ -10000 891 865 914 817 871 43 528 454 729
+ -10000 292 145 400 26 507 264 109 524 668
+ -10000 940 525 30 850 897 962 383 500 819
+ -10000 189 710 497 514 162 972 72 12 752
+ -10000 430 845 906 208 824 404 925 362 594
+ -10000 488 334 406 905 474 400 962 335 990
+ -10000 802 100 684 750 256 345 142 814 793
+ -10000 673 723 83 530 209 918 47 446 311
+ -10000 254 998 938 484 708 526 115 205 876
+ -10000 634 952 504 217 742 425 871 800 218
+ -10000 229 31 459 121 336 318 44 434 432
+ -10000 290 61 951 70 912 3 397 833 611
+ -10000 909 547 914 853 557 534 630 708 358
+ -10000 816 713 360 730 255 377 461 948 694
+ -10000 499 904 81 917 97 935 818 601 116
+ -10000 594 623 575 242 487 684 301 686 592
+ -10000 840 209 253 877 802 246 183 382 214
+ -10000 262 851 479 280 333 707 664 273 505
+ -10000 908 960 675 710 944 674 906 278 858
+ -10000 920 509 823 602 291 703 331 915 32
+ -10000 287 521 748 346 2 172 910 893 864
+ -10000 335 207 903 137 512 381 328 428 543
+ -10000 56 365 501 949 918 112 893 966 435
+ -10000 950 947 997 877 519 982 790 880 723
+ -10000 536 184 802 836 943 787 360 863 668
+ -10000 214 150 818 944 582 457 741 117 462
+ -10000 1000 202 988 28 833 38 528 120 961
+ -10000 352 270 3 58 291 161 959 822 141
+ -10000 385 353 628 226 461 317 4 984 773
+ -10000 226 623 310 650 938 143 221 990 549
+ -10000 34 622 664 670 214 81 251 95 281
+ -10000 135 588 218 561 243 972 396 592 349
+ -10000 739 769 996 149 743 144 187 231 833
+ -10000 107 17 621 346 191 261 361 562 22
+ -10000 641 272 218 331 770 475 32 351 742
+ -10000 483 554 609 342 260 686 763 800 172
+ -10000 892 959 622 86 38 406 135 482 501
+ -10000 77 113 548 225 624 813 887 236 170
+ -10000 16 242 560 473 908 503 94 900 545
+ -10000 925 541 868 568 953 900 696 882 364
+ -10000 6 162 711 151 532 258 253 306 661
+ -10000 583 457 209 468 782 160 94 873 394
+ -10000 664 377 524 549 475 220 162 333 782
+ -10000 652 229 734 454 39 325 212 685 675
+ -10000 119 418 399 626 328 844 327 923 183
+ -10000 497 709 784 927 647 793 363 453 446
+ -10000 814 347 892 298 855 786 312 368 989
+ -10000 53 879 153 675 570 624 781 494 662
+ -10000 433 375 944 390 659 821 17 499 665
+ -10000 130 840 89 587 883 391 715 20 361
+ -10000 589 612 912 721 899 832 178 309 755
+ -10000 609 353 657 544 716 301 753 573 957
+ -10000 209 338 745 487 997 671 91 303 285
+ -10000 699 55 903 139 129 482 736 203 129
+ -10000 457 447 969 231 293 684 689 551 929
+ -10000 833 422 619 71 260 975 942 388 342
+ -10000 401 277 111 298 147 734 183 723 981
+ -10000 531 642 565 709 208 223 955 590 799
+ -10000 520 105 301 450 522 928 541 0 492
+ -10000 365 291 523 890 827 917 11 418 908
+ -10000 813 139 933 376 465 163 773 923 879
+ -10000 565 14 189 622 685 802 340 69 512
+ -10000 854 421 9 864 976 657 895 466 512
+ -10000 113 410 347 29 706 281 563 645 83
+ -10000 858 507 258 339 689 159 283 371 191
+ -10000 992 974 703 786 650 629 328 997 878
+ -10000 827 309 279 335 253 476 425 967 115
+ -10000 920 484 548 43 42 153 551 631 63
+ -10000 987 35 620 520 115 191 399 979 705
+ -10000 780 260 152 32 551 555 135 419 416
+ -10000 708 186 37 510 922 87 833 78 17
+ -10000 660 336 643 120 479 733 567 517 657
+ -10000 545 450 498 438 776 808 671 988 772
+ -10000 588 318 325 695 170 952 815 989 56
+ -10000 730 47 684 807 251 942 544 513 242
+ -10000 180 187 772 644 681 652 383 748 429
+ -10000 256 942 220 716 733 437 28 379 618
+ -10000 344 569 109 909 414 335 147 907 851
+ -10000 106 606 13 878 934 951 870 970 60
+ -10000 593 618 237 956 867 356 95 337 370
+ -10000 347 909 768 509 907 155 416 102 912
+ -10000 18 680 524 527 868 815 133 413 667
+ -10000 984 425 597 868 537 787 522 361 287
+ -10000 860 141 883 562 221 690 32 100 613
+ -10000 750 453 108 620 259 64 121 438 409
+ -10000 949 798 728 407 853 505 674 239 623
+ -10000 963 778 900 975 39 793 421 865 417
+ -10000 595 266 351 404 3 234 166 497 130
+ -10000 282 939 342 505 959 185 58 354 269
+ -10000 499 323 485 185 489 100 807 195 596
+ -10000 80 45 239 692 721 238 99 175 118
+ -10000 918 27 971 952 607 400 670 582 961
+ -10000 641 134 302 346 308 627 985 757 870
+ -10000 487 483 752 761 90 866 37 298 924
+ -10000 769 704 483 469 866 569 395 683 397
+ -10000 592 484 900 501 936 485 595 45 720
+ -10000 16 280 897 636 321 915 360 946 796
+ -10000 826 372 861 125 804 548 914 78 491
+ -10000 934 441 653 842 162 408 195 994 979
+ -10000 5 279 41 467 901 201 627 910 928
+ -10000 664 188 358 135 537 427 905 991 996
+ -10000 120 891 614 328 511 875 410 976 9
+ -10000 731 269 820 288 913 144 636 445 668
+ -10000 959 645 245 878 825 311 960 668 717
+ -10000 928 576 402 37 411 63 201 74 488
+ -10000 128 27 665 812 498 423 223 151 132
+ -10000 843 291 286 628 388 130 422 755 761
+ -10000 910 920 700 623 897 254 78 249 355
+ -10000 867 674 124 883 852 115 282 899 121
+ -10000 171 162 259 883 101 315 805 224 789
+ -10000 592 79 749 526 928 990 367 253 149
+ -10000 962 821 952 909 392 838 904 975 843
+ -10000 309 969 117 680 115 654 882 842 523
+ -10000 385 307 265 77 858 736 90 518 328
+ -10000 796 20 367 398 632 321 839 969 71
+ -10000 65 540 424 392 396 893 318 97 772
+ -10000 745 866 875 568 541 288 146 633 603
+ -10000 187 56 350 210 205 895 422 896 503
+ -10000 386 891 265 493 968 753 326 889 245
+ -10000 894 903 917 452 672 471 30 99 883
+ -10000 815 461 484 36 855 369 86 159 772
+ -10000 556 955 659 865 973 671 66 515 668
+ -10000 293 158 727 445 110 196 84 313 364
+ -10000 311 350 249 114 890 150 751 118 979
+ -10000 304 162 371 784 339 777 456 336 712
+ -10000 384 165 949 780 347 914 572 860 552
+ -10000 262 828 344 244 365 646 588 862 570
+ -10000 827 57 268 758 144 808 37 440 271
+ -10000 830 205 189 63 97 391 569 801 172
+ -10000 646 346 464 991 180 44 866 452 275
+ -10000 553 247 863 56 467 11 513 234 764
+ -10000 641 945 901 236 381 431 716 504 112
+ -10000 647 375 450 23 560 6 66 741 699
+ -10000 89 585 721 650 366 174 258 843 317
+ -10000 547 983 455 319 650 565 8 178 489
+ -10000 55 849 356 375 871 303 88 424 536
+ -10000 57 29 681 107 494 831 904 928 935
+ -10000 219 542 196 197 200 354 47 830 633
+ -10000 883 131 524 352 144 590 636 685 439
+ -10000 409 804 999 148 522 868 2 811 399
+ -10000 343 397 13 41 921 906 792 599 308
+ -10000 638 894 71 449 860 269 552 406 606
+ -10000 640 774 244 579 514 928 598 532 466
+ -10000 683 693 576 203 316 251 18 249 360
+ -10000 511 869 229 504 630 565 452 140 913
+ -10000 534 813 880 512 887 758 531 628 335
+ -10000 504 626 704 24 660 682 566 582 808
+ -10000 84 822 50 235 125 779 913 390 358
+ -10000 185 182 234 380 366 813 778 68 150
+ -10000 363 370 826 664 937 321 796 306 404
+ -10000 386 926 811 566 495 723 486 760 984
+ -10000 922 290 264 399 414 1 707 243 788
+ -10000 789 292 753 318 850 597 284 386 500
+ -10000 914 380 942 393 672 982 658 285 984
+ -10000 997 425 844 556 527 492 913 928 289
+ -10000 693 214 727 93 778 99 465 607 556
+ -10000 773 893 1000 491 371 217 778 595 978
+ -10000 493 663 124 928 803 59 357 21 701
+ -10000 901 305 317 793 109 800 534 202 890
+ -10000 299 533 310 46 79 939 662 320 286
+ -10000 757 483 641 181 10 725 454 938 312
+ -10000 643 945 728 161 772 609 87 678 869
+ -10000 431 152 968 579 912 420 393 26 510
+ -10000 642 259 853 510 566 670 698 818 430
+ -10000 194 399 354 120 977 287 144 368 295
+ -10000 212 769 868 690 372 11 382 422 622
+ -10000 702 973 266 340 748 85 229 993 939
+ -10000 411 794 431 994 963 222 13 721 571
+ -10000 302 216 437 651 306 999 682 992 391
+ -10000 30 664 113 146 939 750 789 337 795
+ -10000 885 126 364 713 314 278 108 704 915
+ -10000 784 133 613 513 928 72 634 660 352
+ -10000 853 358 635 191 20 919 725 301 567
+ -10000 177 942 158 744 543 269 690 58 874
+ -10000 775 469 182 527 286 254 510 654 447
+ -10000 816 834 616 664 273 864 98 301 48
+ -10000 299 458 495 809 401 221 940 958 339
+ -10000 233 823 850 498 214 949 936 190 213
+ -10000 122 553 863 995 13 961 296 736 422
+ -10000 620 343 686 518 307 62 964 960 452
+ -10000 598 403 914 570 724 573 543 80 109
+ -10000 889 361 746 657 260 920 74 521 877
+ -10000 466 416 507 508 433 707 757 79 47
+ -10000 336 543 427 203 844 226 762 441 951
+ -10000 220 34 829 240 493 406 753 127 1
+ -10000 9 50 485 953 755 234 40 87 357
+ -10000 112 672 205 406 652 351 394 67 418
+ -10000 745 181 306 378 219 476 249 472 61
+ -10000 862 840 512 425 753 327 75 693 13
+ -10000 205 422 159 227 269 953 962 587 519
+ -10000 857 184 662 182 269 168 688 511 370
+ -10000 956 158 728 459 333 483 13 22 778
+ -10000 31 850 840 323 208 206 786 273 361
+ -10000 543 371 641 573 34 577 947 90 684
+ -10000 850 736 491 925 156 303 625 792 340
+ -10000 909 848 399 292 311 829 298 99 609
+ -10000 410 528 684 207 424 162 863 405 730
+ -10000 860 642 533 915 10 479 19 961 671
+ -10000 276 731 802 243 285 287 803 447 629
+ -10000 951 171 532 649 672 427 259 719 814
+ -10000 255 936 619 826 594 372 905 937 363
+ -10000 887 421 74 37 768 699 794 523 700
+ -10000 109 680 1000 669 85 999 298 748 289
+ -10000 222 667 94 164 258 604 987 108 541
+ -10000 168 649 891 628 387 872 785 433 893
+ -10000 449 20 358 438 302 471 364 872 628
+ -10000 366 410 19 86 993 375 516 622 374
+ -10000 574 759 971 340 433 858 647 354 808
+ -10000 866 360 771 195 83 562 692 717 526
+ -10000 787 738 432 238 565 602 320 498 643
+ -10000 510 29 15 711 931 94 396 810 305
+ -10000 840 306 480 822 827 303 774 942 979
+ -10000 664 754 103 806 519 39 434 850 2
+ -10000 21 258 237 304 545 50 73 674 865
+ -10000 594 121 480 789 128 173 220 985 937
+ -10000 330 620 735 287 729 772 678 50 560
+ -10000 900 445 237 919 418 489 128 250 979
+ -10000 746 500 144 499 305 476 138 277 758
+ -10000 169 189 892 532 631 464 636 246 120
+ -10000 924 897 736 684 627 593 385 674 709
+ -10000 851 363 388 769 297 711 940 254 321
+ -10000 758 115 469 237 785 326 489 514 239
+ -10000 387 978 412 16 480 664 110 678 180
+ -10000 968 646 68 242 653 511 173 348 294
+ -10000 113 887 981 739 613 972 489 809 691
+ -10000 537 294 108 386 961 820 36 870 359
+ -10000 245 803 492 73 326 175 914 558 603
+ -10000 257 870 887 361 389 44 87 682 771
+ -10000 172 946 588 220 314 299 100 991 864
+ -10000 867 10 421 397 918 134 182 550 676
+ -10000 506 284 74 385 877 907 388 876 398
+ -10000 63 208 114 31 654 741 505 353 101
+ -10000 665 283 329 635 639 531 786 588 750
+ -10000 958 235 202 475 969 897 254 320 204
+ -10000 902 350 778 24 943 18 509 598 510
+ -10000 139 627 698 14 575 733 610 384 66
+ -10000 767 516 218 350 101 876 830 196 364
+ -10000 958 1000 593 978 372 947 637 691 369
+ -10000 939 448 438 57 155 780 564 904 684
+ -10000 326 138 145 676 120 190 632 477 144
+ -10000 557 43 519 801 938 610 211 67 112
+ -10000 653 875 109 90 508 95 475 618 459
+ -10000 371 677 799 421 113 795 148 719 383
+ -10000 137 448 667 502 272 835 801 627 17
+ -10000 839 615 530 291 431 147 908 712 268
+ -10000 555 994 892 566 4 849 382 124 919
+ -10000 273 646 630 32 153 746 423 767 66
+ -10000 561 635 530 990 63 729 402 655 411
+ -10000 152 817 969 934 174 2 202 848 669
+ -10000 870 108 0 905 491 289 721 817 1000
+ -10000 89 113 137 935 145 747 448 442 921
+ -10000 912 231 228 190 949 608 309 256 557
+ -10000 174 597 953 789 973 437 496 58 938
+ -10000 542 499 934 51 852 830 198 606 701
+ -10000 594 113 518 53 222 734 637 438 24
+ -10000 281 934 415 488 941 867 377 324 158
+ -10000 617 330 32 452 753 692 334 390 447
+ -10000 661 227 119 846 697 673 415 421 927
+ -10000 519 623 875 851 391 396 739 127 111
+ -10000 278 640 197 721 656 299 410 194 954
+ -10000 275 229 990 941 975 591 963 347 642
+ -10000 914 455 10 294 194 380 108 818 74
+ -10000 472 434 323 348 982 835 729 528 549
+ -10000 365 906 860 677 170 903 966 94 736
+ -10000 53 58 135 927 878 900 384 926 747
+ -10000 878 444 846 838 357 432 517 578 80
+ -10000 832 851 892 48 73 141 199 881 369
+ -10000 795 152 594 511 22 885 137 108 946
+ -10000 731 361 520 654 709 958 873 638 596
+ -10000 982 593 701 343 833 852 964 277 514
+ -10000 862 137 895 156 213 493 757 883 277
+ -10000 977 417 420 721 195 664 247 584 959
+ -10000 565 512 906 917 689 614 846 743 131
+ -10000 755 634 138 948 148 413 35 533 32
+ -10000 494 723 623 528 419 689 300 533 737
+ -10000 681 351 15 831 458 907 347 532 875
+ -10000 494 522 694 695 675 367 956 538 119
+ -10000 747 796 765 176 698 294 506 697 983
+ -10000 162 678 773 709 164 273 757 873 7
+ -10000 531 166 452 423 926 33 36 922 383
+ -10000 459 597 548 330 776 639 611 477 775
+ -10000 974 791 980 125 325 721 402 371 51
+ -10000 711 735 403 150 31 580 557 239 188
+ -10000 165 831 532 923 287 834 923 870 129
+ -10000 493 210 65 668 973 420 25 110 364
+ -10000 414 865 278 848 437 887 813 130 827
+ -10000 114 414 323 897 131 981 638 62 71
+ -10000 688 734 244 443 944 310 396 442 609
+ -10000 311 381 119 332 240 503 556 89 311
+ -10000 796 529 269 112 926 627 295 234 715
+ -10000 107 240 7 927 786 99 425 147 524
+ -10000 97 247 678 530 193 349 217 279 970
+ -10000 597 873 347 614 817 395 328 614 926
+ -10000 526 20 696 608 858 154 810 785 459
+ -10000 410 517 180 179 214 808 865 428 849
+ -10000 245 490 294 966 567 736 10 187 864
+ -10000 169 977 521 13 521 748 914 465 253
+ -10000 507 540 508 39 524 620 464 920 184
+ -10000 625 740 618 164 963 15 292 687 504
+ -10000 222 466 108 947 972 950 428 199 589
+ -10000 608 812 853 538 671 609 152 340 357
+ -10000 335 360 985 671 609 568 25 166 253
+ -10000 660 949 381 874 379 385 352 26 591
+ -10000 894 956 610 299 292 306 461 434 376
+ -10000 236 925 12 990 527 287 97 82 222
+ -10000 241 952 311 167 675 623 172 0 889
+ -10000 273 169 195 589 240 869 63 787 602
+ -10000 173 992 831 854 43 543 561 567 249
+ -10000 776 546 321 220 620 324 725 974 304
+ -10000 700 287 519 405 839 212 34 60 607
+ -10000 765 822 499 823 353 69 458 284 104
+ -10000 588 709 224 546 309 157 218 53 200
+ -10000 455 698 346 69 701 245 836 231 153
+ -10000 805 617 472 343 356 973 952 903 728
+ -10000 646 570 924 251 280 809 844 926 448
+ -10000 677 566 860 751 901 499 662 248 175
+ -10000 932 408 51 53 265 729 964 880 328
+ -10000 146 349 383 720 114 456 281 271 75
+ -10000 50 928 778 304 378 542 258 286 645
+ -10000 824 294 329 890 945 66 776 658 659
+ -10000 120 466 210 93 533 5 925 62 119
+ -10000 978 403 547 431 794 708 425 334 136
+ -10000 602 305 104 436 170 955 142 420 654
+ -10000 996 6 520 102 548 867 163 566 857
+ -10000 932 143 655 331 478 915 612 13 970
+ -10000 384 287 265 185 318 479 214 769 196
+ -10000 401 334 885 80 964 717 920 445 981
+ -10000 9 963 719 123 725 599 164 102 167
+ -10000 916 217 363 744 386 190 743 496 775
+ -10000 170 480 157 530 595 930 442 885 908
+ -10000 161 421 530 331 798 444 937 262 326
+ -10000 682 16 31 769 948 353 186 278 633
+ -10000 100 579 499 608 843 476 682 660 572
+ -10000 988 635 902 632 161 942 659 48 933
+ -10000 393 197 735 545 711 171 763 648 907
+ -10000 291 579 304 80 581 539 777 251 678
+ -10000 143 595 386 1 868 188 314 820 418
+ -10000 416 299 575 953 192 638 211 623 17
+ -10000 878 554 927 697 434 891 566 550 369
+ -10000 473 332 882 843 843 613 54 248 757
+ -10000 365 222 293 226 100 418 898 199 35
+ -10000 672 626 520 677 796 273 783 420 736
+ -10000 48 837 935 463 757 293 919 758 618
+ -10000 234 841 105 161 983 656 359 408 432
+ -10000 621 257 198 196 654 824 823 668 197
+ -10000 575 812 404 204 597 91 984 767 998
+ -10000 733 910 469 393 728 814 344 85 69
+ -10000 283 82 960 700 892 536 809 662 528
+ -10000 770 169 390 748 354 277 281 300 21
+ -10000 285 244 283 846 160 342 17 296 751
+ -10000 39 166 606 880 288 330 559 380 294
+ -10000 170 17 837 384 620 515 597 844 476
+ -10000 504 166 810 605 624 716 365 381 863
+ -10000 397 518 167 272 603 96 708 591 449
+ -10000 129 242 224 359 289 166 215 593 540
+ -10000 718 77 70 907 111 918 509 387 117
+ -10000 157 535 300 409 751 197 383 995 635
+ -10000 13 61 113 409 593 983 644 481 259
+ -10000 371 603 449 789 224 989 172 603 402
+ -10000 738 550 660 841 990 696 797 465 794
+ -10000 350 496 145 430 64 807 85 534 901
+ -10000 347 757 297 843 160 676 643 406 177
+ -10000 166 763 595 353 373 695 436 388 473
+ -10000 588 717 689 890 941 676 891 573 249
+ -10000 65 290 206 243 996 50 629 799 700
+ -10000 443 667 445 982 34 354 545 149 123
+ -10000 896 974 257 351 111 341 317 285 971
+ -10000 538 577 628 889 76 700 853 795 299
+ -10000 252 992 108 709 901 30 999 914 668
+ -10000 47 232 31 351 580 216 252 848 635
+ -10000 631 498 453 99 393 537 19 738 965
+ -10000 283 39 402 463 825 831 356 867 167
+ -10000 98 241 646 226 867 345 621 241 371
+ -10000 456 195 740 952 473 302 30 64 229
+ -10000 207 637 360 945 877 568 685 275 583
+ -10000 508 676 509 918 249 0 787 569 493
+ -10000 282 878 475 982 804 912 53 880 454
+ -10000 412 64 166 581 596 970 267 545 675
+ -10000 894 199 274 267 746 511 249 697 267
+ -10000 286 251 44 950 208 173 419 225 627
+ -10000 132 8 96 708 898 134 724 842 410
+ -10000 222 306 549 9 458 123 590 318 621
+ -10000 183 559 377 691 962 793 375 79 653
+ -10000 984 151 159 18 943 261 95 646 144
+ -10000 386 528 887 581 661 925 958 892 377
+ -10000 781 77 810 261 500 128 201 29 446
+ -10000 591 941 891 211 493 714 814 468 615
+ -10000 235 394 211 947 120 174 980 682 719
+ -10000 68 5 968 248 201 756 366 470 557
+ -10000 404 543 719 746 92 687 646 859 14
+ -10000 20 434 732 816 385 133 818 151 726
+ -10000 665 563 108 33 933 4 122 746 354
+ -10000 376 993 435 921 612 712 691 869 446
+ -10000 52 17 586 737 656 948 413 643 695
+ -10000 520 168 5 499 257 261 869 691 46
+ -10000 820 15 251 757 166 653 245 395 694
+ -10000 896 347 186 979 365 669 697 184 355
+ -10000 981 790 382 391 999 32 830 850 171
+ -10000 918 593 786 628 639 610 47 251 374
+ -10000 228 775 241 83 258 591 812 979 521
+ -10000 445 118 726 93 732 372 498 478 695
+ -10000 749 222 8 876 252 652 311 968 731
+ -10000 82 920 947 819 355 54 171 730 779
+ -10000 462 696 542 677 113 65 388 248 716
+ -10000 967 519 570 579 753 815 196 590 905
+ -10000 620 773 925 654 239 589 593 198 412
+ -10000 519 601 521 737 750 52 839 283 570
+ -10000 531 864 694 237 187 437 913 513 953
+ -10000 610 6 321 851 474 511 474 734 626
+ -10000 528 671 685 739 676 654 417 664 419
+ -10000 967 110 109 100 790 901 285 273 721
+ -10000 523 408 553 525 263 343 465 518 996
+ -10000 990 285 650 426 709 905 572 509 66
+ -10000 814 898 596 389 665 914 412 986 680
+ -10000 429 237 816 341 414 222 697 274 961
+ -10000 435 789 845 730 970 304 42 556 141
+ -10000 226 442 565 891 566 768 317 595 344
+ -10000 9 750 379 178 167 985 118 830 695
+ -10000 423 205 853 663 526 111 953 693 918
+ -10000 674 807 909 691 276 393 765 473 234
+ -10000 543 358 425 475 2 328 821 198 216
+ -10000 772 157 786 268 834 530 303 994 745
+ -10000 275 164 126 279 751 959 444 114 790
+ -10000 561 609 901 392 900 419 821 189 66
+ -10000 51 732 25 218 310 485 392 15 381
+ -10000 766 374 837 126 743 440 635 909 6
+ -10000 638 196 109 192 554 721 538 571 684
+ -10000 792 826 974 353 305 245 419 592 138
+ -10000 138 687 567 264 32 513 434 328 617
+ -10000 104 253 396 997 979 287 194 685 648
+ -10000 603 455 622 246 887 467 282 394 554
+ -10000 350 533 269 179 451 550 693 872 469
+ -10000 68 754 630 602 861 307 625 162 448
+ -10000 979 205 918 574 88 12 869 49 831
+ -10000 866 440 663 483 642 845 304 751 738
+ -10000 713 658 225 530 58 341 608 684 172
+ -10000 496 746 792 107 128 833 461 271 3
+ -10000 957 742 976 673 308 649 59 491 764
+ -10000 487 643 78 464 568 751 927 73 614
+ -10000 341 828 73 769 481 56 374 824 225
+ -10000 549 246 798 694 905 159 566 13 260
+ -10000 360 630 350 860 75 727 512 324 664
+ -10000 564 88 590 584 541 589 643 554 645
+ -10000 295 43 317 296 4 274 693 655 2
+ -10000 156 443 375 240 446 967 261 81 337
+ -10000 522 394 924 388 283 672 433 101 5
+ -10000 879 630 181 589 436 66 430 771 160
+ -10000 161 106 595 610 293 940 984 220 170
+ -10000 949 645 504 248 177 226 834 408 910
+ -10000 739 48 555 959 61 0 898 707 989
+ -10000 217 306 634 158 48 719 421 450 571
+ -10000 934 559 735 453 506 556 280 319 941
+ -10000 685 861 596 490 101 737 781 783 248
+ -10000 797 485 793 443 918 224 473 823 507
+ -10000 907 976 110 0 781 975 246 361 206
+ -10000 351 308 27 142 772 608 416 957 852
+ -10000 279 894 174 791 286 551 939 645 140
+ -10000 192 164 398 80 476 242 274 52 885
+ -10000 710 560 719 82 141 257 593 345 487
+ -10000 73 215 407 746 502 498 426 546 529
+ -10000 186 711 870 635 233 539 854 968 99
+ -10000 93 391 254 779 745 655 475 726 899
+ -10000 11 566 603 852 222 318 744 26 101
+ -10000 188 296 992 465 825 689 309 698 734
+ -10000 314 592 57 526 703 323 107 9 341
+ -10000 40 272 396 649 884 211 250 76 615
+ -10000 530 287 83 805 491 845 785 871 923
+ -10000 203 508 531 914 93 908 699 309 462
+ -10000 988 457 812 861 518 179 26 776 261
+ -10000 33 570 710 504 739 462 936 767 990
+ -10000 150 212 87 286 678 131 340 783 285
+ -10000 131 527 597 315 208 175 964 859 190
+ -10000 580 354 49 937 729 168 966 586 59
+ -10000 811 547 88 971 808 855 857 262 759
+ -10000 524 805 105 564 836 886 358 672 719
+ -10000 750 874 466 288 535 589 694 215 862
+ -10000 532 222 132 262 613 925 453 874 414
+ -10000 513 158 948 875 661 512 66 624 902
+ -10000 860 559 508 347 43 237 875 769 492
+ -10000 263 578 958 215 661 857 1000 821 780
+ -10000 322 408 828 523 798 436 122 332 445
+ -10000 230 22 862 72 865 667 61 150 585
+ -10000 410 978 603 368 495 980 234 6 924
+ -10000 521 501 36 392 511 800 406 624 721
+ -10000 753 316 319 610 910 410 196 982 133
+ -10000 4 642 134 963 671 708 548 57 894
+ -10000 770 514 387 407 18 608 503 606 123
+ -10000 115 578 15 975 585 775 969 292 928
+ -10000 808 193 294 21 751 560 544 201 694
+ -10000 431 881 83 513 827 359 904 698 495
+ -10000 461 818 181 593 814 829 957 414 403
+ -10000 79 168 807 537 508 992 435 414 657
+ -10000 206 356 222 470 358 929 814 995 262
+ -10000 762 453 259 183 532 207 663 818 805
+ -10000 668 15 30 315 549 343 70 997 453
+ -10000 731 425 843 836 394 345 629 907 751
+ -10000 529 101 710 312 138 204 67 359 943
+ -10000 703 359 546 148 136 387 246 806 299
+ -10000 399 773 535 31 295 146 896 314 879
+ -10000 327 603 454 254 878 789 118 415 975
+ -10000 658 414 46 42 982 790 110 820 45
+ -10000 334 260 28 36 745 544 811 695 879
+ -10000 942 843 209 828 271 508 626 12 619
+ -10000 869 385 297 144 673 885 628 130 262
+ -10000 28 313 137 159 115 75 774 544 571
+ -10000 627 802 290 182 731 620 530 59 518
+ -10000 459 395 581 422 355 397 312 986 848
+ -10000 569 699 522 371 112 135 214 314 322
+ -10000 312 757 556 139 868 157 202 665 644
+ -10000 869 256 238 943 300 393 190 666 136
+ -10000 474 763 746 755 26 182 246 694 589
+ -10000 67 70 325 328 284 280 326 3 983
+ -10000 271 87 886 429 575 378 263 213 406
+ -10000 830 185 669 836 33 700 48 566 897
+ -10000 593 179 354 117 526 634 562 855 98
+ -10000 646 567 5 822 218 35 177 946 232
+ -10000 470 373 518 926 64 480 101 398 888
+ -10000 695 828 289 364 194 693 695 635 962
+ -10000 326 271 195 701 304 440 338 718 844
+ -10000 779 109 856 114 911 898 2 357 215
+ -10000 159 811 23 378 831 866 577 355 857
+ -10000 878 480 861 183 230 570 870 3 610
+ -10000 462 373 690 683 139 858 87 714 915
+ -10000 999 62 33 555 778 842 150 889 158
+ -10000 281 24 527 685 23 18 17 456 29
+ -10000 459 773 249 882 110 100 284 722 402
+ -10000 942 429 742 973 925 877 985 307 510
+ -10000 882 54 173 270 949 631 155 31 181
+ -10000 595 596 514 633 893 819 853 325 356
+ -10000 269 247 314 585 642 72 492 530 183
+ -10000 332 124 428 566 912 997 694 151 377
+ -10000 252 835 383 753 225 854 479 518 15
+ -10000 117 772 997 631 43 444 324 203 950
+ -10000 426 971 678 695 695 494 500 790 446
+ -10000 209 293 189 868 385 349 866 590 185
+ -10000 746 361 123 440 333 430 779 377 320
+ -10000 65 190 206 478 459 883 317 445 187
+ -10000 711 619 191 522 858 760 837 762 220
+ -10000 207 460 787 695 936 123 541 389 711
+ -10000 900 545 233 189 840 226 226 221 908
+ -10000 396 716 816 364 23 960 170 79 218
+ -10000 826 670 831 150 239 739 599 876 394
+ -10000 979 754 929 344 711 194 535 817 0
+ -10000 675 987 555 195 291 280 735 951 637
+ -10000 946 264 111 836 121 498 491 123 164
+ -10000 728 205 191 648 250 280 381 443 252
+ -10000 202 336 566 386 576 125 729 642 134
+ -10000 124 226 989 901 639 90 855 998 668
+ -10000 476 144 341 683 358 375 65 410 611
+ -10000 464 158 271 960 124 427 997 337 303
+ -10000 431 894 858 929 181 827 101 721 515
+ -10000 111 749 694 943 404 561 888 396 933
+ -10000 82 461 775 864 117 809 251 622 218
+ -10000 631 455 924 315 968 499 364 593 85
+ -10000 57 94 902 776 222 683 289 25 588
+ -10000 626 501 723 21 682 939 50 817 825
+ -10000 959 653 841 349 930 610 13 244 170
+ -10000 929 910 146 9 405 406 640 283 882
+ -10000 357 587 38 314 943 789 124 426 89
+ -10000 700 164 728 593 193 574 237 522 80
+ -10000 859 234 481 554 846 880 656 486 841
+ -10000 198 873 493 6 589 96 849 316 173
+ -10000 653 964 89 966 42 487 772 607 654
+ -10000 372 250 623 145 105 126 619 909 665
+ -10000 893 291 388 830 383 458 815 953 341
+ -10000 412 704 630 129 493 518 283 721 171
+ -10000 767 478 999 411 831 349 606 426 19
+ -10000 110 569 179 780 803 593 744 421 159
+ -10000 636 278 627 92 238 127 77 382 766
+ -10000 500 68 563 481 737 786 165 641 680
+ -10000 0 516 648 383 568 981 926 861 142
+ -10000 43 593 813 994 665 400 786 671 677
+ -10000 289 614 927 584 739 19 412 968 484
+ -10000 85 536 605 521 600 198 551 366 62
+ -10000 165 580 626 254 577 30 957 873 50
+ -10000 412 264 349 909 894 81 771 308 446
+ -10000 269 675 164 767 585 467 957 909 866
+ -10000 341 286 108 134 972 363 808 807 684
+ -10000 139 27 142 690 615 504 905 170 845
+ -10000 237 794 177 943 9 566 783 338 995
+ -10000 804 278 712 663 47 608 193 1 319
+ -10000 922 524 940 286 943 313 310 721 356
+ -10000 546 253 232 292 490 39 607 174 440
+ -10000 38 187 902 685 947 52 458 880 0
+ -10000 170 944 496 636 47 433 316 291 594
+ -10000 86 763 240 668 164 306 43 5 694
+ -10000 198 75 9 521 941 417 20 976 906
+ -10000 841 242 665 384 436 17 840 200 983
+ -10000 560 643 446 998 2 39 434 716 609
+ -10000 210 578 479 167 186 280 256 192 660
+ -10000 975 805 67 676 971 795 903 46 402
+ -10000 399 270 166 163 608 286 998 292 419
+ -10000 822 330 228 57 723 946 825 956 119
+ -10000 103 326 720 616 82 992 571 838 569
+ -10000 911 208 0 323 926 555 877 60 790
+ -10000 855 432 252 704 332 166 150 723 157
+ -10000 665 127 102 998 215 922 264 558 814
+ -10000 240 999 941 384 508 596 976 2 760
+ -10000 653 156 382 237 25 286 929 348 692
+ -10000 775 968 343 657 540 309 625 0 278
+ -10000 911 24 234 118 777 121 310 603 8
+ -10000 206 375 641 706 71 435 511 52 866
+ -10000 57 854 244 23 398 659 812 604 893
+ -10000 838 869 699 428 0 970 174 623 153
+ -10000 271 120 368 601 517 942 589 263 323
+ -10000 885 146 977 613 420 505 770 786 445
+ -10000 672 444 252 398 260 984 501 442 598
+ -10000 70 616 946 715 839 444 515 568 268
+ -10000 321 210 168 472 268 421 204 570 191
+ -10000 480 96 635 456 880 510 231 217 520
+ -10000 531 368 452 8 77 594 414 778 197
+ -10000 420 429 919 416 412 599 532 681 95
+ -10000 402 197 88 492 615 226 674 240 803
+ -10000 974 40 618 36 285 599 28 568 332
+ -10000 216 306 713 219 774 124 443 483 386
+ -10000 640 652 625 31 955 266 464 123 947
+ -10000 791 354 600 698 212 699 605 879 954
+ -10000 33 896 314 465 101 926 480 174 601
+ -10000 229 494 671 32 398 18 895 274 124
+ -10000 367 580 185 626 30 39 687 577 733
+ -10000 13 622 400 700 323 489 208 763 495
+ -10000 738 957 169 562 689 104 124 55 547
+ -10000 318 482 511 619 602 384 267 16 575
+ -10000 348 352 924 806 827 725 785 721 323
+ -10000 211 352 767 280 94 110 171 383 451
+ -10000 443 544 406 771 692 206 210 471 586
+ -10000 429 480 107 887 573 602 911 427 330
+ -10000 713 737 576 784 875 688 221 251 263
+ -10000 270 732 485 648 910 460 820 736 735
+ -10000 13 477 892 419 263 863 857 304 0
+ -10000 300 552 311 971 781 164 690 648 928
+ -10000 777 671 28 29 849 360 59 318 472
+ -10000 835 31 399 446 314 92 187 129 153
+ -10000 958 919 125 688 29 910 953 268 282
+ -10000 300 299 501 688 798 384 771 978 486
+ -10000 584 863 414 53 795 783 829 502 86
+ -10000 467 59 155 62 16 485 446 436 82
+ -10000 305 257 445 520 202 308 824 247 691
+ -10000 910 704 377 534 241 811 384 951 967
+ -10000 286 599 356 706 409 212 203 66 807
+ -10000 406 297 473 285 319 651 314 24 978
+ -10000 561 840 140 858 431 366 710 9 483
+ -10000 969 938 709 477 314 64 427 576 696
+ -10000 954 376 404 15 393 481 828 274 628
+ -10000 995 240 775 571 317 743 922 730 77
+ -10000 920 598 856 57 253 997 8 435 669
+ -10000 833 544 467 912 182 663 805 445 36
+ -10000 841 143 545 518 238 871 740 527 763
+ -10000 847 492 34 588 358 30 867 364 732
+ -10000 797 501 804 156 524 207 330 258 269
+ -10000 721 754 388 889 854 290 680 929 417
+ -10000 465 892 765 814 300 359 606 949 402
+ -10000 21 301 605 371 127 915 659 122 62
+ -10000 480 140 55 103 993 725 80 873 960
+ -10000 67 625 516 98 204 272 321 959 199
+ -10000 451 545 970 880 400 763 412 722 383
+ -10000 839 304 23 824 305 862 43 192 940
+ -10000 831 998 499 364 451 344 21 199 905
+ -10000 67 316 201 368 222 875 311 86 356
+ -10000 185 56 673 967 237 560 134 320 908
+ -10000 700 259 107 830 991 544 92 977 698
+ -10000 299 297 229 969 198 989 51 760 909
+ -10000 57 734 221 771 824 452 972 81 607
+ -10000 619 257 875 10 807 992 459 732 620
+ -10000 269 747 957 191 484 352 965 590 903
+ -10000 966 614 323 454 4 637 104 334 899
+ -10000 877 453 188 532 603 847 148 495 602
+ -10000 119 911 707 895 150 462 650 578 690
+ -10000 847 791 77 461 50 874 955 110 263
+ -10000 203 541 807 420 294 31 197 399 413
+ -10000 206 252 415 265 536 805 596 288 15
+ -10000 851 997 819 128 662 146 607 605 229
+ -10000 603 827 512 766 350 983 592 273 215
+ -10000 465 875 459 810 308 803 146 363 521
+ -10000 198 541 972 766 69 430 578 903 999
+ -10000 273 485 361 829 344 349 550 141 404
+ -10000 530 520 229 526 947 515 887 228 243
+ -10000 666 622 286 661 173 134 643 414 268
+ -10000 11 994 198 726 640 701 971 846 158
+ -10000 411 889 498 906 214 69 655 406 596
+ -10000 396 763 903 238 76 7 625 883 589
+ -10000 236 71 522 275 403 85 786 261 865
+ -10000 708 103 199 894 411 190 680 649 660
+ -10000 168 471 419 240 616 628 456 162 91
+ -10000 131 618 188 391 806 188 644 687 461
+ -10000 632 618 750 308 403 213 806 870 88
+ -10000 747 323 384 986 681 329 322 721 21
+ -10000 386 519 429 519 963 667 538 745 34
+ -10000 431 655 700 825 616 984 634 342 153
+ -10000 725 242 171 754 310 473 175 780 360
+ -10000 459 409 919 325 576 465 290 954 794
+ -10000 595 438 157 679 8 497 37 911 861
+ -10000 99 781 625 676 828 108 300 616 761
+ -10000 891 152 235 683 146 799 840 419 964
+ -10000 738 306 393 953 966 153 320 631 455
+ -10000 959 221 605 248 408 675 771 444 446
+ -10000 850 773 277 244 145 748 814 697 113
+ -10000 978 531 244 115 474 438 45 141 839
+ -10000 89 832 541 247 114 963 826 515 765
+ -10000 746 193 480 441 325 236 765 585 642
+ -10000 845 829 840 754 968 176 550 136 903
+ -10000 661 754 561 407 508 634 78 354 380
+ -10000 664 757 245 660 244 723 972 571 759
+ -10000 400 676 35 74 499 471 271 210 930
+ -10000 216 845 635 628 199 707 427 853 431
+ -10000 848 715 341 247 968 465 599 303 737
+ -10000 502 758 454 700 313 670 417 560 919
+ -10000 660 690 601 550 502 805 424 221 152
+ -10000 422 685 65 138 140 126 913 959 316
+ -10000 202 693 459 384 527 34 479 132 878
+ -10000 143 456 74 935 225 510 445 864 435
+ -10000 896 889 475 39 73 221 424 541 57
+ -10000 342 656 152 878 494 435 629 795 269
+ -10000 987 874 818 581 174 29 574 342 469
+ -10000 761 566 226 316 949 832 43 752 25
+ -10000 427 386 248 353 503 200 561 220 818
+ -10000 355 354 672 985 975 266 557 813 234
+ -10000 782 794 400 467 620 726 136 117 660
+ -10000 106 202 953 616 780 199 373 997 323
+ -10000 748 99 963 83 684 930 666 323 248
+ -10000 490 718 32 575 61 344 600 256 506
+ -10000 739 750 299 452 303 887 998 815 323
+ -10000 844 916 431 231 181 310 285 718 724
+ -10000 490 83 489 121 383 678 543 468 357
+ -10000 841 832 299 926 636 934 54 835 136
+ -10000 736 891 656 606 857 273 727 106 180
+ -10000 690 338 953 605 934 737 127 433 662
+ -10000 989 141 788 856 111 656 477 503 520
+ -10000 366 557 196 30 622 662 681 7 869
+ -10000 276 204 505 389 522 431 771 116 762
+ -10000 86 35 19 751 859 422 839 551 725
+ -10000 300 46 792 408 422 37 74 173 537
+ -10000 121 462 922 743 891 307 823 758 192
+ -10000 224 187 433 349 882 920 571 70 896
+ -10000 539 110 282 321 692 858 262 379 365
+ -10000 726 730 554 481 668 566 277 374 766
+ -10000 325 242 275 50 479 960 745 764 926
+ -10000 280 28 621 331 91 224 971 390 388
+ -10000 626 322 525 259 170 298 889 195 805
+ -10000 239 150 160 648 568 985 20 847 995
+ -10000 549 157 742 654 310 935 259 750 777
+ -10000 364 236 698 610 880 945 529 301 399
+ -10000 774 268 179 204 934 446 507 523 634
+ -10000 445 680 622 610 161 149 727 557 365
+ -10000 433 887 506 128 202 202 402 545 433
+ -10000 217 90 814 678 428 664 816 434 319
+ -10000 605 390 507 270 570 553 3 638 771
+ -10000 275 240 578 64 642 37 780 660 301
+ -10000 931 66 183 221 334 330 566 392 532
+ -10000 434 537 309 716 949 644 373 771 174
+ -10000 981 42 523 170 404 133 732 253 160
+ -10000 214 266 624 87 889 508 454 216 770
+ -10000 52 342 413 211 212 347 134 584 947
+ -10000 21 766 55 197 1000 653 278 442 629
+ -10000 545 528 304 263 50 502 198 675 692
+ -10000 574 420 592 30 640 507 799 974 477
+ -10000 760 483 786 402 94 335 192 969 573
+ -10000 247 134 82 388 853 237 612 491 729
+ -10000 727 53 800 42 229 516 320 89 333
+ -10000 366 822 527 481 840 716 525 421 947
+ -10000 835 702 84 440 463 251 357 305 335
+ -10000 228 704 496 386 316 127 669 150 792
+ -10000 480 891 168 663 517 761 378 271 626
+ -10000 84 341 855 666 699 404 15 387 744
+ -10000 421 586 648 766 168 716 899 134 479
+ -10000 285 979 994 650 918 777 934 41 418
+ -10000 314 671 95 7 49 657 232 448 539
+ -10000 464 406 76 750 451 346 861 743 60
+ -10000 544 136 783 438 647 412 625 924 225
+ -10000 799 19 668 616 136 726 9 959 268
+ -10000 852 885 88 960 611 675 853 301 160
+ -10000 292 491 541 126 469 180 684 957 969
+ -10000 395 276 181 163 93 452 341 134 260
+ -10000 522 142 862 114 93 958 721 858 270
+ -10000 364 922 991 427 153 781 971 693 57
+ -10000 294 644 0 223 740 903 468 234 130
+ -10000 882 635 602 839 257 114 3 494 896
+ -10000 944 369 549 254 671 839 929 76 807
+ -10000 120 599 234 715 534 467 399 934 998
+ -10000 282 482 579 512 868 875 436 483 249
+ -10000 250 156 935 326 811 26 374 472 969
+ -10000 558 872 625 35 779 504 733 591 668
+ -10000 739 469 933 675 922 776 191 184 195
+ -10000 1000 845 454 200 747 585 25 338 260
+ -10000 310 461 78 645 103 170 204 749 198
+ -10000 496 71 697 192 814 375 343 574 958
+ -10000 41 784 400 824 421 597 467 824 469
+ -10000 14 650 545 678 593 163 107 253 836
+ -10000 157 270 656 464 728 403 15 889 974
+ -10000 373 732 642 73 193 671 0 87 243
+ -10000 817 902 751 425 199 340 910 737 659
+ -10000 284 531 391 237 742 100 16 246 915
+ -10000 45 965 86 279 993 208 169 767 906
+ -10000 426 945 143 133 870 574 354 980 588
+ -10000 108 378 448 591 235 49 861 570 528
+ -10000 936 413 107 549 949 339 870 877 786
+ -10000 94 179 879 625 614 936 58 891 645
+ -10000 80 419 277 177 273 390 270 845 561
+ -10000 937 331 99 12 953 32 633 668 759
+ -10000 96 417 460 818 215 882 102 808 743
+ -10000 642 728 281 660 386 820 373 333 11
+ -10000 284 46 697 953 785 841 238 188 635
+ -10000 235 489 513 400 450 934 634 144 263
+ -10000 564 181 160 764 907 839 675 574 577
+ -10000 839 464 223 984 282 727 37 561 247
+ -10000 201 527 965 971 114 631 66 203 393
+ -10000 460 753 902 30 189 560 495 468 854
+ -10000 523 627 66 880 464 304 947 508 500
+ -10000 436 926 853 321 321 60 957 777 246
+ -10000 335 512 456 605 112 798 414 893 788
+ -10000 342 131 375 454 254 842 844 730 33
+ -10000 553 334 887 989 861 292 79 227 763
+ -10000 481 942 363 679 485 537 840 945 623
+ -10000 968 357 960 872 35 998 516 113 402
+ -10000 906 262 173 930 235 997 319 257 794
+ -10000 853 505 197 246 583 117 419 758 775
+ -10000 920 614 730 393 615 598 693 19 520
+ -10000 311 603 706 104 5 812 363 348 525
+ -10000 728 685 975 541 686 377 303 79 291
+ -10000 515 129 653 729 902 742 617 288 203
+ -10000 250 884 946 625 596 763 361 240 706
+ -10000 526 376 235 312 92 89 172 875 894
+ -10000 153 416 86 687 726 142 823 667 674
+ -10000 400 73 484 773 431 281 589 181 529
+ -10000 634 328 573 748 69 690 909 866 127
+ -10000 307 306 838 432 731 663 286 805 965
+ -10000 584 944 93 846 4 824 787 115 956
+ -10000 155 753 763 618 429 0 383 686 412
+ -10000 576 66 558 658 886 726 428 186 346
+ -10000 1 956 545 25 141 648 459 664 783
+ -10000 508 759 173 714 882 122 299 845 729
+ -10000 569 10 788 86 243 707 929 906 445
+ -10000 233 753 740 740 464 544 689 529 740
+ -10000 82 933 387 586 183 905 95 795 901
+ -10000 749 786 703 787 587 124 712 598 617
+ -10000 25 536 139 564 427 942 719 257 167
+ -10000 293 59 481 515 133 271 763 633 63
+ -10000 82 280 175 25 424 677 423 966 515
+ -10000 452 563 771 836 811 365 895 337 15
+ -10000 56 10 501 805 215 403 758 539 156
+ -10000 309 629 897 114 760 846 701 63 610
+ -10000 336 476 574 799 569 391 929 351 34
+ -10000 531 10 813 376 990 170 415 653 290
+ -10000 967 245 982 561 837 25 33 204 788
+ -10000 15 443 681 885 903 818 666 547 419
+ -10000 632 17 151 586 179 661 559 719 342
+ -10000 851 47 702 651 93 511 599 165 928
+ -10000 297 72 824 895 567 908 758 79 284
+ -10000 763 424 604 367 162 808 257 891 15
+ -10000 80 141 649 827 609 876 283 677 321
+ -10000 773 388 819 437 702 89 144 512 549
+ -10000 624 441 375 145 690 40 630 834 815
+ -10000 649 549 846 934 914 194 531 204 363
+ -10000 654 535 990 839 609 783 943 367 385
+ -10000 395 356 552 988 846 772 761 326 639
+ -10000 216 337 64 200 366 194 654 274 359
+ -10000 461 550 760 271 708 78 521 779 393
+ -10000 83 13 505 309 603 131 389 743 891
+ -10000 745 258 875 654 41 774 192 421 969
+ -10000 271 386 188 517 243 391 147 465 146
+ -10000 836 607 236 286 487 310 598 646 465
+ -10000 285 880 141 372 870 354 294 457 697
+ -10000 976 847 422 715 472 529 221 869 618
+ -10000 673 589 917 493 592 892 39 218 716
+ -10000 778 793 973 237 874 340 187 202 782
+ -10000 765 417 954 987 634 98 794 648 13
+ -10000 138 509 336 99 217 381 792 238 260
+ -10000 112 644 205 686 803 245 315 410 242
+ -10000 708 485 32 384 129 514 86 418 499
+ -10000 0 518 508 591 278 724 874 546 228
+ -10000 957 379 921 961 942 242 448 14 310
+ -10000 665 641 140 379 720 713 581 572 246
+ -10000 559 770 456 531 855 49 379 489 957
+ -10000 497 444 716 59 631 863 735 146 93
+ -10000 31 795 514 976 463 411 798 103 95
+ -10000 247 128 499 522 786 345 467 952 496
+ -10000 91 979 15 633 835 741 711 481 507
+ -10000 365 412 813 934 755 495 543 943 750
+ -10000 479 295 510 639 399 499 908 66 653
+ -10000 82 837 458 660 23 293 390 682 915
+ -10000 877 360 92 394 626 203 400 250 563
+ -10000 572 933 318 717 193 15 584 7 872
+ -10000 500 276 950 450 171 135 893 346 168
+ -10000 354 632 255 974 927 845 604 561 750
+ -10000 570 647 392 213 980 323 362 807 3
+ -10000 860 211 115 923 266 266 210 925 817
+ -10000 665 326 809 952 370 542 961 6 279
+ -10000 80 507 856 478 160 240 849 728 129
+ -10000 472 232 947 120 386 531 488 289 560
+ -10000 192 136 536 566 654 872 432 995 490
+ -10000 513 458 717 16 957 816 959 846 401
+ -10000 204 804 668 807 649 979 599 949 47
+ -10000 308 625 548 538 76 138 3 48 348
+ -10000 633 18 637 311 270 468 654 647 762
+ -10000 822 953 34 464 895 9 615 475 440
+ -10000 735 400 549 439 854 661 51 11 258
+ -10000 509 894 949 176 72 570 639 890 974
+ -10000 987 323 75 780 974 758 391 392 76
+ -10000 686 929 627 473 931 63 663 939 626
+ -10000 105 200 550 443 890 732 570 281 769
+ -10000 806 79 872 992 527 587 423 210 570
+ -10000 636 440 131 204 849 484 966 191 590
+ -10000 674 2 590 226 41 773 660 59 731
+ -10000 273 900 666 829 168 902 941 768 71
+ -10000 88 528 169 419 42 96 431 724 101
+ -10000 452 373 850 146 114 753 108 56 666
+ -10000 104 888 672 831 624 367 69 708 170
+ -10000 965 432 920 629 924 987 84 161 143
+ -10000 721 569 269 839 517 953 988 794 811
+ -10000 136 255 401 586 222 727 995 856 661
+ -10000 89 250 125 300 520 295 38 964 942
+ -10000 41 623 70 211 122 76 129 169 256
+ -10000 763 426 122 75 40 33 469 593 957
+ -10000 780 758 41 668 864 144 281 323 857
+ -10000 769 506 468 292 642 142 295 652 540
+ -10000 564 904 133 104 116 643 532 296 934
+ -10000 4 403 466 823 389 620 847 538 530
+ -10000 401 253 740 989 814 830 171 681 584
+ -10000 1 705 912 48 336 922 504 845 94
+ -10000 185 471 807 99 582 45 966 209 719
+ -10000 147 823 349 30 499 740 756 955 330
+ -10000 226 900 166 539 277 550 720 987 112
+ -10000 36 834 700 160 967 330 812 593 623
+ -10000 172 722 879 512 749 146 19 406 329
+ -10000 654 790 663 215 467 434 616 399 187
+ -10000 281 593 757 711 691 103 332 882 281
+ -10000 613 970 115 565 785 857 160 935 54
+ -10000 856 847 923 552 776 775 355 848 931
+ -10000 196 637 172 116 363 989 278 282 616
+ -10000 9 319 968 55 504 63 791 588 347
+ -10000 447 469 14 268 852 996 650 656 62
+ -10000 440 294 830 304 79 848 363 203 320
+ -10000 846 265 457 654 118 919 652 77 66
+ -10000 204 162 750 558 81 515 20 994 192
+ -10000 220 460 792 60 344 2 809 186 735
+ -10000 271 633 223 844 597 864 897 681 469
+ -10000 336 619 759 401 605 256 70 593 324
+ -10000 61 65 169 283 920 305 622 395 679
+ -10000 785 157 634 436 886 306 534 247 843
+ -10000 223 69 259 865 550 530 54 991 902
+ -10000 451 532 499 882 30 945 44 687 99
+ -10000 760 726 600 679 817 738 524 303 576
+ -10000 587 383 159 745 49 460 940 324 540
+ -10000 233 792 786 373 498 214 324 921 745
+ -10000 768 90 14 858 667 321 967 497 765
+ -10000 782 243 230 347 809 711 165 0 111
+ -10000 593 770 320 211 506 512 945 964 590
+ -10000 957 994 553 965 538 149 872 330 827
+ -10000 98 508 794 966 512 19 441 424 0
+ -10000 71 974 144 306 775 679 415 686 786
+ -10000 528 406 832 593 936 605 247 442 190
+ -10000 188 724 641 642 315 391 952 612 923
+ -10000 813 614 648 582 525 552 806 177 251
+ -10000 552 373 167 720 641 749 641 920 191
+ -10000 999 521 749 777 372 162 252 641 849
+ -10000 96 941 104 122 801 362 465 953 50
+ -10000 307 616 906 275 317 266 871 477 329
+ -10000 622 120 381 975 634 839 207 965 23
+ -10000 832 565 544 395 313 828 693 292 785
+ -10000 362 176 49 543 260 77 186 683 746
+ -10000 835 68 923 81 203 267 876 917 926
+ -10000 179 299 690 129 753 351 741 260 619
+ -10000 704 400 642 930 951 847 303 192 73
+ -10000 87 931 927 273 609 885 730 425 864
+ -10000 932 691 712 772 541 331 878 933 314
+ -10000 696 265 532 809 458 910 657 890 92
+ -10000 296 863 74 355 1000 203 399 574 625
+ -10000 965 532 494 650 196 577 283 162 431
+ -10000 134 532 863 706 598 644 976 76 59
+ -10000 960 859 643 920 172 680 312 702 834
+ -10000 953 698 212 680 817 722 650 968 214
+ -10000 903 799 618 296 571 401 391 131 717
+ -10000 675 579 297 677 611 363 895 588 988
+ -10000 204 538 486 503 308 684 348 356 221
+ -10000 31 319 759 689 355 328 714 532 39
+ -10000 562 788 884 505 10 890 407 540 41
+ -10000 774 47 386 723 159 625 550 457 401
+ -10000 572 790 832 338 133 938 562 22 697
+ -10000 141 915 678 610 621 491 898 41 709
+ -10000 700 103 664 755 696 924 926 108 664
+ -10000 223 878 876 310 492 302 828 646 318
+ -10000 438 220 385 991 208 103 757 73 127
+ -10000 903 880 695 364 205 680 272 626 757
+ -10000 902 844 307 289 748 523 909 984 930
+ -10000 949 673 678 510 478 660 274 205 406
+ -10000 142 91 84 445 448 205 190 530 386
+ -10000 476 191 634 712 700 383 697 884 758
+ -10000 194 486 713 43 598 629 217 167 735
+ -10000 548 463 756 210 130 239 48 907 966
+ -10000 892 893 235 971 137 168 383 854 292
+ -10000 425 632 425 248 735 906 583 199 490
+ -10000 45 792 167 39 54 19 316 8 252
+ -10000 122 460 13 631 276 542 356 484 203
+ -10000 687 932 386 91 641 111 454 589 149
+ -10000 893 837 949 127 352 131 567 195 627
+ -10000 793 198 878 819 870 980 240 350 592
+ -10000 942 469 475 972 206 563 289 915 103
+ -10000 636 484 802 649 925 225 506 281 573
+ -10000 518 928 761 777 932 421 400 937 549
+ -10000 743 824 314 628 383 245 470 147 414
+ -10000 922 983 584 265 303 839 360 309 968
+ -10000 316 555 774 589 153 501 991 219 367
+ -10000 333 687 445 56 521 882 30 960 232
+ -10000 727 533 11 907 286 871 573 431 70
+ -10000 940 647 411 914 649 390 86 8 554
+ -10000 975 251 433 885 932 256 768 550 788
+ -10000 567 529 606 313 30 770 929 364 186
+ -10000 86 972 179 121 675 59 107 96 201
+ -10000 127 385 629 808 469 348 102 361 434
+ -10000 919 714 328 618 407 273 261 837 758
+ -10000 118 943 487 736 379 171 747 110 823
+ -10000 187 971 80 211 559 990 151 302 525
+ -10000 835 512 748 60 79 784 463 849 851
+ -10000 294 306 744 621 638 238 786 513 779
+ -10000 629 969 91 677 337 841 125 998 209
+ -10000 53 635 529 309 874 222 474 837 464
+ -10000 190 983 810 85 217 220 643 441 271
+ -10000 364 505 999 516 557 431 757 89 511
+ -10000 152 290 590 347 941 528 956 990 565
+ -10000 77 849 917 765 398 795 713 475 131
+ -10000 572 775 919 668 875 732 585 157 443
+ -10000 792 976 199 793 13 671 428 352 546
+ -10000 185 528 948 883 601 157 666 10 494
+ -10000 852 250 288 753 441 445 600 852 463
+ -10000 54 167 104 789 659 103 800 521 285
+ -10000 258 39 807 257 386 60 989 599 351
+ -10000 605 48 458 377 336 519 611 467 226
+ -10000 527 102 184 945 98 734 620 537 472
+ -10000 670 939 980 344 752 126 992 246 450
+ -10000 395 89 108 926 272 865 186 415 381
+ -10000 586 766 709 598 910 237 626 834 810
+ -10000 221 509 675 313 658 537 672 726 100
+ -10000 601 150 180 618 157 265 664 342 173
+ -10000 456 111 220 741 989 238 694 487 671
+ -10000 807 218 835 835 257 279 134 540 689
+ -10000 956 721 921 763 602 984 685 582 909
+ -10000 257 137 743 197 70 672 943 686 103
+ -10000 659 580 518 114 147 372 309 265 1
+ -10000 253 257 848 263 824 500 687 204 953
+ -10000 640 478 953 511 280 526 858 504 505
+ -10000 330 107 599 23 631 49 591 704 658
+ -10000 435 726 286 770 354 631 279 355 355
+ -10000 2 391 539 992 638 800 930 860 12
+ -10000 277 106 191 606 251 907 542 47 335
+ -10000 995 637 672 885 108 864 29 904 882
+ -10000 898 770 657 312 503 134 7 209 374
+ -10000 365 813 147 0 988 556 198 694 738
+ -10000 456 366 565 505 151 115 750 219 476
+ -10000 709 610 879 734 66 926 167 442 620
+ -10000 810 768 836 960 671 163 645 644 225
+ -10000 795 799 77 529 240 978 135 472 330
+ -10000 583 745 154 1 614 172 853 145 454
+ -10000 588 291 874 140 744 348 70 234 644
+ -10000 559 732 999 309 610 460 136 108 708
+ -10000 369 456 216 211 166 876 622 997 346
+ -10000 262 955 650 310 96 114 499 13 927
+ -10000 400 462 319 114 34 778 131 719 543
+ -10000 84 362 786 717 600 379 247 160 172
+ -10000 587 79 539 278 718 524 450 35 220
+ -10000 726 112 193 429 997 975 58 8 77
+ -10000 685 522 374 516 279 69 554 376 144
+ -10000 118 817 776 331 828 766 19 73 729
+ -10000 116 404 2 485 548 698 45 289 555
+ -10000 480 815 412 86 747 346 258 213 637
+ -10000 540 751 64 767 752 884 29 930 957
+ -10000 549 711 796 599 268 206 614 128 291
+ -10000 789 160 38 128 749 182 575 109 841
+ -10000 313 275 290 848 818 320 825 741 22
+ -10000 866 678 730 908 957 700 702 512 715
+ -10000 452 703 424 328 500 32 654 37 744
+ -10000 615 975 786 410 567 318 627 210 704
+ -10000 662 978 328 569 842 937 697 832 769
+ -10000 109 63 378 197 525 442 208 63 641
+ -10000 580 142 879 461 544 459 406 716 944
+ -10000 498 953 470 625 790 158 658 895 824
+ -10000 983 629 301 294 742 699 555 325 865
+ -10000 468 323 613 296 639 548 674 837 88
+ -10000 351 233 716 644 637 546 702 141 83
+ -10000 925 946 453 960 38 139 728 316 758
+ -10000 457 842 519 835 504 603 683 24 690
+ -10000 139 538 255 345 575 623 329 301 619
+ -10000 226 20 987 577 648 985 624 84 963
+ -10000 396 853 641 329 661 958 46 380 197
+ -10000 703 665 639 934 884 610 764 984 381
+ -10000 792 456 946 895 706 467 11 226 915
+ -10000 275 227 513 233 429 185 386 855 927
+ -10000 769 464 801 993 292 818 977 893 680
+ -10000 914 843 955 423 684 252 869 140 656
+ -10000 83 390 627 632 861 546 121 614 432
+ -10000 892 723 383 786 429 22 979 298 716
+ -10000 120 270 786 727 467 125 254 322 41
+ -10000 980 853 96 967 491 303 972 13 685
+ -10000 400 177 272 888 426 595 701 527 202
+ -10000 176 246 973 22 72 951 243 503 53
+ -10000 810 644 119 711 616 694 783 863 397
+ -10000 754 742 207 173 150 341 754 390 325
+ -10000 642 273 875 870 833 428 897 432 442
+ -10000 610 310 158 232 118 184 788 302 310
+ -10000 469 226 249 206 945 84 501 294 861
+ -10000 59 645 982 228 149 997 77 600 739
+ -10000 467 670 584 960 543 501 687 844 2
+ -10000 633 334 919 507 450 83 257 938 360
+ -10000 712 306 948 89 389 630 161 4 102
+ -10000 986 605 276 584 839 784 748 994 583
+ -10000 967 877 203 931 186 84 302 244 106
+ -10000 347 364 672 275 701 981 968 831 584
+ -10000 774 93 762 348 72 804 679 285 337
+ -10000 161 359 870 858 225 235 493 581 38
+ -10000 317 106 833 344 195 927 388 448 64
+ -10000 913 235 667 40 98 834 303 824 922
+ -10000 656 817 134 714 837 750 105 1 459
+ -10000 869 950 960 101 80 621 65 229 985
+ -10000 963 524 775 345 66 4 765 576 661
+ -10000 206 417 687 705 501 561 618 147 382
+ -10000 104 433 741 213 968 849 105 537 226
+ -10000 894 635 118 276 620 420 37 188 817
+ -10000 82 319 304 804 574 383 618 138 447
+ -10000 797 134 158 123 819 580 281 620 816
+ -10000 331 64 425 830 614 967 410 660 735
+ -10000 287 627 750 719 880 238 170 104 819
+ -10000 874 533 532 210 440 163 695 898 634
+ -10000 871 480 433 244 556 552 395 192 930
+ -10000 642 975 186 322 18 838 658 665 729
+ -10000 104 102 621 25 593 166 239 956 177
+ -10000 765 398 132 395 985 60 1 838 724
+ -10000 785 804 403 382 572 47 560 105 257
+ -10000 592 512 763 632 37 652 187 578 484
+ -10000 813 517 897 955 285 345 838 191 2
+ -10000 345 123 23 930 682 859 789 675 600
+ -10000 118 712 812 245 129 487 717 632 274
+ -10000 263 355 124 182 568 253 836 185 315
+ -10000 538 743 940 888 587 593 231 697 158
+ -10000 609 360 433 42 220 186 136 263 426
+ -10000 706 343 995 477 923 907 491 501 732
+ -10000 378 32 254 792 813 615 548 125 204
+ -10000 360 340 231 761 286 715 669 58 73
+ -10000 248 15 776 50 876 690 685 205 694
+ -10000 124 708 839 189 84 334 754 838 802
+ -10000 844 887 360 99 808 518 585 876 479
+ -10000 207 725 130 723 290 921 194 486 246
+ -10000 688 677 677 542 457 625 629 764 558
+ -10000 685 88 101 462 792 823 472 926 368
+ -10000 682 960 472 197 264 701 878 41 257
+ -10000 419 875 300 954 494 641 845 417 465
+ -10000 814 170 117 314 710 918 956 359 293
+ -10000 807 408 708 525 779 785 86 414 989
+ -10000 532 676 612 944 222 496 503 301 632
+ -10000 838 455 115 519 80 451 110 565 820
+ -10000 656 705 274 444 697 785 396 750 588
+ -10000 896 209 434 383 972 293 390 827 834
+ -10000 539 305 659 171 922 389 448 653 454
+ -10000 639 555 47 289 967 297 950 862 499
+ -10000 695 937 3 254 921 992 241 797 675
+ -10000 57 838 996 27 818 303 245 868 226
+ -10000 52 533 335 890 342 20 521 866 95
+ -10000 691 867 578 229 920 546 587 703 212
+ -10000 812 142 258 510 521 669 180 221 34
+ -10000 553 69 236 567 188 78 517 508 778
+ -10000 544 810 481 140 272 463 693 304 809
+ -10000 272 141 471 966 342 97 415 778 971
+ -10000 172 791 459 104 45 600 765 948 555
+ -10000 399 253 414 707 427 274 438 657 575
+ -10000 361 880 857 706 878 492 37 719 997
+ -10000 389 637 335 893 346 154 991 33 608
+ -10000 303 841 489 381 915 783 373 127 910
+ -10000 259 134 109 839 307 38 191 108 895
+ -10000 674 779 924 543 586 298 580 576 291
+ -10000 309 389 544 769 354 532 654 631 831
+ -10000 837 174 332 468 628 507 394 680 436
+ -10000 596 884 255 787 419 433 781 339 587
+ -10000 877 799 56 591 233 858 814 426 330
+ -10000 288 237 543 90 441 934 581 486 794
+ -10000 571 951 26 248 329 423 388 965 91
+ -10000 616 951 146 333 395 803 643 962 748
+ -10000 41 824 902 880 978 151 126 883 32
+ -10000 230 505 800 123 203 909 813 946 320
+ -10000 864 615 809 678 209 364 848 518 909
+ -10000 620 528 595 684 184 83 263 931 60
+ -10000 827 562 24 676 881 661 275 877 93
+ -10000 992 842 68 687 58 706 193 383 914
+ -10000 411 592 25 689 578 276 556 685 529
+ -10000 738 744 136 571 855 439 817 123 284
+ -10000 959 79 226 240 541 378 771 833 77
+ -10000 450 29 776 691 1 189 287 594 865
+ -10000 697 873 165 943 915 166 66 622 856
+ -10000 333 774 595 916 135 76 742 194 554
+ -10000 479 990 601 790 873 498 478 572 800
+ -10000 174 925 4 427 482 198 895 969 292
+ -10000 490 523 418 168 208 468 497 746 996
+ -10000 77 779 486 579 868 982 817 422 827
+ -10000 902 874 287 593 935 864 959 446 138
+ -10000 212 842 767 897 357 421 165 394 66
+ -10000 181 300 594 707 205 231 348 766 277
+ -10000 932 46 779 841 292 790 143 310 449
+ -10000 178 48 413 510 978 759 410 676 542
+ -10000 957 621 494 536 107 642 214 767 879
+ -10000 478 48 499 426 16 782 946 18 222
+ -10000 178 887 566 108 910 170 659 295 39
+ -10000 123 325 567 524 612 550 515 514 109
+ -10000 582 351 959 432 367 883 671 89 290
+ -10000 388 131 264 10 323 249 933 7 282
+ -10000 840 899 785 735 965 345 529 92 465
+ -10000 577 522 868 761 51 295 887 161 436
+ -10000 417 324 722 697 647 989 801 252 761
+ -10000 493 618 918 286 801 947 193 386 103
+ -10000 809 825 393 233 503 980 786 911 921
+ -10000 167 633 704 766 168 725 708 507 510
+ -10000 340 335 562 640 822 205 917 17 655
+ -10000 748 770 529 16 43 882 923 836 674
+ -10000 83 847 429 983 886 969 298 278 412
+ -10000 291 537 213 792 314 188 303 932 826
+ -10000 37 285 190 340 121 342 794 67 848
+ -10000 163 185 883 495 495 617 604 103 617
+ -10000 95 565 74 400 661 286 820 313 245
+ -10000 763 54 387 795 643 381 904 935 238
+ -10000 47 608 947 15 267 449 109 948 929
+ -10000 113 697 677 990 570 288 870 600 703
+ -10000 734 182 911 224 727 278 633 197 325
+ -10000 823 614 197 467 961 249 389 276 345
+ -10000 526 591 783 933 517 796 197 311 765
+ -10000 213 188 916 771 303 661 676 705 862
+ -10000 658 202 321 646 711 159 6 785 842
+ -10000 746 195 39 262 103 435 489 182 466
+ -10000 868 619 775 354 211 675 303 821 282
+ -10000 966 522 376 275 908 868 288 800 201
+ -10000 111 119 564 716 160 884 489 441 598
+ -10000 905 265 367 554 436 547 412 302 53
+ -10000 190 453 516 956 706 100 226 279 607
+ -10000 145 695 55 21 142 830 867 293 979
+ -10000 361 314 512 887 429 839 110 132 583
+ -10000 406 607 21 761 949 705 766 252 941
+ -10000 11 742 445 420 495 259 533 38 423
+ -10000 475 891 809 970 687 475 958 922 956
+ -10000 850 463 303 927 755 674 944 390 116
+ -10000 113 594 514 631 500 697 622 151 568
+ -10000 833 187 746 814 31 645 847 230 382
+ -10000 755 214 541 14 777 976 656 900 116
+ -10000 831 559 588 968 103 953 716 287 521
+ -10000 98 456 4 635 874 270 394 361 880
+ -10000 561 634 465 616 808 777 568 991 38
+ -10000 947 392 804 65 917 782 436 179 672
+ -10000 409 589 136 448 586 177 806 503 12
+ -10000 383 272 639 137 669 459 933 670 508
+ -10000 813 121 539 504 753 363 432 197 145
+ -10000 883 154 325 665 642 340 130 320 734
+ -10000 515 584 354 119 738 949 122 664 711
+ -10000 518 123 556 128 863 0 527 539 486
+ -10000 842 383 107 200 821 837 116 414 239
+ -10000 94 991 662 264 880 183 647 112 898
+ -10000 450 732 848 734 203 709 131 747 488
+ -10000 210 211 183 282 350 479 889 936 700
+ -10000 491 645 569 905 106 94 756 825 132
+ -10000 240 251 519 944 908 605 977 166 804
+ -10000 510 75 756 79 735 169 479 688 415
+ -10000 312 111 131 815 393 533 873 227 249
+ -10000 8 9 712 648 250 682 508 63 765
+ -10000 583 481 218 813 434 88 799 494 297
+ -10000 37 894 273 627 2 490 47 363 949
+ -10000 956 398 996 642 357 124 657 69 478
+ -10000 124 356 417 63 822 801 886 728 584
+ -10000 543 97 906 928 993 108 995 534 948
+ -10000 693 977 941 690 171 735 847 465 25
+ -10000 737 785 589 53 499 323 280 329 841
+ -10000 37 231 128 247 372 619 589 547 665
+ -10000 63 921 667 101 289 898 972 381 95
+ -10000 704 203 984 720 359 868 195 990 66
+ -10000 810 16 703 830 591 154 541 621 271
+ -10000 858 183 229 106 945 236 176 401 428
+ -10000 573 811 623 327 937 135 613 150 569
+ -10000 165 466 322 735 481 928 22 451 719
+ -10000 648 588 394 421 595 101 41 737 247
+ -10000 931 825 303 319 775 94 785 67 195
+ -10000 786 155 313 95 688 292 250 642 760
+ -10000 344 825 417 572 143 912 174 877 676
+ -10000 95 904 536 785 936 699 735 760 45
+ -10000 238 221 708 668 830 927 926 888 866
+ -10000 694 323 368 846 677 896 571 424 536
+ -10000 388 628 856 61 898 695 674 669 139
+ -10000 16 954 922 309 991 684 476 381 144
+ -10000 540 603 651 337 564 196 234 330 500
+ -10000 183 180 470 171 611 523 97 315 896
+ -10000 518 626 85 379 402 394 295 487 145
+ -10000 853 671 82 370 11 857 837 733 367
+ -10000 40 401 555 967 106 386 605 377 433
+ -10000 985 670 222 468 349 193 433 734 147
+ -10000 624 979 649 417 40 414 91 378 914
+ -10000 682 113 40 142 573 429 304 450 481
+ -10000 560 395 188 384 355 181 995 522 816
+ -10000 937 47 759 96 531 699 558 209 380
+ -10000 725 397 565 953 564 459 475 545 202
+ -10000 211 851 491 352 619 294 603 533 918
+ -10000 18 469 678 617 981 478 516 805 756
+ -10000 683 277 952 679 493 264 723 97 744
+ -10000 71 207 929 118 216 705 704 364 403
+ -10000 485 103 797 428 631 49 161 367 782
+ -10000 493 264 979 893 168 764 652 839 296
+ -10000 35 225 75 388 165 75 322 190 735
+ -10000 396 901 82 317 883 840 610 874 686
+ -10000 525 637 845 379 872 295 81 950 627
+ -10000 40 585 632 537 820 12 783 901 824
+ -10000 558 943 354 202 495 206 56 319 984
+ -10000 690 394 32 30 624 194 521 536 839
+ -10000 474 26 999 665 59 687 732 80 112
+ -10000 952 867 645 243 872 404 288 296 695
+ -10000 746 436 583 842 681 725 621 471 640
+ -10000 481 779 578 310 261 218 709 445 61
+ -10000 576 722 985 199 331 288 55 405 427
+ -10000 532 921 64 857 836 726 175 408 222
+ -10000 877 361 181 530 413 197 206 730 906
+ -10000 261 298 614 165 869 329 197 596 454
+ -10000 896 128 279 941 42 343 121 422 72
+ -10000 863 980 434 983 935 979 234 878 188
+ -10000 220 467 535 890 757 62 837 280 68
+ -10000 509 843 148 941 625 825 718 669 245
+ -10000 567 107 644 711 760 206 868 935 5
+ -10000 610 19 778 277 289 808 315 992 789
+ -10000 705 938 413 590 39 93 305 856 683
+ -10000 525 337 14 971 264 832 546 948 620
+ -10000 400 848 470 673 257 860 62 565 929
+ -10000 292 312 731 253 252 687 442 822 963
+ -10000 394 556 100 510 790 588 470 80 730
+ -10000 343 742 252 607 125 34 654 300 906
+ -10000 397 181 892 179 15 14 864 855 700
+ -10000 597 705 934 599 553 403 667 357 294
+ -10000 112 552 631 35 34 789 219 876 446
+ -10000 382 256 850 999 799 130 53 365 287
+ -10000 866 724 256 756 628 444 357 214 510
+ -10000 437 892 120 251 589 31 380 363 753
+ -10000 428 583 116 967 195 412 202 928 823
+ -10000 695 801 392 767 204 348 978 109 119
+ -10000 964 457 266 217 735 521 145 52 251
+ -10000 394 58 568 151 6 998 743 400 649
+ -10000 927 300 771 844 131 504 443 742 799
+ -10000 888 346 0 434 126 268 491 902 741
+ -10000 390 757 98 610 769 340 11 374 581
+ -10000 281 874 904 346 712 487 406 570 261
+ -10000 462 217 603 885 64 927 339 379 550
+ -10000 257 831 629 225 798 680 178 99 984
+ -10000 437 553 600 143 466 763 776 274 868
+ -10000 305 710 512 321 338 538 618 183 584
+ -10000 246 783 89 675 509 624 472 397 189
+ -10000 216 732 199 144 773 120 952 939 804
+ -10000 257 5 127 781 499 807 298 16 594
+ -10000 827 451 850 609 835 27 662 12 388
+ -10000 439 587 516 443 465 473 945 163 252
+ -10000 769 967 96 734 709 717 457 627 200
+ -10000 254 791 391 820 875 197 151 33 428
+ -10000 480 434 739 150 821 341 231 297 237
+ -10000 815 322 776 90 926 198 627 755 736
+ -10000 584 732 21 968 888 134 80 333 281
+ -10000 929 806 659 918 906 716 962 131 275
+ -10000 440 762 20 100 132 176 65 433 126
+ -10000 549 877 120 211 957 871 594 778 781
+ -10000 217 575 994 659 813 376 240 788 831
+ -10000 703 413 9 11 806 88 898 590 236
+ -10000 119 131 355 767 374 311 972 77 145
+ -10000 224 633 155 842 543 709 187 916 359
+ -10000 213 147 781 621 689 548 351 849 333
+ -10000 868 891 805 682 167 842 280 564 617
+ -10000 464 868 834 612 733 224 587 654 5
+ -10000 743 688 336 748 795 776 960 397 82
+ -10000 213 375 169 581 739 306 314 299 738
+ -10000 604 14 449 747 37 78 170 1000 154
+ -10000 467 186 426 841 939 751 430 655 829
+ -10000 670 490 444 610 60 428 455 289 227
+ -10000 16 790 973 680 357 439 748 62 369
+ -10000 54 157 439 726 69 220 272 374 152
+ -10000 422 805 338 741 373 279 240 866 845
+ -10000 415 256 589 650 853 280 422 304 502
+ -10000 885 586 186 583 456 343 197 266 30
+ -10000 136 688 462 773 557 193 932 571 737
+ -10000 395 615 799 15 130 747 845 793 855
+ -10000 392 257 262 773 468 780 339 50 579
+ -10000 109 530 647 557 648 182 40 965 802
+ -10000 48 407 261 743 305 296 377 125 568
+ -10000 223 730 755 82 11 103 908 917 958
+ -10000 609 121 537 772 348 891 346 36 748
+ -10000 178 285 764 849 646 871 726 541 959
+ -10000 351 145 383 987 481 654 703 677 293
+ -10000 86 114 475 745 163 52 614 937 281
+ -10000 883 627 78 906 490 866 38 189 477
+ -10000 946 588 994 720 857 880 397 937 800
+ -10000 122 14 239 924 752 43 971 173 288
+ -10000 774 280 203 377 341 544 234 982 525
+ -10000 459 34 993 203 694 817 143 436 193
+ -10000 517 389 292 713 216 799 116 11 834
+ -10000 544 485 502 33 22 164 318 210 164
+ -10000 620 42 888 723 434 783 980 813 100
+ -10000 876 457 963 548 99 135 485 109 252
+ -10000 379 750 405 812 502 339 278 40 803
+ -10000 396 74 744 387 533 803 879 884 229
+ -10000 562 243 624 489 996 680 621 160 800
+ -10000 326 8 436 249 153 570 716 868 463
+ -10000 100 179 897 498 365 162 720 271 66
+ -10000 460 311 649 525 172 59 368 325 953
+ -10000 272 15 511 31 966 606 612 336 824
+ -10000 934 822 29 14 652 294 239 607 17
+ -10000 489 418 850 728 840 532 261 998 274
+ -10000 661 452 682 17 153 641 751 62 933
+ -10000 412 774 672 75 540 872 47 767 479
+ -10000 240 846 221 718 595 252 280 959 424
+ -10000 110 43 641 565 94 720 845 146 87
+ -10000 357 953 496 469 905 425 404 654 559
+ -10000 103 126 137 500 780 510 983 41 403
+ -10000 820 609 24 471 258 734 243 469 111
+ -10000 713 520 527 426 306 784 32 477 907
+ -10000 752 762 250 275 632 950 193 484 8
+ -10000 999 373 542 185 367 431 588 236 219
+ -10000 344 807 948 519 864 606 812 746 772
+ -10000 774 693 210 601 583 312 272 436 933
+ -10000 449 751 834 727 859 626 1 357 795
+ -10000 400 375 869 64 483 924 498 849 578
+ -10000 12 810 935 126 990 298 193 453 852
+ -10000 671 796 480 765 963 851 353 4 923
+ -10000 753 275 140 273 255 424 594 870 270
+ -10000 528 249 270 238 140 458 163 247 770
+ -10000 27 900 594 954 677 851 487 726 92
+ -10000 567 832 807 147 152 81 629 750 306
+ -10000 491 420 252 133 615 665 584 962 586
+ -10000 668 196 702 915 949 243 14 875 796
+ -10000 459 116 955 379 940 405 125 194 359
+ -10000 539 778 490 862 628 970 361 631 351
+ -10000 821 210 601 207 92 662 255 176 558
+ -10000 635 463 390 552 166 820 295 106 416
+ -10000 751 859 343 382 687 663 509 143 688
+ -10000 970 375 521 30 188 830 210 247 95
+ -10000 81 194 347 645 687 711 176 99 727
+ -10000 668 748 282 925 521 122 591 580 488
+ -10000 399 902 98 726 430 573 788 566 692
+ -10000 253 79 449 693 323 908 776 912 90
+ -10000 487 90 882 264 57 761 148 576 111
+ -10000 754 359 544 463 290 891 310 941 43
+ -10000 799 743 335 824 615 916 240 590 638
+ -10000 527 499 228 198 35 237 425 166 52
+ -10000 867 638 782 78 35 839 229 36 394
+ -10000 958 270 586 800 79 140 242 819 133
+ -10000 809 197 856 572 383 400 775 658 598
+ -10000 573 303 565 691 786 729 31 124 41
+ -10000 934 582 128 291 805 59 427 363 84
+ -10000 634 164 759 855 339 80 93 153 722
+ -10000 414 534 181 244 695 135 576 983 625
+ -10000 746 548 961 80 512 222 1000 182 70
+ -10000 985 412 111 20 513 247 62 31 210
+ -10000 476 686 576 888 862 782 454 437 320
+ -10000 463 674 803 69 526 544 732 614 30
+ -10000 595 471 495 795 532 915 341 319 552
+ -10000 746 925 995 323 30 284 110 315 59
+ -10000 163 515 438 64 185 432 842 165 388
+ -10000 622 497 718 155 568 242 839 472 758
+ -10000 537 705 660 567 211 539 970 697 175
+ -10000 889 777 227 425 687 238 999 625 448
+ -10000 368 816 123 635 288 273 626 491 713
+ -10000 522 167 879 24 454 390 347 682 830
+ -10000 507 100 28 597 992 201 901 536 550
+ -10000 976 459 988 13 58 599 668 290 730
+ -10000 742 197 948 315 570 672 268 251 981
+ -10000 983 397 759 974 275 148 532 803 706
+ -10000 589 828 144 536 87 66 576 365 40
+ -10000 101 356 180 664 283 815 187 547 22
+ -10000 357 120 974 256 955 14 515 367 973
+ -10000 593 730 687 638 765 509 557 502 689
+ -10000 412 396 982 464 331 10 952 784 678
+ -10000 36 606 700 781 974 894 392 826 414
+ -10000 414 55 678 552 618 427 976 280 333
+ -10000 345 550 611 238 391 737 93 601 691
+ -10000 882 952 720 904 208 97 17 217 811
+ -10000 968 189 935 983 250 350 598 387 76
+ -10000 569 227 738 785 978 176 751 930 724
+ -10000 794 537 771 413 191 848 750 396 456
+ -10000 391 16 641 64 899 286 916 19 45
+ -10000 76 225 465 549 614 693 604 808 500
+ -10000 766 971 417 802 830 586 660 314 168
+ -10000 433 39 588 662 299 389 99 593 143
+ -10000 511 674 694 913 890 937 275 495 475
+ -10000 549 709 120 693 343 878 365 192 734
+ -10000 666 671 789 218 226 538 517 880 856
+ -10000 958 868 987 445 427 806 688 275 649
+ -10000 398 504 517 276 666 474 909 437 125
+ -10000 802 454 40 656 156 825 334 689 268
+ -10000 915 459 7 772 47 825 174 516 301
+ -10000 526 316 622 967 113 416 948 655 4
+ -10000 752 966 891 350 138 641 485 631 452
+ -10000 998 649 310 248 116 688 20 136 543
+ -10000 290 349 943 951 908 608 757 664 798
+ -10000 767 82 327 399 569 356 783 309 588
+ -10000 252 432 478 308 363 881 423 756 435
+ -10000 921 65 741 451 870 329 529 538 336
+ -10000 406 271 957 448 66 348 353 819 774
+ -10000 904 938 920 935 954 585 442 650 240
+ -10000 572 389 404 908 787 476 833 227 892
+ -10000 379 644 630 985 819 928 768 738 921
+ -10000 198 335 44 298 390 842 687 834 512
+ -10000 816 532 986 729 180 573 920 596 221
+ -10000 223 907 574 847 613 201 914 438 981
+ -10000 658 138 882 346 558 198 183 639 721
+ -10000 276 131 642 145 601 417 145 834 537
+ -10000 741 405 264 697 318 408 476 239 666
+ -10000 76 6 661 88 936 347 927 35 951
+ -10000 808 969 344 718 766 650 236 910 666
+ -10000 775 23 651 790 196 550 409 954 78
+ -10000 435 917 940 106 806 991 68 308 497
+ -10000 94 952 480 725 683 570 479 120 842
+ -10000 127 585 365 652 385 833 404 398 734
+ -10000 185 885 445 654 586 708 368 901 417
+ -10000 861 214 601 641 289 884 927 649 8
+ -10000 880 119 315 568 398 326 693 864 94
+ -10000 889 65 229 724 855 341 234 487 23
+ -10000 24 800 854 215 898 329 567 580 687
+ -10000 445 814 254 570 795 441 941 195 187
+ -10000 606 630 250 592 691 467 758 831 545
+ -10000 847 510 291 628 938 782 925 14 44
+ -10000 552 928 815 50 72 840 841 615 727
+ -10000 417 72 409 390 214 642 647 99 422
+ -10000 381 487 312 101 595 11 367 866 63
+ -10000 162 524 468 646 698 972 573 587 818
+ -10000 778 400 485 845 558 518 337 550 532
+ -10000 741 418 357 883 675 175 361 969 93
+ -10000 589 332 832 131 668 8 920 516 507
+ -10000 180 500 162 391 739 723 167 458 123
+ -10000 377 665 161 465 981 186 899 878 541
+ -10000 861 949 527 783 292 305 51 644 240
+ -10000 758 925 712 813 546 817 80 591 865
+ -10000 619 59 642 164 376 832 891 897 347
+ -10000 895 129 419 406 797 938 564 270 877
+ -10000 594 379 30 893 46 80 642 493 37
+ -10000 480 924 818 420 1 615 942 925 859
+ -10000 474 531 398 275 383 298 759 307 447
+ -10000 998 10 540 511 233 642 457 113 760
+ -10000 621 220 285 470 565 467 870 908 420
+ -10000 859 43 132 864 75 879 231 512 286
+ -10000 380 421 626 285 883 273 335 272 687
+ -10000 567 459 538 685 374 490 34 315 566
+ -10000 167 541 997 299 575 898 547 554 758
+ -10000 384 555 963 456 951 539 290 921 579
+ -10000 188 328 708 668 599 546 43 941 490
+ -10000 839 154 164 813 510 290 454 869 481
+ -10000 931 795 570 896 503 600 518 997 56
+ -10000 268 708 814 982 184 346 620 313 341
+ -10000 285 442 342 939 327 307 840 27 202
+ -10000 833 387 343 502 493 447 19 787 471
+ -10000 339 851 910 845 886 653 285 287 972
+ -10000 208 810 864 279 398 296 436 366 558
+ -10000 271 274 605 131 453 737 5 542 691
+ -10000 310 612 541 436 141 836 55 242 967
+ -10000 889 326 27 584 998 34 686 786 516
+ -10000 59 846 583 890 16 120 653 250 401
+ -10000 644 877 894 267 1000 202 805 603 755
+ -10000 471 727 231 74 384 739 310 532 862
+ -10000 146 266 251 80 388 494 715 707 580
+ -10000 796 134 547 738 986 502 917 578 182
+ -10000 124 388 780 169 724 424 615 983 63
+ -10000 869 894 222 345 792 989 718 723 944
+ -10000 736 434 198 429 16 939 88 518 429
+ -10000 69 596 395 835 780 1 25 439 950
+ -10000 299 140 7 987 122 83 923 93 383
+ -10000 304 705 247 161 679 862 139 503 301
+ -10000 228 116 393 107 888 431 406 64 660
+ -10000 750 605 149 609 246 231 851 377 327
+ -10000 834 924 685 37 415 42 510 277 783
+ -10000 80 342 631 452 593 347 322 477 190
+ -10000 466 133 199 603 455 916 530 854 656
+ -10000 511 287 370 566 331 739 546 383 477
+ -10000 452 528 860 912 127 291 621 369 819
+ -10000 402 560 457 805 924 309 838 284 781
+ -10000 961 79 802 484 622 483 776 758 740
+ -10000 497 428 814 126 49 617 453 688 180
+ -10000 206 38 908 891 581 816 822 945 938
+ -10000 898 492 503 215 39 474 999 400 218
+ -10000 102 52 929 295 863 984 108 17 969
+ -10000 868 488 785 624 240 558 340 714 163
+ -10000 175 883 137 7 886 981 196 842 619
+ -10000 907 212 223 928 714 28 755 523 711
+ -10000 208 401 721 896 182 799 601 1000 482
+ -10000 421 779 371 960 424 829 646 135 757
+ -10000 692 83 995 213 317 426 236 295 665
+ -10000 650 429 22 1000 981 636 188 333 477
+ -10000 689 31 580 241 54 483 278 229 876
+ -10000 337 915 826 319 994 282 534 98 321
+ -10000 477 194 244 917 745 28 329 275 230
+ -10000 404 242 817 242 66 851 225 767 578
+ -10000 531 874 376 682 719 494 82 726 507
+ -10000 67 398 236 883 932 672 715 406 652
+ -10000 587 820 204 276 728 684 200 340 522
+ -10000 559 247 264 603 825 402 469 42 727
+ -10000 185 863 945 10 316 818 675 612 65
+ -10000 966 959 866 331 367 479 768 839 362
+ -10000 434 198 53 8 140 465 456 553 884
+ -10000 440 108 72 991 315 328 561 823 556
+ -10000 936 815 419 267 454 941 669 646 527
+ -10000 826 644 470 683 561 876 611 465 175
+ -10000 240 159 332 257 226 54 674 841 453
+ -10000 873 860 328 927 674 314 68 818 624
+ -10000 912 56 687 366 538 601 629 790 921
+ -10000 400 808 145 687 561 129 640 230 337
+ -10000 16 425 971 288 801 549 594 178 276
+ -10000 653 507 1 400 483 165 946 976 711
+ -10000 940 46 680 308 986 196 190 699 170
+ -10000 134 88 914 759 172 453 846 535 104
+ -10000 664 383 534 78 121 709 955 216 90
+ -10000 618 145 473 263 386 413 237 832 22
+ -10000 300 653 26 554 897 15 468 868 200
+ -10000 23 974 527 740 713 607 531 781 974
+ -10000 150 37 209 65 500 960 784 732 86
+ -10000 837 280 376 115 797 365 498 37 444
+ -10000 156 113 992 814 942 772 922 245 354
+ -10000 925 427 632 861 870 848 935 766 198
+ -10000 809 739 8 766 990 741 741 453 269
+ -10000 115 1000 560 276 90 599 73 358 941
+ -10000 340 439 634 139 822 793 793 720 626
+ -10000 158 270 79 78 652 967 667 879 596
+ -10000 232 881 403 482 573 253 605 540 107
+ -10000 146 395 412 486 821 279 406 637 698
+ -10000 287 332 14 602 974 441 477 453 489
+ -10000 993 147 738 928 896 745 150 452 952
+ -10000 8 110 273 738 809 146 646 844 161
+ -10000 352 241 877 598 940 920 966 441 862
+ -10000 91 548 2 819 297 191 539 659 253
+ -10000 59 794 451 815 32 162 633 82 402
+ -10000 573 771 881 943 287 533 929 345 0
+ -10000 851 923 44 94 520 897 751 365 566
+ -10000 16 9 299 350 199 389 803 418 542
+ -10000 966 508 907 66 4 909 967 393 108
+ -10000 662 378 156 404 163 183 952 134 719
+ -10000 877 212 200 428 935 169 798 183 249
+ -10000 128 437 583 185 447 525 112 964 917
+ -10000 118 830 3 253 778 478 127 99 836
+ -10000 531 403 729 952 429 808 981 594 119
+ -10000 85 636 229 425 775 61 259 278 260
+ -10000 74 421 110 574 789 881 762 382 551
+ -10000 223 447 297 292 977 781 262 801 655
+ -10000 818 565 311 454 236 208 432 646 808
+ -10000 171 207 622 894 678 868 251 655 752
+ -10000 984 558 988 541 527 832 832 929 123
+ -10000 998 833 946 180 904 364 786 3 720
+ -10000 266 641 546 783 605 830 927 965 954
+ -10000 58 680 148 224 133 213 439 43 173
+ -10000 752 791 180 535 646 620 197 783 759
+ -10000 554 180 279 985 752 911 695 659 475
+ -10000 548 887 350 836 394 727 178 110 652
+ -10000 167 240 370 647 888 929 771 252 504
+ -10000 591 884 983 352 510 233 443 773 427
+ -10000 383 786 467 772 272 107 934 905 772
+ -10000 254 184 337 458 517 835 245 488 953
+ -10000 112 408 653 718 637 605 712 609 632
+ -10000 272 579 914 220 853 898 66 710 605
+ -10000 75 632 354 628 493 412 905 561 963
+ -10000 843 40 979 735 560 682 900 961 37
+ -10000 307 165 565 464 771 808 556 678 403
+ -10000 110 339 764 991 149 463 803 618 561
+ -10000 810 728 563 643 35 810 101 618 976
+ -10000 39 550 816 727 956 760 552 4 899
+ -10000 549 504 87 209 953 210 547 802 411
+ -10000 998 81 450 250 564 402 574 717 72
+ -10000 582 581 360 720 100 84 578 140 916
+ -10000 912 804 57 793 728 362 580 760 234
+ -10000 440 514 351 224 298 313 767 396 171
+ -10000 752 568 949 641 41 535 772 468 882
+ -10000 103 733 25 376 220 296 778 572 787
+ -10000 989 288 369 903 3 913 662 594 492
+ -10000 382 818 353 130 747 846 215 688 488
+ -10000 490 718 108 619 380 676 926 277 919
+ -10000 155 641 916 440 965 249 581 598 290
+ -10000 770 632 809 466 25 381 160 659 413
+ -10000 504 235 342 508 126 753 276 516 729
+ -10000 76 123 781 280 592 413 660 737 574
+ -10000 445 960 720 500 650 475 472 407 195
+ -10000 185 963 432 294 861 880 795 413 33
+ -10000 853 726 732 258 270 245 994 99 556
+ -10000 98 391 901 531 862 165 152 215 641
+ -10000 990 309 553 178 481 730 784 371 334
+ -10000 991 399 878 315 610 656 673 756 806
+ -10000 40 843 444 647 182 293 805 486 159
+ -10000 344 235 574 657 937 539 288 368 714
+ -10000 336 418 337 158 600 555 371 335 550
+ -10000 494 819 549 113 526 886 399 746 558
+ -10000 872 730 19 385 40 563 156 65 707
+ -10000 188 706 976 762 282 510 935 614 159
+ -10000 976 876 543 655 804 210 504 113 30
+ -10000 840 235 467 603 349 5 64 74 742
+ -10000 638 535 609 561 178 249 53 286 703
+ -10000 815 169 465 127 908 811 504 293 402
+ -10000 520 852 148 399 791 24 189 738 382
+ -10000 312 383 960 73 2 11 73 291 39
+ -10000 393 745 661 917 737 209 252 578 16
+ -10000 179 566 682 636 382 760 665 723 21
+ -10000 313 950 267 67 217 454 570 531 302
+ -10000 338 505 852 202 266 130 951 544 951
+ -10000 65 33 39 118 223 372 148 885 579
+ -10000 572 897 929 468 25 13 934 861 828
+ -10000 567 122 447 82 211 11 515 384 469
+ -10000 156 61 662 368 50 244 984 382 144
+ -10000 690 698 121 160 502 140 95 403 608
+ -10000 156 296 153 865 573 115 272 318 775
+ -10000 787 962 423 70 484 973 596 885 624
+ -10000 848 477 441 718 195 210 439 836 75
+ -10000 97 942 491 734 789 758 83 907 502
+ -10000 38 621 220 21 704 896 187 674 543
+ -10000 938 642 755 860 944 811 874 552 277
+ -10000 273 117 856 961 392 624 403 344 294
+ -10000 345 578 163 996 599 217 41 609 94
+ -10000 765 718 611 357 762 146 666 301 171
+ -10000 447 549 777 134 74 243 594 375 678
+ -10000 372 923 914 251 632 574 884 794 498
+ -10000 505 653 928 347 81 897 235 995 53
+ -10000 658 519 130 56 693 980 542 641 146
+ -10000 187 660 193 152 296 553 791 174 858
+ -10000 606 342 76 562 13 54 299 94 871
+ -10000 148 964 838 781 402 424 909 163 714
+ -10000 273 269 257 987 653 389 559 987 922
+ -10000 126 57 607 144 62 831 559 645 727
+ -10000 524 785 40 833 389 607 398 653 711
+ -10000 713 330 133 403 797 892 116 716 816
+ -10000 170 578 498 366 833 18 455 954 35
+ -10000 959 101 690 441 177 875 997 819 528
+ -10000 476 272 329 230 130 761 776 740 659
+ -10000 86 692 999 953 842 918 324 675 152
+ -10000 88 534 101 20 333 87 222 772 137
+ -10000 572 688 910 999 950 152 913 615 57
+ -10000 445 706 129 638 351 111 300 398 212
+ -10000 100 575 989 68 704 437 819 781 267
+ -10000 605 335 584 247 568 117 389 544 993
+ -10000 947 688 349 173 299 445 799 427 387
+ -10000 27 168 222 349 561 338 517 317 601
+ -10000 0 457 437 766 989 174 336 229 989
+ -10000 508 290 260 339 716 649 618 975 156
+ -10000 199 856 80 897 37 529 185 774 424
+ -10000 463 77 778 968 846 453 794 912 189
+ -10000 207 264 461 592 638 798 528 163 775
+ -10000 103 96 966 98 701 951 494 896 557
+ -10000 511 464 39 194 932 16 668 773 449
+ -10000 502 685 411 226 789 732 231 250 930
+ -10000 817 861 945 130 46 111 308 750 136
+ -10000 164 38 925 795 603 75 843 954 676
+ -10000 917 480 119 9 633 854 983 918 944
+ -10000 774 949 697 536 849 62 625 93 722
+ -10000 486 52 502 593 395 407 897 248 488
+ -10000 125 224 981 399 525 980 573 952 469
+ -10000 571 778 313 132 106 952 920 200 396
+ -10000 541 468 732 72 238 454 785 89 373
+ -10000 512 177 898 972 867 614 673 285 289
+ -10000 539 361 732 429 891 252 333 946 816
+ -10000 878 582 694 77 420 810 977 917 397
+ -10000 575 4 226 140 809 892 694 389 226
+ -10000 746 376 108 970 796 847 558 190 713
+ -10000 750 498 719 999 960 264 694 22 875
+ -10000 429 568 444 591 920 654 849 534 713
+ -10000 629 64 335 290 577 874 716 110 147
+ -10000 177 237 560 208 772 514 65 228 744
+ -10000 716 521 519 763 322 475 238 44 633
+ -10000 306 263 33 318 666 159 40 526 196
+ -10000 200 856 16 879 639 774 330 459 590
+ -10000 47 717 457 878 818 134 951 203 425
+ -10000 331 21 369 404 993 539 84 75 388
+ -10000 144 344 658 676 497 715 243 437 510
+ -10000 750 280 750 72 681 956 608 913 851
+ -10000 771 121 668 901 619 570 148 436 534
+ -10000 515 59 909 845 241 810 863 251 255
+ -10000 320 305 923 858 663 413 143 604 685
+ -10000 253 16 543 128 302 712 595 467 543
+ -10000 5 296 109 400 731 943 381 468 405
+ -10000 421 441 140 70 505 333 886 474 226
+ -10000 666 94 789 284 606 964 138 249 969
+ -10000 308 780 777 452 866 718 914 779 908
+ -10000 12 353 112 441 624 684 984 306 875
+ -10000 246 847 300 470 487 691 562 621 945
+ -10000 924 528 595 186 793 118 342 710 343
+ -10000 431 123 240 216 565 167 175 679 935
+ -10000 63 888 313 455 540 719 158 182 991
+ -10000 424 757 156 688 24 499 285 435 342
+ -10000 347 955 891 12 311 375 950 417 402
+ -10000 954 755 553 449 924 42 469 202 632
+ -10000 377 665 215 631 805 332 928 588 224
+ -10000 223 609 75 159 386 591 115 312 611
+ -10000 353 318 106 900 731 148 367 83 613
+ -10000 207 675 636 16 440 659 209 751 34
+ -10000 486 343 969 775 190 142 727 469 830
+ -10000 209 469 590 161 168 952 723 459 869
+ -10000 390 878 203 277 968 430 917 641 152
+ -10000 856 762 614 120 44 823 796 938 741
+ -10000 989 428 960 730 496 403 314 910 871
+ -10000 588 217 351 66 338 929 860 567 256
+ -10000 619 679 921 296 890 610 924 624 889
+ -10000 417 869 103 549 321 121 277 709 118
+ -10000 564 573 239 194 869 865 491 284 157
+ -10000 696 868 35 209 849 435 811 238 943
+ -10000 908 471 764 81 663 332 928 305 652
+ -10000 626 843 550 229 91 251 137 217 489
+ -10000 373 872 407 816 341 485 349 758 613
+ -10000 302 118 113 28 188 357 823 237 418
+ -10000 470 757 520 977 482 203 348 798 174
+ -10000 320 962 306 959 736 434 678 618 531
+ -10000 128 214 829 560 279 727 879 777 96
+ -10000 916 81 404 652 645 24 61 565 458
+ -10000 819 356 372 755 113 297 963 697 248
+ -10000 903 672 547 773 593 251 0 422 732
+ -10000 904 370 859 932 258 607 173 456 276
+ -10000 734 100 41 474 51 815 238 526 303
+ -10000 839 273 372 822 345 130 220 379 4
+ -10000 735 629 402 494 550 470 730 109 439
+ -10000 162 850 423 159 707 119 545 267 172
+ -10000 838 296 987 80 628 963 738 71 891
+ -10000 841 838 584 242 36 293 537 293 267
+ -10000 795 916 352 270 18 313 430 369 129
+ -10000 313 494 891 135 432 385 377 73 155
+ -10000 28 724 261 402 756 361 919 514 922
+ -10000 522 981 993 282 145 764 567 216 29
+ -10000 791 731 797 797 722 314 47 741 417
+ -10000 767 676 684 178 460 891 746 776 447
+ -10000 431 424 277 456 184 949 199 67 741
+ -10000 455 121 915 12 355 807 145 742 527
+ -10000 945 592 337 504 80 474 453 291 210
+ -10000 68 156 967 789 138 454 993 474 458
+ -10000 5 539 789 910 977 848 388 830 220
+ -10000 77 92 627 357 370 555 377 42 149
+ -10000 134 433 516 118 745 313 223 594 58
+ -10000 533 793 523 441 315 254 852 762 343
+ -10000 560 321 37 17 770 188 585 900 978
+ -10000 829 293 903 346 500 344 466 458 472
+ -10000 423 837 12 356 629 987 141 364 505
+ -10000 574 663 713 846 258 613 840 464 439
+ -10000 840 446 44 693 60 896 779 628 837
+ -10000 266 502 908 812 533 704 904 694 506
+ -10000 301 496 482 61 91 913 723 945 632
+ -10000 677 802 166 318 411 911 792 271 16
+ -10000 356 218 190 21 352 541 947 240 863
+ -10000 470 298 314 76 756 889 734 986 236
+ -10000 412 95 710 168 95 847 126 137 60
+ -10000 926 381 530 70 651 637 67 603 224
+ -10000 886 913 607 743 398 185 441 808 232
+ -10000 807 451 846 608 617 447 319 327 449
+ -10000 611 111 886 106 728 707 877 99 383
+ -10000 553 165 597 706 932 193 807 438 871
+ -10000 43 177 193 580 927 950 764 376 394
+ -10000 221 229 206 355 563 640 564 523 538
+ -10000 409 199 477 340 937 224 352 371 813
+ -10000 44 578 940 468 48 663 500 970 874
+ -10000 502 643 656 537 9 745 601 753 207
+ -10000 198 748 274 671 208 967 638 541 218
+ -10000 850 643 320 662 867 37 776 207 430
+ -10000 647 735 69 314 930 48 654 870 691
+ -10000 71 522 172 19 578 39 626 116 59
+ -10000 392 235 370 154 652 542 396 284 672
+ -10000 290 176 451 308 697 991 590 396 101
+ -10000 120 779 195 121 358 691 939 593 586
+ -10000 495 176 177 877 536 548 351 859 273
+ -10000 475 507 434 80 631 749 991 832 77
+ -10000 785 534 535 902 792 973 715 406 445
+ -10000 231 800 102 266 461 84 360 148 397
+ -10000 869 365 436 480 305 956 818 152 731
+ -10000 655 571 155 342 557 333 318 787 404
+ -10000 825 88 753 454 975 6 501 92 804
+ -10000 746 747 798 170 628 802 56 360 381
+ -10000 252 247 336 485 135 804 476 822 858
+ -10000 410 988 656 767 318 183 68 715 829
+ -10000 298 287 640 195 540 214 255 492 550
+ -10000 978 306 825 767 28 719 976 288 869
+ -10000 357 278 539 584 846 483 692 346 967
+ -10000 346 434 675 184 60 764 510 760 726
+ -10000 118 320 860 154 343 483 461 727 707
+ -10000 49 701 318 862 729 65 391 305 376
+ -10000 115 932 920 57 164 5 895 689 367
+ -10000 198 642 804 702 709 471 496 491 805
+ -10000 140 62 549 946 558 769 120 518 69
+ -10000 470 526 897 10 95 919 87 475 77
+ -10000 325 961 415 344 357 575 112 639 978
+ -10000 123 86 416 801 636 265 377 194 296
+ -10000 367 319 430 618 246 889 3 764 784
+ -10000 831 55 843 386 179 901 691 588 706
+ -10000 346 458 542 169 454 78 556 75 702
+ -10000 351 24 480 737 380 984 345 748 215
+ -10000 754 346 43 948 623 854 878 153 355
+ -10000 721 345 715 542 769 489 574 665 151
+ -10000 12 767 893 453 384 712 40 29 619
+ -10000 505 0 827 906 272 239 614 180 958
+ -10000 371 743 747 626 822 548 954 322 185
+ -10000 312 568 725 929 279 673 455 402 870
+ -10000 47 355 779 255 612 810 360 144 628
+ -10000 760 80 469 891 731 242 269 816 68
+ -10000 407 860 596 368 118 949 453 592 468
+ -10000 232 863 236 473 384 601 428 492 889
+ -10000 793 66 66 642 469 429 526 554 905
+ -10000 598 148 448 25 156 656 408 337 107
+ -10000 288 198 541 750 274 692 252 535 374
+ -10000 655 78 410 505 553 674 901 335 33
+ -10000 820 811 158 207 607 686 195 824 363
+ -10000 138 505 800 710 495 756 256 819 65
+ -10000 258 538 194 273 407 322 646 531 764
+ -10000 131 750 351 152 188 841 201 629 201
+ -10000 998 843 193 208 357 677 151 574 451
+ -10000 328 813 288 859 639 723 885 580 594
+ -10000 77 151 55 20 80 675 329 218 19
+ -10000 20 799 260 464 193 29 715 276 544
+ -10000 372 270 438 664 452 633 859 308 879
+ -10000 539 962 951 486 948 450 834 963 974
+ -10000 559 819 95 368 965 392 430 389 646
+ -10000 684 778 778 454 544 499 447 694 940
+ -10000 50 981 64 376 201 108 688 375 611
+ -10000 717 592 26 803 917 103 168 1 88
+ -10000 394 834 249 527 51 264 307 709 680
+ -10000 706 149 235 182 886 369 428 776 753
+ -10000 418 416 977 989 790 854 261 64 865
+ -10000 485 680 222 926 896 196 60 62 902
+ -10000 718 311 959 525 203 943 921 737 629
+ -10000 977 797 125 376 993 479 164 230 264
+ -10000 291 627 759 584 173 59 946 456 297
+ -10000 943 663 767 314 95 967 279 258 219
+ -10000 201 293 861 14 467 619 136 294 7
+ -10000 37 190 860 947 251 114 1000 192 699
+ -10000 499 456 248 940 193 568 943 22 32
+ -10000 654 506 943 438 193 480 112 664 602
+ -10000 124 14 980 142 607 865 365 133 233
+ -10000 503 476 648 19 78 585 693 686 542
+ -10000 968 27 299 774 740 766 120 197 46
+ -10000 786 476 171 268 847 204 505 691 86
+ -10000 426 683 922 935 900 959 586 431 121
+ -10000 984 529 453 29 291 77 189 504 74
+ -10000 357 341 526 507 443 921 62 103 9
+ -10000 152 882 910 44 947 380 726 189 675
+ -10000 974 296 334 744 793 994 39 797 668
+ -10000 155 761 448 257 173 882 705 320 27
+ -10000 582 267 193 919 415 413 476 460 462
+ -10000 452 567 214 725 18 792 535 471 324
+ -10000 571 478 130 282 658 91 901 33 121
+ -10000 119 609 858 811 591 130 383 765 456
+ -10000 689 577 156 343 208 580 367 198 92
+ -10000 509 610 455 117 434 96 499 298 703
+ -10000 257 872 693 957 717 468 620 272 725
+ -10000 119 612 612 572 849 293 410 184 449
+ -10000 813 107 399 524 515 975 478 875 109
+ -10000 707 393 76 740 460 314 975 413 306
+ -10000 680 766 747 26 921 154 102 762 603
+ -10000 930 618 288 614 622 804 726 225 651
+ -10000 801 609 242 910 252 717 110 386 310
+ -10000 879 738 959 218 835 761 620 866 623
+ -10000 421 163 212 39 356 19 7 961 843
+ -10000 8 605 891 796 80 511 619 480 0
+ -10000 719 106 388 704 290 641 308 129 889
+ -10000 628 694 137 583 917 17 718 430 137
+ -10000 640 675 274 567 490 450 505 382 649
+ -10000 464 228 679 757 708 194 875 790 379
+ -10000 531 324 467 598 495 984 710 364 390
+ -10000 486 942 982 767 458 132 716 200 312
+ -10000 285 377 121 694 604 570 152 787 240
+ -10000 546 528 596 709 2 973 947 397 927
+ -10000 564 76 279 921 822 38 928 950 859
+ -10000 430 88 561 26 331 716 533 894 930
+ -10000 386 833 355 855 306 807 228 604 34
+ -10000 879 434 985 459 636 706 824 446 718
+ -10000 454 198 919 567 147 112 48 976 369
+ -10000 379 28 20 329 640 480 200 714 961
+ -10000 701 74 855 520 403 521 807 250 50
+ -10000 460 51 663 638 40 912 567 163 205
+ -10000 880 133 973 274 942 828 210 696 991
+ -10000 909 746 287 563 811 151 54 613 174
+ -10000 35 415 834 610 510 247 500 510 51
+ -10000 782 291 457 441 3 886 657 484 234
+ -10000 705 965 152 31 225 585 680 498 108
+ -10000 944 393 331 979 495 38 575 280 204
+ -10000 161 558 44 67 429 423 969 191 454
+ -10000 547 255 545 54 355 815 346 262 753
+ -10000 289 366 212 100 890 753 77 343 62
+ -10000 883 912 999 597 237 832 607 433 496
+ -10000 330 54 580 540 958 517 312 394 500
+ -10000 917 64 947 974 139 475 443 784 882
+ -10000 351 974 15 2 613 159 652 313 808
+ -10000 346 67 682 441 813 58 324 693 260
+ -10000 388 993 106 362 294 264 86 292 433
+ -10000 185 750 826 315 357 542 215 173 796
+ -10000 332 984 482 569 686 169 11 389 271
+ -10000 19 649 40 760 234 770 100 143 928
+ -10000 701 580 243 841 974 443 32 120 35
+ -10000 295 38 797 95 618 317 228 175 300
+ -10000 289 721 161 434 887 301 499 505 68
+ -10000 979 700 177 837 358 24 669 94 750
+ -10000 393 242 993 337 992 998 51 534 595
+ -10000 399 513 494 499 79 545 446 519 457
+ -10000 527 435 67 43 884 23 429 594 889
+ -10000 969 55 698 792 468 392 642 908 832
+ -10000 161 784 76 892 866 152 680 102 18
+ -10000 332 975 908 283 845 336 550 967 22
+ -10000 306 826 661 654 68 330 208 529 408
+ -10000 520 82 393 968 77 14 629 266 381
+ -10000 923 611 945 50 28 972 473 246 306
+ -10000 372 179 388 386 692 775 714 805 438
+ -10000 124 868 500 990 775 592 124 818 253
+ -10000 734 863 257 689 853 137 501 721 557
+ -10000 62 542 379 448 607 812 297 140 242
+ -10000 669 470 941 979 668 516 261 302 607
+ -10000 143 391 730 510 450 160 211 430 943
+ -10000 213 511 438 536 922 298 919 155 606
+ -10000 352 369 699 593 871 148 671 706 136
+ -10000 201 399 568 508 945 732 780 17 152
+ -10000 764 937 71 263 142 558 545 380 285
+ -10000 569 866 141 62 374 506 483 840 430
+ -10000 845 413 632 407 731 846 705 852 854
+ -10000 546 938 381 18 893 428 594 143 81
+ -10000 462 912 960 802 107 208 518 512 281
+ -10000 547 764 850 194 910 936 390 925 540
+ -10000 679 114 168 138 75 11 260 115 301
+ -10000 30 747 210 294 993 755 147 844 931
+ -10000 13 953 587 161 705 513 713 659 549
+ -10000 421 690 423 357 153 207 372 0 890
+ -10000 553 165 940 238 465 535 776 269 558
+ -10000 389 203 983 544 176 662 363 795 387
+ -10000 145 491 832 116 893 992 302 626 661
+ -10000 389 629 967 72 953 136 96 551 859
+ -10000 726 989 28 542 736 997 454 822 487
+ -10000 875 9 291 503 768 548 674 409 393
+ -10000 337 551 809 187 940 794 881 688 529
+ -10000 613 912 818 591 580 280 65 398 71
+ -10000 209 827 546 582 724 686 357 59 443
+ -10000 491 796 280 527 20 352 650 955 202
+ -10000 122 273 613 260 639 488 203 769 8
+ -10000 812 335 372 828 297 97 735 424 550
+ -10000 586 418 709 558 304 328 719 746 604
+ -10000 683 237 481 439 565 231 846 116 584
+ -10000 156 361 280 243 217 151 834 207 551
+ -10000 809 967 268 192 136 621 468 284 420
+ -10000 88 664 826 467 383 299 617 191 733
+ -10000 836 615 345 892 595 849 696 313 696
+ -10000 263 350 37 24 675 44 841 133 385
+ -10000 844 79 790 172 350 123 923 15 810
+ -10000 65 952 669 270 656 690 5 530 920
+ -10000 853 890 207 242 343 939 80 75 175
+ -10000 604 534 460 706 484 660 714 191 57
+ -10000 626 677 8 50 151 581 414 637 274
+ -10000 329 710 560 671 344 408 965 606 230
+ -10000 232 460 918 41 943 624 347 461 351
+ -10000 991 670 751 377 126 665 638 565 190
+ -10000 295 625 455 304 50 464 809 787 963
+ -10000 818 619 700 239 293 822 787 898 574
+ -10000 984 195 169 867 311 106 383 941 841
+ -10000 109 792 785 237 918 766 605 517 981
+ -10000 601 372 77 423 934 708 13 449 930
+ -10000 210 123 1000 7 286 127 637 53 452
+ -10000 449 79 851 458 662 633 737 629 720
+ -10000 555 15 895 849 883 680 266 372 225
+ -10000 201 732 250 744 145 293 278 549 809
+ -10000 167 530 820 242 409 571 597 632 642
+ -10000 10 822 711 369 61 763 887 580 78
+ -10000 10 407 874 623 849 506 454 944 637
+ -10000 491 107 1 225 596 272 263 637 153
+ -10000 833 478 308 617 562 633 451 214 142
+ -10000 347 459 5 751 731 912 870 525 626
+ -10000 98 365 99 33 588 655 779 164 207
+ -10000 646 924 528 623 802 688 467 991 926
+ -10000 483 544 717 491 711 348 379 484 267
+ -10000 28 473 644 889 872 506 889 745 656
+ -10000 519 660 282 750 36 487 37 20 720
+ -10000 169 190 380 699 809 557 633 18 867
+ -10000 14 360 6 492 499 689 629 536 646
+ -10000 253 40 482 875 402 485 757 695 539
+ -10000 478 109 308 46 156 59 292 831 452
+ -10000 825 989 555 735 572 607 444 107 873
+ -10000 382 797 813 611 554 629 787 843 106
+ -10000 736 418 144 173 51 413 153 907 123
+ -10000 403 648 946 586 41 483 333 66 504
+ -10000 378 683 258 320 314 907 437 674 801
+ -10000 974 348 867 671 366 317 479 212 422
+ -10000 545 80 656 800 124 107 717 119 327
+ -10000 639 340 672 954 596 175 334 519 459
+ -10000 870 436 265 442 5 490 726 660 945
+ -10000 174 822 848 310 315 720 78 642 843
+ -10000 187 301 673 392 173 89 426 378 807
+ -10000 121 195 622 159 359 486 655 458 980
+ -10000 863 167 951 470 919 565 350 782 37
+ -10000 842 301 524 241 55 848 363 853 489
+ -10000 23 249 861 109 198 409 652 504 604
+ -10000 890 210 851 299 381 456 383 615 665
+ -10000 983 166 155 275 615 165 720 913 305
+ -10000 996 626 492 598 358 499 181 721 630
+ -10000 619 909 11 901 38 816 877 460 463
+ -10000 337 70 788 776 625 853 95 990 605
+ -10000 815 487 175 31 148 415 850 670 666
+ -10000 179 338 133 843 526 684 998 80 176
+ -10000 47 610 451 289 459 327 181 948 888
+ -10000 824 461 910 776 348 745 215 650 816
+ -10000 259 139 586 602 248 900 239 614 121
+ -10000 180 501 2 763 264 324 825 41 155
+ -10000 891 599 114 291 740 669 924 491 893
+ -10000 362 655 320 68 916 735 732 329 441
+ -10000 697 273 808 989 862 507 279 103 845
+ -10000 968 55 361 193 389 495 968 441 20
+ -10000 357 526 388 706 100 252 253 541 949
+ -10000 46 472 381 822 377 944 516 280 243
+ -10000 682 354 748 225 533 997 876 523 387
+ -10000 848 932 834 42 489 702 674 358 154
+ -10000 311 211 835 372 796 49 297 446 453
+ -10000 529 994 631 216 716 297 617 831 285
+ -10000 305 376 704 786 143 417 434 193 866
+ -10000 503 887 209 140 901 912 242 142 757
+ -10000 208 712 302 586 118 149 872 585 181
+ -10000 645 860 470 291 907 612 465 266 547
+ -10000 84 996 964 363 9 14 823 389 987
+ -10000 273 813 914 222 735 195 464 196 854
+ -10000 81 354 536 385 523 661 244 535 955
+ -10000 86 942 180 303 290 697 55 751 805
+ -10000 975 321 835 236 58 537 553 65 48
+ -10000 151 391 840 116 94 407 547 582 214
+ -10000 745 69 246 544 135 395 947 711 739
+ -10000 605 75 116 672 448 636 800 380 347
+ -10000 526 245 583 937 956 888 10 692 137
+ -10000 714 500 326 233 84 94 444 380 486
+ -10000 47 3 607 365 2 107 591 181 271
+ -10000 643 143 231 536 747 991 286 157 290
+ -10000 331 120 39 501 476 601 904 78 804
+ -10000 862 233 637 641 988 755 187 636 69
+ -10000 894 429 901 12 463 447 951 337 976
+ -10000 113 695 749 825 268 827 639 75 251
+ -10000 353 429 426 478 830 311 620 407 596
+ -10000 851 27 826 822 64 13 891 153 282
+ -10000 525 863 595 429 71 945 186 692 927
+ -10000 920 463 673 223 312 876 616 289 861
+ -10000 737 38 540 687 442 807 775 254 767
+ -10000 849 329 413 396 714 387 183 399 980
+ -10000 118 76 946 389 617 752 982 720 963
+ -10000 692 86 870 131 594 209 546 776 465
+ -10000 95 66 537 491 405 314 74 509 791
+ -10000 233 157 590 767 921 800 100 636 366
+ -10000 814 961 650 994 767 826 107 474 537
+ -10000 885 441 774 135 634 217 624 154 836
+ -10000 732 23 3 516 455 272 371 425 241
+ -10000 798 38 781 729 826 304 713 642 646
+ -10000 482 803 647 157 450 175 826 931 860
+ -10000 711 320 47 925 985 931 424 854 688
+ -10000 599 398 317 739 833 955 245 736 124
+ -10000 484 908 425 311 610 654 976 874 889
+ -10000 189 870 348 825 911 623 722 15 875
+ -10000 196 344 316 31 55 647 845 509 179
+ -10000 931 615 987 234 77 847 567 593 23
+ -10000 308 240 47 106 951 433 936 931 399
+ -10000 542 122 467 343 907 770 233 385 430
+ -10000 763 527 502 325 608 1000 508 468 866
+ -10000 709 507 660 152 846 440 966 20 320
+ -10000 981 221 758 308 625 897 467 437 90
+ -10000 799 756 756 256 102 264 131 172 72
+ -10000 408 454 39 329 919 302 973 75 776
+ -10000 323 923 210 280 902 877 39 599 536
+ -10000 27 454 208 858 783 536 747 775 191
+ -10000 413 252 31 255 465 584 149 583 484
+ -10000 247 426 96 292 852 505 330 375 325
+ -10000 164 84 774 119 203 417 713 18 653
+ -10000 60 636 911 581 127 18 948 90 817
+ -10000 103 357 943 549 924 713 758 219 997
+ -10000 341 285 535 774 839 736 305 973 350
+ -10000 861 845 482 574 542 256 22 651 891
+ -10000 94 987 531 390 217 880 220 57 181
+ -10000 282 781 501 83 653 120 441 635 83
+ -10000 53 375 542 912 599 905 642 385 217
+ -10000 281 861 937 224 444 498 433 157 295
+ -10000 775 120 785 521 463 349 416 700 890
+ -10000 323 512 736 799 691 636 573 616 832
+ -10000 528 325 167 966 697 132 878 863 435
+ -10000 518 808 971 735 149 787 821 302 93
+ -10000 583 362 929 860 936 763 504 182 36
+ -10000 400 576 325 807 800 75 128 623 463
+ -10000 694 969 842 233 911 623 379 483 31
+ -10000 227 513 629 705 710 621 55 545 930
+ -10000 331 196 994 758 153 585 942 522 694
+ -10000 570 137 925 225 280 3 446 198 693
+ -10000 488 252 111 410 225 49 144 1 52
+ -10000 809 985 889 512 545 633 563 502 107
+ -10000 326 851 474 78 16 637 431 504 899
+ -10000 738 74 137 243 862 938 970 508 377
+ -10000 509 255 424 82 540 172 655 905 278
+ -10000 705 264 287 192 189 28 865 568 333
+ -10000 299 394 758 757 171 148 106 493 859
+ -10000 220 279 872 842 571 377 826 946 591
+ -10000 268 224 583 426 1000 945 636 146 538
+ -10000 157 273 78 241 664 444 26 122 987
+ -10000 670 827 463 875 522 563 867 856 66
+ -10000 908 260 127 578 794 586 214 490 782
+ -10000 350 479 277 206 66 158 725 18 74
+ -10000 84 242 199 620 872 486 86 561 60
+ -10000 983 684 517 108 934 477 831 278 773
+ -10000 262 640 550 743 889 198 874 339 806
+ -10000 861 858 495 744 333 916 570 225 55
+ -10000 414 205 3 275 308 572 80 628 700
+ -10000 987 607 619 691 250 952 629 218 439
+ -10000 129 644 556 412 135 960 47 845 969
+ -10000 164 677 11 253 339 542 838 712 516
+ -10000 229 698 496 272 822 951 499 405 338
+ -10000 863 693 586 817 195 551 745 109 27
+ -10000 455 557 464 633 759 458 909 342 639
+ -10000 52 206 69 245 31 157 747 936 899
+ -10000 989 376 954 892 42 49 439 984 885
+ -10000 429 261 155 492 799 471 384 9 411
+ -10000 913 170 818 291 693 275 413 44 318
+ -10000 987 206 64 823 230 716 343 201 812
+ -10000 939 364 46 552 101 240 18 888 438
+ -10000 875 995 146 898 113 704 84 454 551
+ -10000 747 673 545 256 182 224 301 378 1000
+ -10000 773 980 112 111 525 773 993 342 838
+ -10000 603 211 488 582 876 118 176 705 671
+ -10000 374 760 911 125 530 646 471 682 865
+ -10000 190 198 336 445 434 77 148 906 576
+ -10000 835 486 764 993 459 244 232 561 488
+ -10000 391 675 902 481 665 252 523 849 191
+ -10000 328 87 381 739 70 389 444 995 671
+ -10000 505 843 213 615 247 382 85 859 86
+ -10000 394 592 697 872 623 610 222 928 350
+ -10000 116 397 880 340 85 731 169 385 124
+ -10000 556 642 481 228 112 907 583 702 64
+ -10000 524 479 866 315 171 456 356 948 82
+ -10000 82 213 151 989 106 391 413 320 691
+ -10000 350 504 47 538 873 251 154 993 432
+ -10000 183 755 369 388 118 301 220 607 700
+ -10000 412 113 965 257 23 852 925 233 832
+ -10000 938 762 57 693 408 551 645 739 968
+ -10000 278 169 939 571 733 935 542 746 71
+ -10000 271 615 736 278 557 498 353 529 792
+ -10000 786 445 457 534 75 406 991 62 120
+ -10000 664 104 427 92 607 860 83 514 151
+ -10000 775 623 849 637 484 920 284 344 131
+ -10000 113 831 387 391 732 832 55 889 928
+ -10000 289 322 290 567 697 186 484 588 486
+ -10000 516 729 583 597 539 252 826 508 196
+ -10000 623 841 766 901 725 375 108 473 781
+ -10000 371 294 118 740 519 6 347 214 336
+ -10000 53 809 140 904 810 355 539 352 907
+ -10000 136 971 153 382 24 701 555 591 178
+ -10000 857 821 563 106 242 194 196 609 150
+ -10000 949 392 495 912 393 190 352 518 516
+ -10000 469 146 334 432 251 313 565 934 611
+ -10000 778 304 711 892 835 601 892 490 103
+ -10000 391 541 887 182 949 752 888 649 549
+ -10000 466 279 994 114 813 862 267 689 462
+ -10000 293 851 678 65 974 904 227 178 726
+ -10000 576 910 176 569 735 531 387 392 863
+ -10000 251 432 785 288 867 627 530 222 64
+ -10000 881 215 980 569 204 933 26 924 562
+ -10000 620 560 885 844 54 751 858 805 593
+ -10000 731 159 752 937 28 145 213 131 69
+ -10000 257 54 695 68 715 248 547 969 454
+ -10000 679 35 878 610 855 102 467 362 400
+ -10000 254 399 530 337 546 352 392 451 445
+ -10000 498 453 663 977 249 272 211 59 521
+ -10000 663 6 579 897 18 743 866 116 917
+ -10000 145 826 36 798 472 939 642 502 541
+ -10000 260 335 889 494 301 827 527 238 468
+ -10000 186 43 191 955 211 3 300 49 923
+ -10000 179 560 347 777 963 680 84 339 799
+ -10000 540 971 405 978 798 117 253 482 672
+ -10000 532 499 777 763 400 752 376 847 577
+ -10000 585 926 92 901 349 60 413 705 759
+ -10000 979 907 854 165 913 117 717 841 803
+ -10000 227 716 356 136 532 392 853 907 202
+ -10000 751 499 586 136 5 489 514 824 985
+ -10000 131 453 966 559 966 151 483 941 72
+ -10000 746 539 65 450 632 924 175 239 864
+ -10000 289 484 10 872 975 863 471 113 985
+ -10000 392 940 393 91 986 741 210 238 484
+ -10000 536 353 320 827 219 534 337 699 365
+ -10000 641 597 946 659 212 639 44 470 793
+ -10000 613 705 567 445 360 69 848 717 561
+ -10000 951 2 262 422 967 382 431 779 427
+ -10000 695 921 834 42 880 21 189 559 263
+ -10000 167 64 341 826 488 136 22 627 112
+ -10000 771 637 824 519 102 221 257 905 152
+ -10000 524 924 622 305 604 976 199 152 442
+ -10000 724 442 233 480 892 122 111 960 686
+ -10000 162 3 683 729 163 823 391 823 587
+ -10000 615 847 608 336 229 557 936 727 102
+ -10000 448 390 764 21 141 38 625 451 60
+ -10000 139 374 583 46 850 553 245 386 398
+ -10000 482 89 450 763 565 43 83 919 945
+ -10000 186 679 352 556 895 531 174 660 753
+ -10000 245 46 488 979 711 968 223 199 393
+ -10000 638 558 362 973 999 25 710 241 757
+ -10000 950 41 138 945 657 3 634 581 127
+ -10000 125 790 243 941 701 682 776 544 536
+ -10000 217 88 870 771 88 574 71 536 263
+ -10000 686 594 711 779 45 28 771 849 292
+ -10000 618 736 754 292 990 298 682 278 139
+ -10000 920 408 996 769 407 705 964 725 118
+ -10000 804 275 171 948 501 443 704 601 150
+ -10000 186 324 85 233 668 812 396 733 199
+ -10000 986 284 525 240 363 482 809 57 564
+ -10000 440 995 887 409 830 349 415 878 690
+ -10000 610 934 497 722 411 880 678 294 662
+ -10000 957 714 320 444 974 124 933 678 878
+ -10000 217 964 356 835 735 629 141 596 370
+ -10000 599 79 179 692 960 998 750 417 923
+ -10000 343 476 592 767 281 12 906 550 222
+ -10000 352 601 693 226 896 397 238 727 832
+ -10000 415 252 187 35 627 956 935 316 937
+ -10000 702 22 664 59 608 521 519 208 432
+ -10000 870 602 144 50 33 769 868 983 264
+ -10000 871 297 492 391 540 819 698 818 266
+ -10000 390 98 24 560 444 340 61 706 196
+ -10000 993 144 418 516 101 436 343 935 481
+ -10000 967 464 783 901 294 627 832 809 805
+ -10000 495 83 661 930 299 334 242 909 635
+ -10000 608 82 187 382 769 284 696 700 619
+ -10000 34 896 237 355 337 957 27 696 327
+ -10000 957 447 955 726 121 26 644 381 523
+ -10000 565 148 871 91 946 370 109 404 884
+ -10000 919 953 846 605 184 699 929 126 720
+ -10000 691 17 210 67 294 418 276 644 647
+ -10000 799 912 643 800 233 79 286 307 986
+ -10000 246 972 884 314 703 100 34 955 435
+ -10000 912 55 677 705 290 993 337 809 523
+ -10000 606 695 249 265 905 288 147 158 8
+ -10000 920 240 610 108 287 628 103 392 540
+ -10000 50 530 585 880 58 297 827 363 222
+ -10000 320 901 528 123 961 816 321 588 887
+ -10000 621 197 101 477 355 239 34 59 945
+ -10000 191 708 833 21 234 462 389 193 879
+ -10000 262 878 710 562 891 6 447 821 418
+ -10000 166 336 722 18 698 416 107 861 853
+ -10000 213 158 146 482 775 213 557 361 312
+ -10000 411 7 705 859 795 717 500 160 820
+ -10000 585 381 905 100 929 286 853 771 737
+ -10000 672 381 606 123 469 341 734 11 1
+ -10000 180 484 437 469 42 214 261 442 633
+ -10000 166 176 217 67 151 906 329 289 67
+ -10000 978 806 173 115 599 627 962 412 192
+ -10000 529 811 746 527 566 681 322 528 237
+ -10000 966 971 933 400 504 951 779 996 721
+ -10000 821 79 570 677 932 585 378 149 713
+ -10000 807 748 613 849 541 170 145 70 526
+ -10000 983 734 193 898 851 967 640 869 171
+ -10000 300 649 878 198 47 824 963 468 529
+ -10000 789 674 549 433 549 798 117 593 739
+ -10000 500 440 960 276 482 947 391 110 303
+ -10000 155 827 735 363 51 62 569 297 795
+ -10000 107 121 613 786 255 910 384 277 807
+ -10000 338 1000 716 831 763 341 707 572 550
+ -10000 488 310 450 497 640 599 752 743 228
+ -10000 779 488 498 241 586 261 316 18 439
+ -10000 340 342 222 371 819 764 809 137 142
+ -10000 442 20 52 826 216 71 172 735 436
+ -10000 293 434 87 113 175 30 776 204 748
+ -10000 786 30 849 116 266 204 770 138 26
+ -10000 844 744 88 685 409 50 127 926 818
+ -10000 849 193 657 134 25 368 84 369 847
+ -10000 740 362 628 746 863 255 83 904 704
+ -10000 167 723 194 670 558 723 286 448 298
+ -10000 461 763 401 773 457 235 410 443 809
+ -10000 201 647 798 834 372 255 312 27 574
+ -10000 691 770 424 132 739 693 826 107 896
+ -10000 46 488 768 502 172 787 315 32 571
+ -10000 402 544 148 21 601 101 938 381 908
+ -10000 615 567 45 618 192 514 40 357 605
+ -10000 74 480 512 841 112 526 838 974 549
+ -10000 279 665 318 540 425 304 454 180 995
+ -10000 68 566 131 627 637 781 690 589 62
+ -10000 205 644 905 596 657 691 960 684 501
+ -10000 650 214 819 254 410 715 675 266 526
+ -10000 106 141 614 269 955 506 269 331 576
+ -10000 548 19 675 648 332 157 575 927 173
+ -10000 482 415 664 125 295 859 931 658 208
+ -10000 230 741 588 242 453 480 964 896 611
+ -10000 403 216 950 577 968 83 238 873 182
+ -10000 708 533 839 123 953 95 327 420 222
+ -10000 694 981 225 949 957 131 204 867 14
+ -10000 956 822 165 33 500 895 395 210 439
+ -10000 598 549 917 251 225 912 671 665 975
+ -10000 337 57 396 252 795 420 242 453 266
+ -10000 941 161 461 223 369 73 761 297 246
+ -10000 925 81 72 534 172 86 344 495 980
+ -10000 810 456 107 473 318 933 706 486 917
+ -10000 127 169 242 468 530 174 963 189 454
+ -10000 477 554 620 546 298 411 318 907 494
+ -10000 594 79 918 708 74 265 59 460 351
+ -10000 273 413 915 202 87 527 500 683 477
+ -10000 631 294 711 267 385 726 170 581 597
+ -10000 641 886 403 250 825 400 870 423 196
+ -10000 678 207 809 472 606 884 931 387 573
+ -10000 505 406 122 247 548 736 945 574 787
+ -10000 651 64 799 481 302 672 951 368 834
+ -10000 43 26 568 388 461 114 889 972 584
+ -10000 886 578 532 416 540 693 876 506 958
+ -10000 616 10 522 228 578 377 670 820 466
+ -10000 778 333 131 610 458 524 681 807 469
+ -10000 837 303 510 535 795 320 133 665 319
+ -10000 638 881 400 513 962 339 256 647 510
+ -10000 364 391 151 534 419 368 649 881 431
+ -10000 834 38 455 815 1 190 423 174 313
+ -10000 100 637 134 109 633 103 501 355 469
+ -10000 381 609 221 177 255 307 81 717 447
+ -10000 426 649 559 934 563 277 231 416 679
+ -10000 509 104 418 829 770 547 320 624 762
+ -10000 758 124 777 65 675 11 719 112 722
+ -10000 953 971 273 173 621 306 571 97 625
+ -10000 956 17 621 110 519 675 182 320 290
+ -10000 74 263 92 74 364 498 875 170 952
+ -10000 850 896 271 28 712 187 705 695 557
+ -10000 162 835 850 560 187 649 246 79 565
+ -10000 193 97 479 471 39 192 436 627 793
+ -10000 72 153 332 224 993 647 303 980 276
+ -10000 266 892 759 397 709 469 598 534 801
+ -10000 975 600 502 938 486 525 142 218 530
+ -10000 604 81 290 327 704 450 21 265 431
+ -10000 129 790 111 275 574 650 464 313 571
+ -10000 50 157 403 676 201 792 315 402 993
+ -10000 738 267 234 900 904 338 476 656 127
+ -10000 301 495 600 211 101 455 942 710 798
+ -10000 915 859 150 997 778 607 27 705 586
+ -10000 87 29 706 393 503 103 230 45 137
+ -10000 634 266 942 237 281 8 293 815 511
+ -10000 905 619 527 326 613 655 890 145 300
+ -10000 317 837 663 892 706 754 981 172 58
+ -10000 534 6 180 773 893 486 618 119 411
+ -10000 486 796 111 969 396 435 237 84 84
+ -10000 90 949 308 199 241 745 183 624 440
+ -10000 886 482 108 604 580 288 136 42 73
+ -10000 776 133 935 991 638 959 839 709 490
+ -10000 23 608 672 120 67 615 12 616 209
+ -10000 787 743 609 639 351 467 200 116 167
+ -10000 201 150 65 456 550 711 145 599 332
+ -10000 195 68 542 901 450 724 813 841 763
+ -10000 409 546 128 955 215 586 730 966 415
+ -10000 993 822 264 275 936 66 890 699 737
+ -10000 63 696 464 433 410 609 653 626 232
+ -10000 707 187 963 321 14 381 401 582 689
+ -10000 391 215 441 779 305 52 399 945 446
+ -10000 98 693 929 856 384 118 953 349 330
+ -10000 33 913 966 919 985 504 817 634 953
+ -10000 650 847 921 409 784 370 457 439 446
+ -10000 647 169 358 679 604 144 91 363 429
+ -10000 44 475 394 983 17 730 835 543 109
+ -10000 436 323 702 326 731 904 494 529 491
+ -10000 973 614 403 0 776 690 475 175 318
+ -10000 654 158 490 598 821 71 318 315 427
+ -10000 909 434 437 295 982 15 723 247 487
+ -10000 720 339 684 103 942 106 504 177 708
+ -10000 154 702 996 85 874 681 600 646 991
+ -10000 540 822 52 646 631 389 842 642 423
+ -10000 261 723 94 166 811 567 353 403 447
+ -10000 487 866 667 560 758 451 844 413 418
+ -10000 825 873 958 965 582 703 92 573 683
+ -10000 913 275 686 756 346 921 632 32 354
+ -10000 21 565 87 151 900 196 489 187 942
+ -10000 742 39 898 830 948 460 980 968 296
+ -10000 263 211 827 372 213 352 606 339 403
+ -10000 525 691 847 261 564 742 254 446 602
+ -10000 460 883 676 262 954 602 93 72 240
+ -10000 497 172 247 586 736 905 47 577 404
+ -10000 47 678 0 520 293 788 681 960 419
+ -10000 444 151 585 130 176 778 94 861 772
+ -10000 181 57 659 614 37 70 455 46 285
+ -10000 361 305 465 200 851 836 244 799 602
+ -10000 750 387 298 417 253 978 218 523 709
+ -10000 746 117 132 811 836 197 633 59 664
+ -10000 465 755 497 656 223 720 80 179 786
+ -10000 891 729 960 797 311 58 295 245 486
+ -10000 853 739 882 943 174 460 100 290 700
+ -10000 667 789 948 350 231 587 867 241 559
+ -10000 445 404 200 396 358 708 875 872 983
+ -10000 825 948 559 58 742 980 281 190 997
+ -10000 262 655 633 982 296 859 383 235 917
+ -10000 710 361 572 129 274 542 613 933 625
+ -10000 409 840 718 210 218 504 992 547 559
+ -10000 777 946 631 27 666 969 826 167 862
+ -10000 943 978 272 146 338 601 875 579 368
+ -10000 753 824 872 631 810 108 818 724 683
+ -10000 936 48 784 23 474 676 734 859 53
+ -10000 666 108 420 489 469 544 118 676 234
+ -10000 626 523 765 419 418 772 73 598 82
+ -10000 971 722 161 129 69 952 56 662 430
+ -10000 9 388 814 316 563 667 839 340 38
+ -10000 605 137 985 942 961 551 990 596 643
+ -10000 644 818 15 902 809 578 466 497 381
+ -10000 903 125 165 897 413 446 491 112 93
+ -10000 117 913 18 884 90 160 646 570 969
+ -10000 290 97 181 656 533 996 963 91 205
+ -10000 357 420 854 274 815 469 42 34 62
+ -10000 261 447 816 230 216 661 186 39 300
+ -10000 941 929 949 109 351 577 412 877 459
+ -10000 848 50 942 913 230 109 454 505 919
+ -10000 422 544 854 504 416 11 29 662 253
+ -10000 648 917 242 236 570 788 787 516 858
+ -10000 408 757 495 373 68 183 915 294 331
+ -10000 729 681 692 781 698 833 404 555 379
+ -10000 178 506 729 571 103 445 887 869 98
+ -10000 629 260 290 506 197 633 959 891 343
+ -10000 277 627 250 831 971 238 485 464 707
+ -10000 515 674 897 791 376 75 886 330 650
+ -10000 254 139 349 63 479 205 165 687 881
+ -10000 197 540 875 334 589 313 405 256 151
+ -10000 454 707 538 709 940 821 739 335 773
+ -10000 81 751 509 432 958 707 170 64 629
+ -10000 80 438 22 172 218 677 321 374 429
+ -10000 568 481 527 44 878 396 577 433 830
+ -10000 390 885 732 734 165 340 877 999 1
+ -10000 908 315 400 953 990 226 225 567 423
+ -10000 453 406 470 793 9 364 53 638 985
+ -10000 287 889 637 617 312 102 432 156 845
+ -10000 813 995 411 3 730 323 824 300 945
+ -10000 270 614 245 504 838 879 498 787 675
+ -10000 76 111 614 928 783 222 863 683 256
+ -10000 154 863 266 307 258 94 937 566 185
+ -10000 318 628 948 374 170 23 276 705 721
+ -10000 751 722 673 209 557 664 300 989 894
+ -10000 181 112 272 606 466 644 658 154 555
+ -10000 909 243 349 374 320 185 331 901 255
+ -10000 848 866 1000 768 952 263 108 628 174
+ -10000 625 590 108 505 361 649 409 346 909
+ -10000 96 638 453 173 934 819 653 73 737
+ -10000 799 642 632 967 610 85 448 778 505
+ -10000 522 977 986 588 225 692 377 664 534
+ -10000 18 298 359 166 833 174 99 315 920
+ -10000 134 352 866 168 578 298 99 977 985
+ -10000 538 393 592 286 685 69 77 943 902
+ -10000 411 178 395 676 880 895 306 18 387
+ -10000 184 681 868 847 970 195 393 494 766
+ -10000 50 183 934 190 836 552 522 570 878
+ -10000 70 376 194 885 226 229 791 506 377
+ -10000 779 152 291 161 638 539 249 863 536
+ -10000 997 776 422 751 973 685 837 884 315
+ -10000 125 524 955 353 98 419 409 305 202
+ -10000 794 92 769 22 103 790 743 413 17
+ -10000 739 382 889 687 924 441 180 32 691
+ -10000 663 789 297 752 179 933 541 16 931
+ -10000 272 708 168 492 54 74 574 992 909
+ -10000 522 374 414 163 319 868 356 736 327
+ -10000 936 387 873 668 608 218 925 722 71
+ -10000 487 120 755 261 739 765 394 174 746
+ -10000 77 859 565 52 939 225 494 19 117
+ -10000 47 801 1 291 342 126 488 861 996
+ -10000 442 187 555 262 762 695 297 308 129
+ -10000 681 766 549 304 884 491 59 714 89
+ -10000 343 183 601 946 380 35 559 480 106
+ -10000 681 533 156 672 320 422 763 288 190
+ -10000 43 734 912 899 671 751 460 74 417
+ -10000 872 822 456 967 492 82 146 552 720
+ -10000 228 159 275 705 301 280 58 346 443
+ -10000 9 210 51 748 680 655 387 779 140
+ -10000 784 783 936 274 856 996 89 231 126
+ -10000 802 632 667 357 247 625 334 689 445
+ -10000 917 644 972 228 962 848 317 169 619
+ -10000 706 78 444 406 847 683 609 419 697
+ -10000 39 142 110 700 212 194 691 836 987
+ -10000 555 562 894 704 777 455 23 102 865
+ -10000 645 710 492 203 815 161 880 839 760
+ -10000 172 296 46 903 112 202 561 275 183
+ -10000 741 815 553 746 442 209 131 223 1000
+ -10000 453 554 721 822 460 191 134 326 399
+ -10000 400 22 619 497 130 188 293 164 528
+ -10000 308 402 592 707 3 478 607 798 535
+ -10000 93 200 303 403 770 933 54 982 154
+ -10000 860 195 528 167 384 447 96 373 228
+ -10000 835 873 513 16 357 129 180 595 410
+ -10000 493 295 712 552 345 730 382 361 726
+ -10000 758 56 735 378 189 947 60 721 953
+ -10000 893 134 560 265 490 749 986 891 137
+ -10000 541 511 375 57 83 75 289 68 745
+ -10000 408 111 650 309 588 582 717 867 795
+ -10000 148 731 41 592 69 964 796 386 629
+ -10000 18 966 666 578 105 278 259 591 174
+ -10000 92 759 661 264 48 966 453 617 801
+ -10000 669 162 956 234 759 337 86 239 302
+ -10000 881 6 296 911 809 302 543 464 422
+ -10000 200 771 637 271 598 917 303 125 2
+ -10000 108 229 319 653 158 679 909 104 311
+ -10000 55 938 537 871 604 3 590 989 792
+ -10000 577 152 586 603 567 117 268 943 276
+ -10000 379 795 594 972 627 254 673 331 135
+ -10000 111 516 727 910 526 402 904 790 368
+ -10000 200 382 932 351 330 455 739 903 275
+ -10000 962 487 816 28 569 693 337 405 618
+ -10000 412 493 141 728 852 593 908 302 628
+ -10000 98 753 291 372 135 538 451 261 676
+ -10000 396 405 556 330 874 346 703 877 201
+ -10000 554 626 182 983 413 177 210 329 945
+ -10000 228 23 713 417 212 223 350 45 747
+ -10000 498 928 104 525 7 650 275 28 261
+ -10000 764 496 554 624 599 992 606 494 518
+ -10000 31 623 937 342 191 907 737 687 870
+ -10000 105 323 63 665 47 624 467 58 71
+ -10000 487 91 885 939 823 780 214 964 686
+ -10000 735 430 385 197 74 716 801 813 431
+ -10000 190 795 744 537 517 336 737 511 908
+ -10000 784 558 51 66 288 6 768 492 671
+ -10000 977 10 995 342 735 758 602 780 785
+ -10000 487 81 560 214 39 692 290 524 690
+ -10000 124 821 643 986 461 631 324 693 238
+ -10000 10 945 398 375 56 92 251 447 20
+ -10000 745 430 722 760 810 549 389 431 553
+ -10000 908 228 44 150 589 629 31 626 516
+ -10000 596 73 675 311 609 246 925 196 308
+ -10000 470 920 569 372 436 235 522 644 279
+ -10000 381 756 326 541 798 831 32 478 294
+ -10000 322 421 24 562 886 737 554 850 157
+ -10000 721 677 871 666 503 573 556 504 792
+ -10000 286 229 899 942 507 536 265 916 93
+ -10000 138 585 136 765 530 536 193 826 775
+ -10000 558 55 888 15 232 753 770 291 562
+ -10000 846 175 696 736 206 618 495 577 912
+ -10000 601 534 811 137 216 91 941 907 619
+ -10000 241 275 484 848 888 389 584 906 879
+ -10000 179 340 113 744 193 412 692 344 961
+ -10000 572 27 855 811 464 226 755 329 907
+ -10000 583 908 520 216 919 67 764 453 425
+ -10000 77 744 68 454 156 646 244 372 410
+ -10000 819 425 45 675 173 123 680 599 809
+ -10000 901 543 215 438 845 198 18 546 310
+ -10000 274 639 520 353 63 525 358 168 714
+ -10000 154 542 539 824 502 277 966 171 255
+ -10000 60 637 217 763 736 326 426 114 876
+ -10000 453 95 740 689 408 611 314 103 925
+ -10000 486 237 243 490 836 141 314 401 730
+ -10000 726 684 56 498 974 597 454 195 142
+ -10000 517 16 11 426 520 744 540 753 144
+ -10000 884 185 916 79 734 60 978 987 367
+ -10000 674 263 604 939 969 233 108 398 389
+ -10000 229 608 143 535 246 332 713 619 452
+ -10000 813 300 85 456 376 389 350 861 168
+ -10000 988 921 405 867 999 252 142 706 73
+ -10000 650 221 138 639 271 675 240 601 125
+ -10000 587 822 823 645 202 209 402 680 413
+ -10000 857 105 705 581 1 324 757 39 859
+ -10000 762 728 54 715 130 201 281 131 279
+ -10000 345 897 745 959 923 950 419 935 476
+ -10000 291 273 355 841 490 292 560 115 322
+ -10000 333 179 579 474 582 863 992 785 108
+ -10000 400 268 49 639 83 18 725 319 362
+ -10000 932 277 950 316 912 575 517 62 577
+ -10000 806 431 646 461 133 74 159 68 556
+ -10000 313 401 843 444 554 739 357 976 467
+ -10000 551 940 121 320 401 140 18 471 91
+ -10000 639 397 676 913 121 732 785 394 565
+ -10000 635 995 630 230 669 466 716 411 678
+ -10000 632 821 256 640 107 507 946 259 413
+ -10000 341 227 112 246 998 241 710 409 95
+ -10000 215 836 397 719 418 27 763 14 340
+ -10000 825 932 185 478 952 153 112 60 550
+ -10000 387 406 216 531 2 837 574 499 845
+ -10000 760 474 378 223 608 350 282 733 140
+ -10000 83 590 864 94 790 942 552 721 688
+ -10000 849 935 787 635 179 712 165 47 114
+ -10000 966 279 294 477 650 631 80 426 691
+ -10000 20 880 240 855 528 482 901 251 866
+ -10000 165 9 763 566 393 857 134 671 476
+ -10000 686 558 305 242 728 685 717 171 534
+ -10000 47 634 373 928 266 589 218 45 980
+ -10000 142 396 586 631 571 332 923 789 879
+ -10000 519 317 713 500 102 843 221 94 975
+ -10000 807 800 310 264 61 274 946 336 2
+ -10000 972 956 454 569 771 70 219 795 575
+ -10000 270 828 349 534 526 33 460 362 758
+ -10000 980 502 572 840 372 123 390 41 533
+ -10000 235 268 137 985 385 926 250 331 941
+ -10000 246 969 441 269 40 758 885 288 726
+ -10000 523 542 617 918 312 809 991 706 867
+ -10000 993 656 319 426 912 890 652 910 645
+ -10000 635 580 936 276 584 906 447 887 764
+ -10000 802 885 144 86 171 717 35 602 548
+ -10000 130 696 688 166 563 66 354 646 483
+ -10000 594 896 870 312 338 33 404 460 823
+ -10000 567 794 215 767 381 297 398 412 178
+ -10000 601 334 262 959 72 876 323 737 79
+ -10000 930 737 898 605 189 179 633 583 810
+ -10000 440 587 914 520 668 87 576 684 762
+ -10000 83 76 21 685 927 393 1000 107 624
+ -10000 256 405 484 599 375 876 115 720 624
+ -10000 770 826 423 115 161 919 796 444 132
+ -10000 436 702 141 835 856 988 229 563 722
+ -10000 85 786 989 222 532 507 245 730 217
+ -10000 980 151 527 835 844 224 955 335 480
+ -10000 967 154 375 411 29 500 84 672 718
+ -10000 582 213 66 307 625 519 901 727 197
+ -10000 661 952 994 29 75 157 244 973 605
+ -10000 847 448 888 460 242 556 92 945 934
+ -10000 523 87 632 134 832 144 688 825 620
+ -10000 869 198 279 697 824 728 231 268 257
+ -10000 91 937 266 154 456 4 481 429 342
+ -10000 874 148 527 462 704 52 3 202 15
+ -10000 471 296 128 17 263 533 563 143 633
+ -10000 224 810 990 551 974 324 364 429 554
+ -10000 77 256 930 44 505 612 339 0 562
+ -10000 0 826 438 1000 103 449 400 976 859
+ -10000 121 478 196 416 613 113 138 800 888
+ -10000 704 789 335 845 371 840 603 684 169
+ -10000 774 126 900 134 17 722 772 986 525
+ -10000 913 198 670 729 385 555 562 708 175
+ -10000 363 829 573 499 58 274 22 899 931
+ -10000 535 111 192 470 595 750 147 551 130
+ -10000 760 480 862 496 693 833 331 375 414
+ -10000 434 139 20 980 203 146 858 394 643
+ -10000 659 649 557 430 800 228 213 65 278
+ -10000 576 911 894 240 778 518 808 86 355
+ -10000 414 473 748 862 221 52 36 662 701
+ -10000 236 989 161 206 756 923 103 974 55
+ -10000 683 323 285 994 383 313 216 716 144
+ -10000 797 461 784 98 956 296 459 201 604
+ -10000 533 459 361 923 253 14 361 331 39
+ -10000 47 139 456 955 454 809 972 572 48
+ -10000 274 956 156 353 793 284 380 840 740
+ -10000 146 776 276 79 130 617 953 972 693
+ -10000 831 621 670 691 825 999 58 248 450
+ -10000 390 309 281 367 263 489 927 401 660
+ -10000 582 855 685 468 520 741 282 920 99
+ -10000 160 310 677 264 338 839 218 365 164
+ -10000 206 975 531 543 71 282 727 346 99
+ -10000 988 323 946 870 950 836 521 650 419
+ -10000 666 747 883 907 755 758 332 602 198
+ -10000 166 207 676 461 386 248 373 820 866
+ -10000 512 268 730 301 994 601 451 971 823
+ -10000 388 342 756 564 759 471 599 270 557
+ -10000 148 600 620 840 891 819 115 431 46
+ -10000 779 56 962 117 259 393 330 24 28
+ -10000 636 803 972 855 56 147 16 907 411
+ -10000 401 224 584 420 99 393 240 517 52
+ -10000 154 272 274 335 674 405 122 931 72
+ -10000 682 929 219 56 125 761 626 908 735
+ -10000 680 288 259 366 914 848 269 469 782
+ -10000 537 640 892 8 250 186 781 479 801
+ -10000 850 436 740 264 738 197 812 915 105
+ -10000 321 952 871 179 700 308 607 305 193
+ -10000 168 933 392 303 585 629 314 558 462
+ -10000 330 391 423 889 1 153 714 719 476
+ -10000 268 42 583 767 807 241 226 934 717
+ -10000 25 613 482 637 376 28 764 836 854
+ -10000 494 185 992 461 376 653 976 707 337
+ -10000 499 724 329 680 107 103 979 691 587
+ -10000 738 371 629 664 330 346 873 137 89
+ -10000 656 913 10 561 310 961 805 837 570
+ -10000 465 855 196 571 706 781 882 574 163
+ -10000 84 605 296 266 647 132 439 507 749
+ -10000 355 666 527 120 503 829 56 85 556
+ -10000 783 482 551 743 748 740 328 507 602
+ -10000 496 216 266 352 221 74 432 19 751
+ -10000 187 993 247 64 744 989 369 74 555
+ -10000 751 310 11 86 96 320 578 258 878
+ -10000 745 908 708 322 925 947 474 40 737
+ -10000 255 540 545 556 203 290 292 484 54
+ -10000 65 620 881 18 53 49 580 367 737
+ -10000 238 970 496 395 578 566 406 897 528
+ -10000 93 214 920 353 494 996 864 416 939
+ -10000 672 156 712 976 20 745 796 643 457
+ -10000 448 152 116 994 822 336 553 832 683
+ -10000 989 486 53 304 378 571 190 187 310
+ -10000 778 457 931 380 243 920 687 419 835
+ -10000 851 419 871 209 731 528 16 743 986
+ -10000 210 0 283 897 639 997 242 998 796
+ -10000 828 527 685 649 588 977 583 893 218
+ -10000 547 924 861 413 408 288 51 628 846
+ -10000 657 801 450 726 352 637 200 72 100
+ -10000 265 54 833 241 5 277 378 628 970
+ -10000 776 367 18 793 564 784 18 733 251
+ -10000 474 161 254 869 37 879 958 464 559
+ -10000 899 361 250 656 254 766 33 18 322
+ -10000 816 242 723 84 425 275 85 979 905
+ -10000 325 256 466 287 823 998 853 212 303
+ -10000 245 138 179 574 195 481 153 376 914
+ -10000 799 111 159 745 174 256 652 352 146
+ -10000 204 364 781 26 786 487 74 358 711
+ -10000 796 637 189 710 223 547 861 651 413
+ -10000 429 609 854 976 903 838 448 396 364
+ -10000 826 821 920 722 567 536 106 172 699
+ -10000 982 848 664 558 792 137 908 61 871
+ -10000 429 470 214 662 129 578 883 897 684
+ -10000 937 90 179 30 297 406 455 662 262
+ -10000 672 196 279 210 268 717 91 602 777
+ -10000 785 159 729 708 232 926 6 959 801
+ -10000 153 101 524 113 550 641 209 935 109
+ -10000 416 807 708 683 773 114 482 312 598
+ -10000 352 649 717 604 352 850 846 857 462
+ -10000 674 828 641 755 610 2 18 76 702
+ -10000 946 93 821 49 117 419 566 558 0
+ -10000 220 3 203 952 716 153 471 684 888
+ -10000 831 359 2 625 753 171 529 138 572
+ -10000 446 981 201 595 128 985 188 934 7
+ -10000 651 359 577 321 186 326 4 793 770
+ -10000 520 17 734 365 603 238 227 926 564
+ -10000 245 621 287 778 7 866 772 113 256
+ -10000 620 468 773 411 757 127 754 221 121
+ -10000 64 643 65 941 460 121 155 598 315
+ -10000 849 1 50 627 696 359 246 224 893
+ -10000 253 556 932 795 528 339 868 312 787
+ -10000 469 287 374 166 175 918 656 645 585
+ -10000 399 470 846 509 286 633 77 868 2
+ -10000 32 429 469 7 955 310 210 164 417
+ -10000 72 34 695 667 469 489 591 114 564
+ -10000 61 140 64 612 798 204 609 421 321
+ -10000 112 205 823 709 170 854 16 257 626
+ -10000 693 158 136 207 691 566 322 531 834
+ -10000 165 897 1000 738 338 556 657 487 342
+ -10000 942 579 686 358 604 678 982 600 929
+ -10000 93 102 1 1000 720 29 904 905 729
+ -10000 134 133 347 946 368 911 450 79 155
+ -10000 96 450 388 932 203 40 497 928 123
+ -10000 508 139 683 79 811 650 993 617 405
+ -10000 306 727 433 448 354 713 71 453 381
+ -10000 44 716 840 232 284 750 729 774 22
+ -10000 174 411 55 734 357 372 226 709 30
+ -10000 441 303 494 543 831 658 789 502 568
+ -10000 5 654 236 241 827 260 188 40 77
+ -10000 720 34 380 83 497 388 211 514 825
+ -10000 648 528 883 67 864 164 66 709 159
+ -10000 871 662 329 81 591 274 670 603 284
+ -10000 577 230 289 93 273 942 3 209 162
+ -10000 892 753 875 60 465 299 499 23 350
+ -10000 713 99 618 852 180 461 820 304 268
+ -10000 549 73 758 819 450 908 53 778 300
+ -10000 259 779 493 407 169 776 549 473 306
+ -10000 601 828 983 873 622 219 209 392 653
+ -10000 569 7 656 384 902 498 321 778 278
+ -10000 667 95 754 100 714 499 277 457 979
+ -10000 704 246 828 568 479 908 320 184 198
+ -10000 911 784 425 946 762 65 183 612 802
+ -10000 792 291 318 619 29 288 419 789 230
+ -10000 294 719 862 297 439 733 70 866 395
+ -10000 823 367 813 683 738 951 959 989 839
+ -10000 119 49 796 911 23 226 292 7 183
+ -10000 418 757 139 985 843 580 934 358 602
+ -10000 703 378 819 432 288 407 75 449 583
+ -10000 377 960 353 142 398 392 487 650 880
+ -10000 671 428 898 919 854 509 151 39 519
+ -10000 205 722 725 310 506 710 427 917 293
+ -10000 526 573 679 12 220 745 826 886 968
+ -10000 22 524 636 937 12 753 951 11 185
+ -10000 493 153 60 920 187 556 956 312 267
+ -10000 914 991 304 292 898 519 909 867 831
+ -10000 588 526 12 855 852 961 774 329 879
+ -10000 403 259 243 104 634 569 371 470 751
+ -10000 388 247 126 864 298 440 248 955 315
+ -10000 594 104 477 927 725 332 252 589 550
+ -10000 260 692 847 351 176 78 59 308 802
+ -10000 988 858 317 317 408 581 753 823 148
+ -10000 427 702 893 416 557 659 476 515 410
+ -10000 997 178 33 172 619 593 479 511 758
+ -10000 559 302 203 156 743 289 283 927 919
+ -10000 838 718 631 596 481 603 756 700 405
+ -10000 58 866 436 258 691 617 406 61 428
+ -10000 888 206 658 103 829 730 372 142 873
+ -10000 530 523 688 199 22 752 852 411 175
+ -10000 473 78 259 162 168 456 970 609 336
+ -10000 9 203 204 619 668 888 736 131 383
+ -10000 655 785 947 78 583 918 478 269 713
+ -10000 853 196 153 566 545 360 160 509 471
+ -10000 979 738 609 43 440 939 403 254 929
+ -10000 592 498 776 772 773 964 229 170 273
+ -10000 511 518 689 780 361 43 467 638 356
+ -10000 732 265 176 612 702 503 995 471 923
+ -10000 304 597 356 739 668 717 787 610 465
+ -10000 83 711 670 357 901 476 905 130 47
+ -10000 748 487 533 722 834 975 854 798 5
+ -10000 530 22 511 590 291 957 121 310 82
+ -10000 331 53 674 615 209 660 879 126 343
+ -10000 327 619 233 244 901 0 367 725 339
+ -10000 446 303 83 797 400 721 554 220 904
+ -10000 928 325 310 482 829 912 197 530 639
+ -10000 129 574 437 79 68 140 415 620 706
+ -10000 833 872 98 811 686 447 645 675 249
+ -10000 68 154 596 741 397 351 112 791 679
+ -10000 371 899 467 62 598 205 867 270 592
+ -10000 601 807 789 411 961 637 685 437 50
+ -10000 333 800 718 214 464 992 719 852 870
+ -10000 366 126 891 567 453 734 49 265 838
+ -10000 120 128 245 759 371 235 78 755 673
+ -10000 244 829 781 343 240 541 605 373 295
+ -10000 774 836 949 728 567 353 936 410 502
+ -10000 549 136 5 299 344 649 143 579 785
+ -10000 797 464 56 983 967 317 382 563 575
+ -10000 207 358 278 161 402 27 14 653 966
+ -10000 375 591 545 349 807 684 496 889 759
+ -10000 770 522 138 292 68 177 355 500 486
+ -10000 556 266 739 807 546 699 751 416 402
+ -10000 416 127 178 103 37 58 948 45 670
+ -10000 961 544 10 404 644 113 64 992 811
+ -10000 943 242 975 995 376 81 210 37 996
+ -10000 524 930 983 945 440 424 215 956 477
+ -10000 728 434 511 725 842 973 885 875 341
+ -10000 597 146 429 353 431 836 667 124 924
+ -10000 424 974 348 323 492 629 850 531 625
+ -10000 618 927 44 4 643 544 575 177 296
+ -10000 947 782 67 637 290 376 842 401 51
+ -10000 738 17 372 662 778 993 284 825 425
+ -10000 409 649 599 527 746 764 298 326 809
+ -10000 559 56 822 46 285 9 228 717 677
+ -10000 412 557 485 618 772 859 651 578 521
+ -10000 965 176 68 185 132 266 160 946 128
+ -10000 189 441 288 758 659 747 784 823 852
+ -10000 271 660 524 33 707 628 222 312 980
+ -10000 496 8 666 141 771 151 556 152 129
+ -10000 255 336 340 377 654 651 734 283 115
+ -10000 197 880 585 369 914 452 34 36 371
+ -10000 91 994 15 107 126 55 661 286 71
+ -10000 555 192 129 303 171 633 70 69 383
+ -10000 542 333 518 109 442 764 620 958 809
+ -10000 462 411 798 349 708 178 343 987 861
+ -10000 816 571 613 476 362 951 260 135 817
+ -10000 837 147 486 857 495 853 602 939 194
+ -10000 150 618 406 911 916 672 23 688 403
+ -10000 850 474 480 984 230 691 894 312 542
+ -10000 487 637 456 718 389 783 25 492 378
+ -10000 320 799 580 859 782 995 436 537 235
+ -10000 793 261 704 292 381 994 847 131 444
+ -10000 929 876 850 246 44 920 92 69 435
+ -10000 19 395 503 866 327 395 144 149 595
+ -10000 748 20 398 521 547 119 319 854 33
+ -10000 824 856 929 635 608 541 989 976 527
+ -10000 265 896 329 802 761 792 712 306 717
+ -10000 563 299 168 528 505 249 480 291 410
+ -10000 565 426 862 195 479 613 400 719 116
+ -10000 714 576 486 92 975 619 553 544 143
+ -10000 389 550 375 521 236 294 870 914 581
+ -10000 324 929 967 143 477 636 423 94 348
+ -10000 698 150 693 421 974 980 629 186 542
+ -10000 741 729 338 604 692 315 513 537 196
+ -10000 214 511 596 513 347 574 369 611 962
+ -10000 270 237 586 156 975 568 652 607 759
+ -10000 212 385 403 798 98 35 37 741 692
+ -10000 731 462 483 969 75 377 567 906 947
+ -10000 272 471 778 838 385 791 88 994 732
+ -10000 837 627 180 850 358 427 181 547 872
+ -10000 669 810 357 681 777 590 96 638 689
+ -10000 17 440 510 532 107 150 212 337 344
+ -10000 91 879 509 424 575 892 685 786 766
+ -10000 518 392 782 168 430 266 772 68 308
+ -10000 527 84 480 942 878 357 741 547 697
+ -10000 761 582 586 219 667 891 967 920 791
+ -10000 627 118 926 51 261 803 13 776 502
+ -10000 224 823 789 510 942 963 174 208 404
+ -10000 600 549 447 860 428 764 136 611 819
+ -10000 483 314 969 321 598 41 89 753 571
+ -10000 359 347 293 606 313 542 790 26 867
+ -10000 688 536 505 55 602 646 117 849 298
+ -10000 727 842 349 912 901 199 903 46 761
+ -10000 656 816 951 511 828 194 762 881 121
+ -10000 398 180 117 878 818 537 133 388 821
+ -10000 468 466 728 756 376 332 200 503 523
+ -10000 282 246 531 551 2 330 766 259 308
+ -10000 123 228 951 421 153 421 766 551 349
+ -10000 372 725 826 14 61 386 951 835 693
+ -10000 626 83 793 453 620 549 457 404 910
+ -10000 568 960 382 122 231 618 430 854 89
+ -10000 647 479 273 547 796 24 790 654 168
+ -10000 109 604 74 419 563 373 294 457 995
+ -10000 997 342 359 232 884 714 66 939 517
+ -10000 971 635 514 742 622 972 738 325 487
+ -10000 596 68 539 188 144 377 447 249 86
+ -10000 892 878 628 328 632 496 394 545 498
+ -10000 609 167 484 571 838 479 564 693 566
+ -10000 789 227 128 336 118 773 188 196 670
+ -10000 238 231 92 285 30 178 468 583 8
+ -10000 306 955 384 287 146 10 524 848 222
+ -10000 749 670 604 888 131 759 200 704 972
+ -10000 349 734 81 101 589 34 986 809 843
+ -10000 602 160 558 724 837 12 296 953 950
+ -10000 387 399 70 307 593 514 370 995 876
+ -10000 956 140 115 650 657 199 279 153 138
+ -10000 172 377 520 881 607 526 134 895 94
+ -10000 891 816 445 369 108 732 238 850 629
+ -10000 832 873 776 368 660 208 786 572 109
+ -10000 140 842 696 571 56 784 545 887 380
+ -10000 214 614 523 509 521 677 756 327 225
+ -10000 162 797 494 852 2 353 257 474 308
+ -10000 622 447 746 392 784 251 356 192 370
+ -10000 302 31 151 773 41 641 336 303 150
+ -10000 371 134 935 79 194 731 761 960 624
+ -10000 845 968 788 655 95 709 390 382 202
+ -10000 128 504 112 944 533 455 802 77 970
+ -10000 604 261 625 392 309 847 312 524 110
+ -10000 298 519 105 484 103 537 433 953 530
+ -10000 229 287 843 169 648 88 809 101 488
+ -10000 477 865 744 302 138 667 740 537 824
+ -10000 285 286 21 321 129 882 804 789 8
+ -10000 421 506 400 399 513 901 300 572 941
+ -10000 255 12 892 119 61 990 505 834 79
+ -10000 753 408 835 599 977 735 116 917 791
+ -10000 936 12 723 630 77 558 807 891 706
+ -10000 403 464 968 23 914 22 293 952 831
+ -10000 271 796 410 885 863 27 168 718 976
+ -10000 563 708 573 85 988 466 94 486 368
+ -10000 746 985 732 645 889 125 911 913 420
+ -10000 734 689 587 880 464 427 647 681 114
+ -10000 325 465 977 672 524 50 900 872 303
+ -10000 819 847 236 751 736 409 372 965 227
+ -10000 668 839 274 640 840 847 179 407 161
+ -10000 154 763 564 271 555 289 947 3 585
+ -10000 956 80 828 866 477 840 976 710 481
+ -10000 876 844 126 646 715 770 791 845 559
+ -10000 483 820 450 421 109 300 108 232 243
+ -10000 62 739 774 972 661 940 774 673 834
+ -10000 58 149 154 539 201 111 450 776 672
+ -10000 202 453 385 77 295 222 540 398 805
+ -10000 442 431 102 976 499 462 942 929 606
+ -10000 205 768 347 878 410 840 162 489 6
+ -10000 114 402 686 239 124 343 496 876 763
+ -10000 789 0 54 32 58 332 272 54 580
+ -10000 388 458 498 944 609 37 586 371 834
+ -10000 113 169 149 276 634 904 893 280 681
+ -10000 465 275 182 457 908 495 345 798 14
+ -10000 844 450 780 427 561 564 266 55 673
+ -10000 975 337 322 845 207 120 958 104 126
+ -10000 300 88 353 146 465 812 2 159 580
+ -10000 356 813 978 990 304 723 65 94 70
+ -10000 949 676 899 870 316 281 118 792 235
+ -10000 197 66 627 579 294 961 713 714 656
+ -10000 512 311 17 383 894 219 801 631 576
+ -10000 553 869 978 748 164 296 911 689 803
+ -10000 22 629 651 106 65 474 484 654 740
+ -10000 48 10 784 159 428 794 791 286 282
+ -10000 718 260 645 155 753 958 265 115 123
+ -10000 270 134 542 627 658 580 223 615 589
+ -10000 266 735 225 433 98 265 798 637 916
+ -10000 6 911 9 649 677 974 173 288 559
+ -10000 795 459 550 920 684 891 253 395 149
+ -10000 604 680 60 129 547 910 52 440 45
+ -10000 111 709 857 98 411 144 379 769 115
+ -10000 338 958 206 754 451 450 935 126 97
+ -10000 95 343 995 594 177 623 238 645 684
+ -10000 871 868 269 716 199 460 85 344 262
+ -10000 193 460 760 151 533 193 873 983 209
+ -10000 405 857 445 196 936 860 29 532 459
+ -10000 543 683 301 149 186 314 407 526 327
+ -10000 856 162 928 554 296 389 391 810 423
+ -10000 949 865 255 183 714 136 1 813 316
+ -10000 233 549 693 815 216 891 88 628 26
+ -10000 253 591 779 742 887 965 904 343 219
+ -10000 420 241 402 686 352 903 620 517 237
+ -10000 404 699 520 443 948 143 443 83 798
+ -10000 849 376 803 655 431 951 926 652 854
+ -10000 969 594 652 571 655 187 955 167 704
+ -10000 16 762 708 877 523 737 705 993 970
+ -10000 423 777 600 85 737 599 231 944 567
+ -10000 282 166 722 648 926 109 220 982 876
+ -10000 257 288 803 519 167 0 310 260 804
+ -10000 183 430 812 288 251 39 329 533 998
+ -10000 310 293 570 315 384 31 519 203 899
+ -10000 554 47 465 899 149 725 532 293 265
+ -10000 525 156 181 587 407 177 948 323 295
+ -10000 18 895 703 835 342 501 754 909 729
+ -10000 157 158 602 833 334 79 700 114 76
+ -10000 946 181 733 179 770 892 701 306 149
+ -10000 863 872 292 943 198 447 469 951 1000
+ -10000 251 153 751 885 567 503 3 6 807
+ -10000 504 298 153 484 733 139 606 355 400
+ -10000 872 774 462 8 836 406 298 758 375
+ -10000 874 143 873 102 791 901 241 766 434
+ -10000 532 786 734 575 936 756 653 492 295
+ -10000 21 496 303 355 275 910 827 220 791
+ -10000 420 696 570 31 159 793 747 176 352
+ -10000 99 457 98 628 113 840 655 71 753
+ -10000 914 415 917 568 639 95 687 126 462
+ -10000 822 651 828 451 485 855 697 280 304
+ -10000 801 762 915 154 57 704 587 363 777
+ -10000 185 568 627 504 866 140 938 324 213
+ -10000 28 970 824 84 137 699 767 289 160
+ -10000 267 887 423 154 998 707 741 219 766
+ -10000 773 999 855 334 310 737 936 362 122
+ -10000 884 819 522 174 587 990 372 672 456
+ -10000 625 31 966 929 991 458 979 422 880
+ -10000 929 388 669 624 558 889 548 905 170
+ -10000 742 430 859 981 409 960 879 661 490
+ -10000 726 210 255 878 848 206 138 244 549
+ -10000 915 366 641 408 355 11 153 128 395
+ -10000 281 87 589 521 431 521 175 970 443
+ -10000 74 615 881 562 616 996 268 667 127
+ -10000 293 988 66 47 826 104 37 791 82
+ -10000 926 920 337 175 321 218 477 575 396
+ -10000 1 697 883 534 738 565 981 841 559
+ -10000 702 388 308 346 265 507 73 796 405
+ -10000 228 978 994 749 3 533 221 96 624
+ -10000 46 92 323 247 917 696 937 408 93
+ -10000 790 734 612 204 442 265 221 589 261
+ -10000 463 286 296 894 853 787 303 596 55
+ -10000 631 301 501 655 774 626 494 817 629
+ -10000 27 147 937 973 782 801 436 565 664
+ -10000 934 131 80 196 504 560 466 224 927
+ -10000 286 486 150 995 915 270 767 414 35
+ -10000 718 431 16 300 23 969 70 684 783
+ -10000 793 299 302 319 61 815 201 696 887
+ -10000 160 79 860 81 276 172 461 53 932
+ -10000 348 568 690 120 933 634 361 26 892
+ -10000 868 861 446 86 246 518 384 396 250
+ -10000 257 771 29 800 967 574 615 792 785
+ -10000 707 974 723 256 92 979 499 3 928
+ -10000 594 962 828 700 3 814 932 643 32
+ -10000 335 908 120 351 155 754 423 783 595
+ -10000 168 150 56 575 695 90 56 326 77
+ -10000 368 834 80 995 383 225 793 486 882
+ -10000 474 47 272 315 728 203 827 425 219
+ -10000 777 722 746 22 993 317 735 31 464
+ -10000 500 574 305 169 809 210 315 150 302
+ -10000 907 760 802 801 700 546 111 298 690
+ -10000 661 490 543 698 670 179 504 68 558
+ -10000 400 666 308 265 338 430 171 360 608
+ -10000 39 802 174 940 353 122 769 451 12
+ -10000 678 450 537 181 169 65 493 445 247
+ -10000 744 465 391 121 443 425 114 898 115
+ -10000 758 591 602 403 520 40 330 131 452
+ -10000 262 597 391 57 953 284 993 223 167
+ -10000 546 712 807 195 166 374 626 618 187
+ -10000 523 92 12 594 367 556 685 25 179
+ -10000 545 866 782 381 407 199 567 863 242
+ -10000 425 690 320 78 816 818 897 257 978
+ -10000 468 247 140 803 513 591 351 594 839
+ -10000 973 861 665 971 511 259 971 26 904
+ -10000 590 16 398 26 228 474 465 538 336
+ -10000 948 805 916 50 339 942 532 737 421
+ -10000 748 884 646 373 871 82 170 221 684
+ -10000 111 185 910 962 237 258 525 124 313
+ -10000 920 237 837 469 705 522 665 886 474
+ -10000 463 511 846 899 690 157 114 565 880
+ -10000 55 485 203 922 827 626 564 228 132
+ -10000 783 553 45 513 274 197 749 611 288
+ -10000 947 226 763 528 543 772 220 887 480
+ -10000 158 447 332 14 127 117 550 230 709
+ -10000 640 521 302 194 483 635 670 24 247
+ -10000 935 37 999 11 696 325 298 372 217
+ -10000 874 751 306 781 47 335 767 81 39
+ -10000 402 129 995 76 784 698 275 258 833
+ -10000 67 485 574 172 882 519 37 707 476
+ -10000 596 880 333 384 952 338 712 575 488
+ -10000 768 35 464 598 359 815 74 204 836
+ -10000 591 515 744 145 731 896 980 416 653
+ -10000 799 731 135 44 99 319 193 890 193
+ -10000 283 271 29 500 114 189 15 700 647
+ -10000 471 763 934 338 97 173 865 138 808
+ -10000 116 246 346 275 240 408 855 742 149
+ -10000 647 849 770 669 942 813 973 908 151
+ -10000 457 654 0 396 869 890 307 566 990
+ -10000 84 968 92 31 485 810 179 508 484
+ -10000 98 862 585 735 48 107 133 326 438
+ -10000 312 8 777 433 995 106 494 294 529
+ -10000 364 319 660 88 645 585 559 561 847
+ -10000 314 757 958 532 497 315 155 760 366
+ -10000 549 999 330 576 742 268 226 300 617
+ -10000 586 55 802 984 516 80 237 730 269
+ -10000 620 595 184 304 424 625 850 624 61
+ -10000 533 401 885 17 85 817 42 474 601
+ -10000 825 420 588 362 741 239 528 123 804
+ -10000 604 288 883 973 446 869 976 239 86
+ -10000 292 93 730 871 663 837 54 982 685
+ -10000 226 632 104 791 693 72 794 262 12
+ -10000 226 557 599 385 883 319 583 148 108
+ -10000 8 203 928 746 875 428 882 169 71
+ -10000 158 856 962 476 843 242 345 780 198
+ -10000 418 620 929 666 887 250 732 727 901
+ -10000 409 492 394 661 983 864 327 248 939
+ -10000 948 851 268 357 559 358 826 299 276
+ -10000 56 726 86 494 973 529 767 87 858
+ -10000 837 921 554 108 689 601 336 555 650
+ -10000 631 867 852 343 994 881 212 888 549
+ -10000 956 155 95 1 110 880 891 59 206
+ -10000 862 72 722 632 238 34 315 725 183
+ -10000 537 340 846 748 549 265 939 437 628
+ -10000 669 36 139 368 526 95 95 398 234
+ -10000 530 612 971 891 638 567 628 769 983
+ -10000 893 954 195 545 179 104 472 845 572
+ -10000 644 148 480 165 180 906 255 738 850
+ -10000 25 484 969 684 275 601 870 246 598
+ -10000 448 971 77 431 964 498 8 49 101
+ -10000 988 893 301 301 438 416 860 28 984
+ -10000 933 141 615 604 491 258 802 611 834
+ -10000 423 720 136 924 977 22 2 887 419
+ -10000 514 412 453 297 82 874 17 403 555
+ -10000 727 1 106 431 824 152 353 206 130
+ -10000 459 122 468 404 378 413 312 390 986
+ -10000 587 866 144 142 552 294 292 988 92
+ -10000 621 50 365 328 956 984 182 823 788
+ -10000 86 24 116 873 187 974 552 188 122
+ -10000 718 923 397 362 404 14 351 449 128
+ -10000 317 372 460 758 23 543 196 552 311
+ -10000 695 685 430 488 379 474 54 326 704
+ -10000 1000 38 517 147 205 388 992 543 233
+ -10000 540 149 746 912 381 47 71 240 367
+ -10000 230 108 332 935 786 991 643 269 323
+ -10000 166 570 90 269 523 892 5 456 653
+ -10000 445 455 298 883 451 683 741 467 814
+ -10000 519 23 669 749 554 377 22 184 435
+ -10000 957 418 630 652 787 415 317 45 643
+ -10000 421 55 168 611 67 909 667 700 563
+ -10000 419 227 525 326 136 251 262 170 254
+ -10000 105 776 388 114 762 661 415 764 64
+ -10000 291 787 687 426 139 153 573 862 265
+ -10000 158 4 992 641 80 373 542 638 956
+ -10000 220 119 516 995 380 269 516 633 857
+ -10000 300 752 905 545 127 226 339 822 433
+ -10000 279 475 505 265 499 546 322 811 885
+ -10000 490 940 143 720 351 803 785 942 204
+ -10000 857 562 834 836 146 194 87 18 303
+ -10000 708 315 451 280 248 251 535 472 280
+ -10000 492 693 389 970 872 730 427 746 925
+ -10000 496 800 476 70 535 702 770 27 579
+ -10000 502 809 350 526 923 806 320 558 247
+ -10000 116 672 853 566 463 458 808 356 72
+ -10000 451 571 967 424 640 900 167 372 928
+ -10000 901 212 961 922 64 13 545 394 701
+ -10000 648 679 124 759 474 352 570 921 289
+ -10000 438 518 796 45 239 942 828 511 936
+ -10000 863 984 399 335 949 368 67 544 330
+ -10000 657 970 755 263 110 944 334 854 164
+ -10000 208 911 116 189 790 931 605 746 454
+ -10000 557 274 217 711 708 512 671 132 398
+ -10000 929 885 742 862 689 786 703 934 49
+ -10000 368 807 321 497 593 680 974 685 951
+ -10000 869 623 571 992 343 450 437 211 506
+ -10000 608 860 461 323 938 959 958 20 662
+ -10000 397 921 971 929 390 397 485 977 668
+ -10000 211 456 905 982 339 555 62 203 245
+ -10000 458 866 380 1000 448 588 442 142 862
+ -10000 951 264 173 490 118 421 971 372 542
+ -10000 593 964 609 436 401 219 45 47 526
+ -10000 697 2 85 118 911 511 429 182 811
+ -10000 637 278 664 222 645 783 865 777 624
+ -10000 716 830 178 424 723 231 371 42 5
+ -10000 665 159 714 770 191 495 837 983 104
+ -10000 957 967 144 94 28 362 407 310 691
+ -10000 85 288 710 563 634 316 729 903 763
+ -10000 738 470 500 766 266 100 824 915 308
+ -10000 193 632 79 348 729 829 474 213 836
+ -10000 294 95 335 67 120 75 569 808 541
+ -10000 78 967 202 530 71 193 230 511 275
+ -10000 678 220 815 823 46 680 741 500 872
+ -10000 396 276 110 401 288 527 676 867 302
+ -10000 980 714 756 725 562 540 580 844 840
+ -10000 703 494 740 986 868 705 392 821 14
+ -10000 605 893 263 899 171 565 414 744 236
+ -10000 242 421 603 262 96 764 111 476 865
+ -10000 996 925 579 666 110 328 270 181 247
+ -10000 9 284 570 53 321 672 557 437 427
+ -10000 865 415 197 278 876 504 27 415 277
+ -10000 926 199 886 247 169 356 228 659 30
+ -10000 171 14 740 990 795 210 615 268 634
+ -10000 286 98 756 994 756 276 310 167 650
+ -10000 689 233 91 417 746 980 436 348 735
+ -10000 627 97 940 143 464 817 129 95 208
+ -10000 436 303 505 183 236 112 525 983 396
+ -10000 380 604 798 209 471 644 408 925 515
+ -10000 22 678 176 362 65 233 686 29 556
+ -10000 565 355 284 904 222 610 836 784 202
+ -10000 600 817 809 598 807 40 263 991 62
+ -10000 96 447 377 9 957 562 659 120 153
+ -10000 950 563 548 448 547 186 370 939 215
+ -10000 575 951 55 236 461 879 502 525 376
+ -10000 876 475 186 55 836 235 574 929 187
+ -10000 789 150 627 742 801 259 880 979 267
+ -10000 168 131 139 127 564 493 107 952 111
+ -10000 808 719 992 44 274 730 328 898 415
+ -10000 786 511 210 140 36 913 676 790 605
+ -10000 25 72 381 273 172 152 213 292 763
+ -10000 995 611 956 483 602 135 475 188 536
+ -10000 647 844 876 44 830 299 830 630 306
+ -10000 713 926 692 314 291 518 970 683 449
+ -10000 306 502 404 321 927 61 114 528 148
+ -10000 724 46 74 326 546 816 374 135 790
+ -10000 463 483 480 92 939 21 849 9 297
+ -10000 694 6 242 616 34 903 298 726 55
+ -10000 518 815 217 750 354 986 553 709 745
+ -10000 212 744 459 738 541 651 922 690 516
+ -10000 631 670 347 619 940 485 402 356 667
+ -10000 167 219 743 354 235 155 471 143 320
+ -10000 468 667 525 71 245 896 507 95 112
+ -10000 888 750 465 531 476 549 392 550 846
+ -10000 409 515 931 436 917 40 748 938 810
+ -10000 868 232 625 934 668 808 553 738 657
+ -10000 537 969 380 418 145 326 505 98 768
+ -10000 526 183 921 822 732 242 998 456 308
+ -10000 916 854 954 537 851 640 713 329 513
+ -10000 246 908 395 815 923 863 656 803 765
+ -10000 860 584 807 0 67 197 5 395 498
+ -10000 531 984 973 210 623 383 716 158 554
+ -10000 346 167 508 551 583 474 886 359 451
+ -10000 14 904 325 989 493 196 425 623 163
+ -10000 556 333 233 179 325 984 207 871 35
+ -10000 908 437 983 336 342 632 480 687 533
+ -10000 695 808 229 811 447 841 903 904 278
+ -10000 284 30 864 585 435 926 957 275 86
+ -10000 179 890 383 599 752 352 6 622 20
+ -10000 570 504 951 850 122 91 682 135 795
+ -10000 692 115 734 75 668 908 217 790 10
+ -10000 927 953 71 783 961 697 764 15 45
+ -10000 144 430 524 597 562 671 694 405 802
+ -10000 822 755 130 163 235 43 460 509 864
+ -10000 30 602 752 866 261 539 894 620 528
+ -10000 290 502 585 996 745 870 892 347 921
+ -10000 753 38 387 987 458 223 489 359 667
+ -10000 170 60 889 240 182 819 782 847 807
+ -10000 263 336 310 312 81 946 785 801 392
+ -10000 828 436 726 572 478 215 939 986 863
+ -10000 269 243 375 43 308 604 887 960 362
+ -10000 908 869 278 64 962 872 857 575 638
+ -10000 987 323 346 520 227 88 142 325 926
+ -10000 10 541 803 346 228 607 651 885 820
+ -10000 215 140 226 104 972 892 77 319 449
+ -10000 120 923 236 626 145 609 247 518 631
+ -10000 863 468 945 995 738 668 683 69 58
+ -10000 294 515 799 987 854 295 761 708 468
+ -10000 261 747 871 512 483 480 801 720 20
+ -10000 16 282 522 659 344 280 99 971 753
+ -10000 453 293 600 893 195 343 154 81 224
+ -10000 301 960 250 504 420 176 849 813 316
+ -10000 97 10 194 481 837 112 866 871 157
+ -10000 345 1 85 824 623 455 662 143 244
+ -10000 579 28 722 717 689 370 361 216 474
+ -10000 221 672 202 488 191 716 759 990 762
+ -10000 426 193 189 692 367 767 678 17 80
+ -10000 61 488 512 403 542 491 333 575 489
+ -10000 590 357 164 453 995 708 237 383 20
+ -10000 714 381 975 573 766 32 348 23 676
+ -10000 888 387 747 282 801 507 861 398 565
+ -10000 731 997 827 752 700 898 998 154 3
+ -10000 373 393 309 533 497 853 829 235 549
+ -10000 815 761 74 490 573 471 551 320 825
+ -10000 10 474 216 89 595 229 49 309 50
+ -10000 674 637 38 189 493 763 171 349 503
+ -10000 580 243 721 239 257 975 945 207 29
+ -10000 177 290 160 873 207 954 324 426 793
+ -10000 476 601 254 910 567 949 187 830 181
+ -10000 497 755 761 98 546 313 536 638 469
+ -10000 832 84 329 865 130 638 97 21 534
+ -10000 796 606 222 505 573 368 670 160 362
+ -10000 194 26 270 937 120 742 871 465 326
+ -10000 195 207 23 14 48 299 210 244 102
+ -10000 524 471 282 766 172 754 280 922 77
+ -10000 203 250 193 466 485 330 468 474 562
+ -10000 288 864 685 980 380 373 80 377 5
+ -10000 331 250 232 611 763 823 383 767 849
+ -10000 610 60 945 790 335 330 936 970 12
+ -10000 154 910 256 194 11 6 386 159 147
+ -10000 295 814 954 789 138 744 415 57 847
+ -10000 573 533 797 508 177 609 402 871 619
+ -10000 52 950 779 144 690 311 691 644 997
+ -10000 639 192 484 900 32 525 360 215 84
+ -10000 109 176 260 231 257 927 780 754 40
+ -10000 593 802 596 694 304 31 293 876 441
+ -10000 876 74 231 473 841 214 763 94 105
+ -10000 593 302 33 967 159 66 391 205 917
+ -10000 832 232 189 504 741 981 887 30 635
+ -10000 112 162 397 672 649 103 879 406 161
+ -10000 362 647 120 922 274 928 31 79 307
+ -10000 110 465 602 802 110 781 985 510 659
+ -10000 528 379 377 887 405 705 212 844 737
+ -10000 67 432 137 78 443 247 803 343 150
+ -10000 133 512 932 552 732 544 332 107 534
+ -10000 421 560 101 266 730 217 763 643 981
+ -10000 728 853 142 222 909 721 385 608 144
+ -10000 922 838 849 408 166 5 156 265 892
+ -10000 66 259 641 677 587 497 487 261 733
+ -10000 919 52 99 100 179 128 172 9 367
+ -10000 379 59 573 248 70 662 649 920 436
+ -10000 28 467 969 350 453 78 603 668 478
+ -10000 739 751 659 328 654 211 865 227 515
+ -10000 858 894 212 863 154 477 196 252 190
+ -10000 996 566 495 964 26 45 589 582 251
+ -10000 664 403 152 569 572 89 819 769 326
+ -10000 923 48 612 72 523 506 228 458 714
+ -10000 960 482 194 693 104 818 426 826 828
+ -10000 188 460 828 298 506 899 244 383 195
+ -10000 824 824 471 379 52 103 125 208 179
+ -10000 510 139 722 605 566 274 944 708 443
+ -10000 926 308 76 829 265 882 41 919 310
+ -10000 320 14 820 917 636 898 269 602 78
+ -10000 143 403 491 484 600 518 340 671 851
+ -10000 62 892 306 452 61 322 404 463 90
+ -10000 381 255 665 495 909 845 292 749 329
+ -10000 686 839 530 987 724 952 384 292 850
+ -10000 176 609 740 538 990 159 534 782 494
+ -10000 384 596 736 976 875 6 507 126 715
+ -10000 276 821 496 449 810 251 604 540 151
+ -10000 433 429 403 108 950 229 734 224 510
+ -10000 988 442 673 701 630 512 220 448 544
+ -10000 959 570 822 439 231 102 966 573 307
+ -10000 646 685 603 518 526 860 256 917 894
+ -10000 560 447 398 281 868 81 296 650 527
+ -10000 80 860 407 610 34 321 620 572 183
+ -10000 409 897 660 803 497 186 52 363 934
+ -10000 491 820 118 580 513 692 589 6 325
+ -10000 865 679 690 932 605 813 890 59 564
+ -10000 90 473 575 822 201 710 808 39 622
+ -10000 726 987 906 916 245 152 180 186 476
+ -10000 284 254 548 750 77 598 115 103 791
+ -10000 210 749 136 315 179 633 707 144 91
+ -10000 315 309 396 219 804 119 555 560 761
+ -10000 329 584 27 197 446 624 771 580 592
+ -10000 47 593 641 938 283 122 687 108 829
+ -10000 220 489 106 885 107 6 519 202 526
+ -10000 508 706 968 864 767 314 363 374 810
+ -10000 397 216 327 931 492 215 625 92 271
+ -10000 338 907 931 922 792 407 493 8 52
+ -10000 643 88 737 507 610 872 381 296 277
+ -10000 56 889 364 288 965 209 955 981 458
+ -10000 887 397 222 307 513 592 609 509 205
+ -10000 692 758 874 245 274 564 565 276 36
+ -10000 863 110 815 790 345 186 891 379 845
+ -10000 831 586 887 547 135 833 884 350 308
+ -10000 296 414 773 440 431 690 841 521 231
+ -10000 256 572 897 868 281 536 282 235 775
+ -10000 843 290 374 327 24 34 470 198 132
+ -10000 462 493 598 777 227 731 844 372 527
+ -10000 717 419 541 916 472 663 94 671 517
+ -10000 883 408 183 115 90 118 453 418 525
+ -10000 975 989 155 462 652 272 345 378 123
+ -10000 698 774 219 584 368 56 236 504 405
+ -10000 481 794 528 144 727 680 255 599 34
+ -10000 266 598 680 814 605 184 89 199 393
+ -10000 217 327 469 800 26 618 883 43 772
+ -10000 186 102 5 662 931 455 888 556 205
+ -10000 792 817 708 420 763 68 850 805 942
+ -10000 996 855 698 435 779 567 445 970 897
+ -10000 525 911 853 618 631 88 358 267 635
+ -10000 861 743 767 277 770 588 292 228 60
+ -10000 949 226 683 157 621 212 768 161 562
+ -10000 199 658 187 46 402 30 368 107 746
+ -10000 182 229 202 959 20 596 420 484 272
+ -10000 301 619 321 775 414 525 358 163 709
+ -10000 554 988 867 50 385 679 894 325 557
+ -10000 625 152 679 797 104 39 465 421 914
+ -10000 261 817 387 234 289 652 54 373 145
+ -10000 6 449 617 189 713 129 299 751 279
+ -10000 317 219 265 676 828 907 883 518 651
+ -10000 553 659 62 441 26 520 863 937 827
+ -10000 463 753 578 898 36 160 148 921 355
+ -10000 643 226 549 851 843 744 196 686 365
+ -10000 289 681 237 680 33 530 679 753 70
+ -10000 621 150 727 406 853 303 569 368 251
+ -10000 533 947 510 76 481 80 581 880 668
+ -10000 583 239 420 741 533 914 157 804 316
+ -10000 412 896 614 888 216 263 702 264 299
+ -10000 76 411 748 821 990 916 122 413 681
+ -10000 990 288 938 369 864 558 364 410 591
+ -10000 423 679 406 127 30 412 146 454 509
+ -10000 712 525 727 210 779 874 251 622 882
+ -10000 630 400 153 681 104 981 530 800 251
+ -10000 116 199 306 748 661 953 1 807 596
+ -10000 170 759 452 499 521 851 721 222 48
+ -10000 257 211 273 260 706 262 200 428 348
+ -10000 453 607 380 936 404 515 565 540 396
+ -10000 650 220 714 692 494 450 897 25 152
+ -10000 886 209 457 14 123 139 819 785 164
+ -10000 718 697 444 384 964 85 668 79 836
+ -10000 680 444 496 300 299 599 211 936 197
+ -10000 277 41 89 598 779 525 670 990 838
+ -10000 758 763 367 467 127 197 693 924 490
+ -10000 661 5 676 139 18 32 289 901 448
+ -10000 744 419 544 681 880 940 610 647 689
+ -10000 43 836 874 181 185 201 2 73 258
+ -10000 847 198 938 621 875 991 585 411 869
+ -10000 67 139 595 692 265 24 227 554 357
+ -10000 4 795 652 423 298 809 390 37 236
+ -10000 976 867 84 82 963 92 363 677 188
+ -10000 974 573 713 372 25 917 689 434 616
+ -10000 898 218 728 179 743 760 259 202 980
+ -10000 663 409 24 766 133 494 503 369 967
+ -10000 376 922 123 297 46 859 739 144 998
+ -10000 41 463 127 114 637 775 331 772 116
+ -10000 41 302 93 900 520 871 55 354 965
+ -10000 416 533 941 977 279 123 201 175 34
+ -10000 548 594 942 600 723 896 177 129 987
+ -10000 122 676 683 25 6 205 131 320 44
+ -10000 223 250 491 800 919 976 915 294 329
+ -10000 189 267 322 693 957 384 69 795 81
+ -10000 523 125 281 312 791 679 167 640 463
+ -10000 807 546 555 391 257 166 211 538 254
+ -10000 672 359 838 170 166 865 859 958 333
+ -10000 439 287 309 325 800 686 962 729 79
+ -10000 984 266 180 232 325 410 829 980 345
+ -10000 797 224 561 850 281 473 552 406 242
+ -10000 699 180 317 545 339 297 707 796 262
+ -10000 462 650 96 976 206 696 228 275 225
+ -10000 91 243 792 982 728 869 418 442 815
+ -10000 214 3 822 603 450 90 471 283 473
+ -10000 88 807 773 901 760 216 367 680 810
+ -10000 515 903 395 179 621 79 613 463 885
+ -10000 225 339 13 963 996 396 859 139 808
+ -10000 772 113 616 548 446 321 867 62 348
+ -10000 253 125 433 754 517 194 869 273 437
+ -10000 533 920 919 879 701 374 55 883 612
+ -10000 6 748 98 141 420 183 203 583 174
+ -10000 586 4 213 136 311 605 582 843 942
+ -10000 821 133 334 390 965 83 850 202 785
+ -10000 65 278 350 574 80 546 476 269 433
+ -10000 65 40 410 344 53 355 839 470 269
+ -10000 68 721 93 393 475 903 678 495 165
+ -10000 127 458 552 777 986 800 858 148 849
+ -10000 882 983 96 255 282 822 227 530 372
+ -10000 884 909 920 617 675 144 500 462 618
+ -10000 866 1000 46 973 71 596 995 841 392
+ -10000 312 179 582 440 139 170 486 693 588
+ -10000 245 107 284 228 58 894 765 524 311
+ -10000 899 588 300 99 595 722 982 619 323
+ -10000 87 124 421 516 234 378 931 104 127
+ -10000 78 547 459 956 885 366 180 438 892
+ -10000 97 28 188 907 641 568 606 428 236
+ -10000 853 559 240 272 749 89 206 135 761
+ -10000 134 9 661 905 301 970 653 50 422
+ -10000 54 903 24 22 781 16 262 882 241
+ -10000 838 786 399 383 279 547 339 165 843
+ -10000 856 168 257 98 768 869 417 521 873
+ -10000 814 462 962 885 306 37 524 323 290
+ -10000 443 904 74 292 262 387 74 973 946
+ -10000 465 439 996 871 68 487 851 206 429
+ -10000 1 907 827 538 721 390 62 55 130
+ -10000 744 534 243 207 212 799 748 612 389
+ -10000 30 571 753 259 586 976 272 563 832
+ -10000 627 700 742 851 445 145 530 575 461
+ -10000 247 607 393 958 73 989 565 165 25
+ -10000 118 220 837 903 672 517 516 46 156
+ -10000 962 232 277 357 731 124 475 994 677
+ -10000 647 5 147 20 592 157 384 59 352
+ -10000 820 681 289 151 6 812 856 528 991
+ -10000 379 220 652 926 314 993 851 81 855
+ -10000 158 528 432 569 587 194 755 742 787
+ -10000 222 897 99 542 131 451 582 34 295
+ -10000 78 585 802 709 953 932 649 645 157
+ -10000 415 452 371 698 606 398 257 469 809
+ -10000 221 99 39 959 459 897 626 204 4
+ -10000 578 359 784 734 488 460 384 488 860
+ -10000 22 182 358 684 492 111 935 142 475
+ -10000 574 152 98 92 716 275 667 340 337
+ -10000 806 934 649 478 665 521 253 994 557
+ -10000 502 611 682 898 159 328 717 324 542
+ -10000 731 309 622 708 848 494 140 64 426
+ -10000 581 517 226 792 811 257 835 135 425
+ -10000 100 700 799 670 306 58 736 297 712
+ -10000 148 189 450 110 346 868 989 516 560
+ -10000 685 882 495 139 978 637 272 990 31
+ -10000 534 449 424 159 640 94 931 192 446
+ -10000 162 982 522 458 303 174 343 753 130
+ -10000 127 696 946 105 110 102 409 224 600
+ -10000 858 110 862 303 337 397 202 591 525
+ -10000 232 228 153 317 408 193 515 467 961
+ -10000 592 739 424 570 956 670 519 3 722
+ -10000 408 532 851 332 893 423 668 360 20
+ -10000 304 327 788 766 931 615 529 331 555
+ -10000 820 624 162 143 247 600 397 415 706
+ -10000 445 259 217 595 412 342 243 221 405
+ -10000 916 460 728 318 8 88 688 210 274
+ -10000 828 493 222 54 269 576 132 981 817
+ -10000 478 974 198 688 596 497 879 813 352
+ -10000 557 198 757 532 119 23 232 621 470
+ -10000 10 58 912 642 53 648 501 648 902
+ -10000 696 505 84 750 691 201 709 508 832
+ -10000 861 112 221 57 9 3 428 596 1000
+ -10000 651 346 81 878 701 780 20 418 155
+ -10000 354 27 70 84 286 640 31 955 769
+ -10000 407 592 852 782 896 158 497 248 467
+ -10000 983 171 694 958 879 320 954 427 272
+ -10000 239 387 337 60 221 385 667 373 38
+ -10000 966 364 676 180 540 902 477 848 19
+ -10000 294 437 676 409 843 628 390 609 983
+ -10000 470 632 230 367 294 416 674 873 12
+ -10000 0 412 466 797 573 860 724 16 262
+ -10000 44 936 593 876 396 987 50 783 581
+ -10000 416 293 788 164 625 373 336 266 198
+ -10000 170 702 225 277 414 823 659 237 953
+ -10000 328 468 326 722 530 521 282 699 670
+ -10000 845 18 366 417 531 600 9 106 932
+ -10000 119 851 571 29 110 323 311 760 668
+ -10000 908 780 461 802 667 898 278 80 676
+ -10000 453 887 410 13 880 99 137 84 370
+ -10000 145 734 697 446 396 975 453 485 255
+ -10000 650 762 163 649 847 910 155 123 494
+ -10000 670 505 933 15 315 364 629 105 247
+ -10000 783 269 90 982 745 367 721 159 140
+ -10000 773 21 829 678 426 264 761 538 858
+ -10000 459 706 870 153 660 369 814 341 460
+ -10000 633 12 723 191 857 365 632 944 681
+ -10000 769 987 916 959 363 831 224 302 879
+ -10000 197 343 700 50 393 45 657 392 517
+ -10000 154 420 579 809 65 826 821 653 662
+ -10000 686 108 715 286 855 199 967 453 528
+ -10000 275 670 575 635 607 318 490 489 274
+ -10000 704 925 47 123 502 740 85 273 26
+ -10000 693 865 206 249 64 241 977 729 978
+ -10000 891 554 115 446 678 572 506 80 923
+ -10000 333 527 630 430 410 178 641 322 147
+ -10000 566 655 518 804 225 2 994 567 25
+ -10000 599 308 927 943 964 837 932 482 277
+ -10000 275 367 364 618 528 980 67 524 56
+ -10000 706 792 127 954 485 826 238 122 77
+ -10000 794 668 588 800 143 794 784 678 978
+ -10000 736 141 574 310 678 97 679 511 399
+ -10000 12 755 234 845 376 777 806 195 563
+ -10000 601 688 289 954 637 278 180 296 940
+ -10000 886 438 251 899 47 202 223 190 579
+ -10000 100 921 834 292 987 294 25 250 698
+ -10000 339 372 319 242 949 590 683 460 809
+ -10000 885 766 322 426 128 448 437 864 491
+ -10000 844 630 660 475 118 856 926 21 766
+ -10000 172 759 148 523 6 996 114 158 217
+ -10000 2 381 472 704 931 271 155 606 235
+ -10000 920 63 304 380 882 327 526 235 485
+ -10000 193 700 246 656 775 702 217 372 868
+ -10000 667 256 177 163 955 165 712 278 817
+ -10000 137 429 799 383 840 819 124 41 228
+ -10000 427 472 23 285 420 307 515 866 525
+ -10000 505 155 632 929 952 235 675 76 334
+ -10000 80 779 661 796 747 944 616 241 992
+ -10000 600 833 294 286 187 740 510 151 417
+ -10000 283 332 752 104 719 801 75 298 375
+ -10000 753 283 850 742 455 928 782 369 847
+ -10000 331 727 457 382 28 941 354 166 196
+ -10000 422 586 245 164 930 336 708 214 431
+ -10000 507 138 900 558 963 209 372 848 82
+ -10000 652 986 546 691 128 721 662 25 99
+ -10000 404 320 603 808 254 737 337 480 243
+ -10000 103 121 993 470 445 858 431 313 706
+ -10000 466 93 890 805 974 813 384 80 245
+ -10000 427 156 994 147 474 655 863 874 11
+ -10000 666 516 309 726 82 303 275 774 893
+ -10000 572 134 530 660 14 603 125 211 578
+ -10000 300 939 867 974 999 243 443 836 22
+ -10000 896 405 109 261 778 939 498 893 14
+ -10000 539 919 289 989 652 78 148 963 829
+ -10000 124 612 367 347 66 961 78 291 49
+ -10000 466 227 290 351 23 333 680 212 670
+ -10000 574 701 807 858 308 225 228 993 461
+ -10000 775 417 641 450 457 37 891 197 828
+ -10000 965 686 635 802 783 849 31 628 389
+ -10000 428 972 842 252 67 928 211 1000 55
+ -10000 338 602 590 397 257 571 910 690 942
+ -10000 324 363 62 665 370 36 699 123 382
+ -10000 721 478 383 131 754 262 176 124 93
+ -10000 710 874 594 404 765 548 545 28 535
+ -10000 108 310 962 69 659 597 293 155 270
+ -10000 188 954 383 268 164 388 152 680 995
+ -10000 562 912 167 979 329 51 415 233 898
+ -10000 853 240 257 84 998 402 272 12 735
+ -10000 86 336 188 712 526 716 181 467 618
+ -10000 247 127 976 181 113 474 241 103 521
+ -10000 912 443 782 899 922 905 625 980 863
+ -10000 735 721 404 393 985 76 121 476 553
+ -10000 637 130 214 170 967 252 323 855 766
+ -10000 307 526 625 20 331 969 302 899 591
+ -10000 903 141 804 705 767 846 424 188 964
+ -10000 178 250 124 38 110 814 848 721 662
+ -10000 625 778 934 725 278 485 600 220 267
+ -10000 888 587 377 118 161 267 75 277 599
+ -10000 359 688 976 424 211 795 395 608 205
+ -10000 394 914 208 496 114 21 554 784 706
+ -10000 972 826 752 408 713 487 117 412 208
+ -10000 846 772 747 892 643 49 76 325 392
+ -10000 377 652 494 910 883 572 118 644 337
+ -10000 237 608 237 301 975 127 539 290 310
+ -10000 20 246 746 79 768 293 588 561 876
+ -10000 50 618 904 200 25 594 992 542 149
+ -10000 955 139 111 613 554 35 973 227 617
+ -10000 920 723 725 237 125 497 815 370 689
+ -10000 432 80 183 179 767 389 833 861 927
+ -10000 966 163 245 151 406 228 388 443 646
+ -10000 530 956 73 535 821 114 675 720 483
+ -10000 152 690 546 515 229 344 842 327 88
+ -10000 676 429 570 832 561 146 528 934 564
+ -10000 520 957 684 726 370 603 165 57 19
+ -10000 500 831 275 957 995 763 110 598 755
+ -10000 436 763 895 467 901 988 385 203 354
+ -10000 192 55 746 867 997 818 117 950 212
+ -10000 29 368 796 301 134 337 913 798 64
+ -10000 645 780 228 515 596 951 69 174 333
+ -10000 471 622 361 447 267 99 828 716 93
+ -10000 463 121 820 119 51 931 516 46 722
+ -10000 574 488 163 405 908 632 79 774 504
+ -10000 914 738 865 964 516 195 344 382 740
+ -10000 715 112 86 960 59 327 842 18 606
+ -10000 201 128 295 340 93 931 316 717 622
+ -10000 806 776 386 815 230 112 770 453 481
+ -10000 117 355 559 64 157 440 663 622 873
+ -10000 680 497 417 278 200 642 731 978 696
+ -10000 858 302 201 761 523 391 114 638 832
+ -10000 356 464 477 649 913 948 179 410 479
+ -10000 292 520 413 377 793 543 435 814 813
+ -10000 688 772 88 82 91 227 609 368 321
+ -10000 459 731 654 33 467 925 81 875 872
+ -10000 841 167 832 665 881 102 38 493 80
+ -10000 970 634 23 968 903 42 883 893 370
+ -10000 196 735 696 272 852 193 319 870 222
+ -10000 382 326 777 543 283 731 247 597 222
+ -10000 462 863 273 618 524 583 556 53 465
+ -10000 116 118 724 845 253 605 433 987 636
+ -10000 130 21 765 14 490 636 642 459 77
+ -10000 699 469 150 64 928 944 339 240 281
+ -10000 664 695 838 755 358 647 200 859 365
+ -10000 603 29 71 867 431 677 47 250 415
+ -10000 335 990 871 994 961 476 720 674 470
+ -10000 359 380 549 892 488 899 263 491 202
+ -10000 621 987 538 822 330 697 460 208 522
+ -10000 242 283 384 826 46 510 882 382 498
+ -10000 246 712 977 105 435 26 773 583 693
+ -10000 592 962 657 763 510 367 972 24 908
+ -10000 160 169 204 64 678 927 273 256 218
+ -10000 623 325 397 551 678 10 882 132 529
+ -10000 920 129 750 977 865 1 552 866 460
+ -10000 807 914 764 708 966 640 69 306 885
+ -10000 830 752 658 956 122 863 55 634 622
+ -10000 487 695 377 261 653 173 261 920 377
+ -10000 350 241 858 164 449 377 942 573 812
+ -10000 501 437 129 29 608 99 331 359 918
+ -10000 85 589 819 701 518 730 946 278 657
+ -10000 592 963 525 626 428 367 507 607 60
+ -10000 247 906 481 324 466 811 991 642 952
+ -10000 811 786 495 179 208 953 885 213 940
+ -10000 558 357 315 402 719 357 863 394 163
+ -10000 763 801 118 863 780 727 52 244 145
+ -10000 72 846 568 678 699 78 472 615 729
+ -10000 614 165 645 936 107 548 995 728 173
+ -10000 198 640 931 115 877 573 329 860 36
+ -10000 854 950 802 350 690 396 99 493 248
+ -10000 82 480 234 377 152 311 351 351 505
+ -10000 659 315 327 547 649 828 444 69 109
+ -10000 811 812 480 688 337 68 654 456 34
+ -10000 378 795 687 710 424 117 631 636 632
+ -10000 803 125 666 240 129 532 444 84 71
+ -10000 387 604 322 249 450 222 586 803 605
+ -10000 706 392 144 464 373 919 784 399 424
+ -10000 977 911 220 757 828 51 810 579 45
+ -10000 480 785 406 2 453 637 82 331 926
+ -10000 45 569 250 535 342 919 62 875 891
+ -10000 572 365 615 152 109 856 755 288 437
+ -10000 4 286 100 230 768 15 950 368 137
+ -10000 753 857 384 10 49 891 899 836 695
+ -10000 990 829 598 938 528 403 602 424 725
+ -10000 15 491 314 896 453 535 360 215 803
+ -10000 578 685 554 180 768 810 39 911 944
+ -10000 991 501 993 431 651 556 590 888 539
+ -10000 373 961 413 259 170 378 768 893 429
+ -10000 629 655 118 928 906 838 940 840 401
+ -10000 358 208 69 107 789 103 744 927 807
+ -10000 852 67 622 452 433 276 210 251 364
+ -10000 197 681 909 623 747 50 403 30 0
+ -10000 560 304 607 460 141 23 935 597 825
+ -10000 6 544 561 856 370 29 814 390 965
+ -10000 652 277 865 68 367 521 131 964 422
+ -10000 28 229 496 516 215 838 125 417 273
+ -10000 396 756 840 917 397 611 565 209 157
+ -10000 405 797 750 20 298 816 284 678 524
+ -10000 428 539 459 932 124 688 292 460 340
+ -10000 696 507 896 562 779 783 490 354 750
+ -10000 621 591 326 778 557 488 342 472 875
+ -10000 999 623 286 658 634 860 915 516 317
+ -10000 885 88 690 332 315 816 428 118 59
+ -10000 135 38 677 380 34 457 992 893 198
+ -10000 598 469 70 11 190 609 633 173 271
+ -10000 734 950 257 792 791 796 201 158 285
+ -10000 105 262 600 7 972 432 278 936 752
+ -10000 665 687 468 5 768 475 876 994 823
+ -10000 82 481 356 948 976 514 130 936 35
+ -10000 909 757 957 630 379 909 86 530 699
+ -10000 936 144 278 321 744 986 631 746 25
+ -10000 928 264 623 255 201 142 337 132 889
+ -10000 544 540 440 143 722 81 305 545 157
+ -10000 69 684 40 817 481 16 548 673 332
+ -10000 484 488 578 28 580 270 489 856 730
+ -10000 532 373 317 416 773 619 910 489 568
+ -10000 565 383 605 907 964 457 764 609 9
+ -10000 366 770 424 581 833 152 27 467 810
+ -10000 941 559 504 414 881 55 2 672 809
+ -10000 644 355 935 711 723 525 1 297 904
+ -10000 431 88 359 810 179 312 657 463 833
+ -10000 718 256 466 592 606 237 695 964 357
+ -10000 36 325 57 493 136 468 663 81 231
+ -10000 345 19 980 208 521 921 412 63 373
+ -10000 488 34 829 28 202 41 616 548 394
+ -10000 887 215 991 827 620 675 285 754 487
+ -10000 439 949 891 558 828 509 432 967 565
+ -10000 972 860 731 842 270 560 206 184 980
+ -10000 238 375 153 815 158 288 119 681 50
+ -10000 389 691 501 694 939 124 322 809 566
+ -10000 170 410 419 267 162 704 683 995 483
+ -10000 429 49 41 515 161 519 737 601 702
+ -10000 346 648 766 722 312 649 245 222 54
+ -10000 528 904 89 407 350 744 700 807 148
+ -10000 508 30 54 628 863 577 808 329 703
+ -10000 800 476 641 938 74 886 238 826 234
+ -10000 861 613 436 726 344 608 686 164 744
+ -10000 261 519 537 448 923 779 315 311 431
+ -10000 362 53 203 874 28 428 737 237 44
+ -10000 616 455 512 689 230 35 976 794 705
+ -10000 320 652 509 719 845 678 77 494 257
+ -10000 502 881 872 375 990 693 157 773 545
+ -10000 515 983 768 955 334 836 292 209 805
+ -10000 663 580 700 320 59 661 415 467 611
+ -10000 172 494 384 65 336 912 283 381 850
+ -10000 494 236 905 457 425 715 517 497 206
+ -10000 362 432 483 231 708 391 44 311 393
+ -10000 831 776 27 68 883 172 712 263 115
+ -10000 934 360 401 435 177 381 610 597 876
+ -10000 379 407 888 466 375 998 724 605 657
+ -10000 252 41 163 994 415 257 625 24 283
+ -10000 255 965 411 83 906 686 387 547 321
+ -10000 470 789 349 697 782 648 287 350 62
+ -10000 602 42 246 30 561 530 863 365 441
+ -10000 115 975 68 112 529 2 469 485 607
+ -10000 606 77 534 790 167 1 774 87 383
+ -10000 283 47 788 187 338 296 404 354 71
+ -10000 913 867 673 5 278 15 469 254 375
+ -10000 380 411 107 685 307 356 707 520 373
+ -10000 565 368 500 692 564 859 962 986 360
+ -10000 678 85 514 945 129 504 585 789 658
+ -10000 730 130 650 22 517 432 513 105 282
+ -10000 799 172 331 954 71 930 412 154 879
+ -10000 383 551 253 933 161 873 129 470 666
+ -10000 696 832 461 863 378 82 432 467 810
+ -10000 101 816 49 198 919 966 911 126 397
+ -10000 322 932 785 600 543 620 593 296 646
+ -10000 556 453 499 818 319 606 998 92 498
+ -10000 791 938 504 813 143 624 470 853 246
+ -10000 645 284 854 191 544 599 918 6 750
+ -10000 813 727 577 932 538 767 877 750 650
+ -10000 718 420 914 881 271 153 569 339 796
+ -10000 410 821 794 827 505 881 617 255 993
+ -10000 14 821 402 488 718 74 147 131 218
+ -10000 877 58 310 682 261 36 768 168 834
+ -10000 754 475 120 533 375 100 398 236 937
+ -10000 938 294 282 654 657 658 635 735 597
+ -10000 871 478 619 107 923 538 400 577 419
+ -10000 535 980 489 775 889 944 291 716 984
+ -10000 103 682 787 920 580 66 219 16 962
+ -10000 91 711 873 283 288 602 489 494 903
+ -10000 544 198 670 775 433 78 542 282 718
+ -10000 492 461 385 153 890 764 137 145 822
+ -10000 999 572 9 385 466 550 935 133 230
+ -10000 515 337 903 77 15 600 756 192 462
+ -10000 892 926 935 513 336 853 460 1 316
+ -10000 215 440 714 981 45 13 954 490 769
+ -10000 725 324 609 216 458 49 368 435 843
+ -10000 204 837 943 182 341 526 869 774 647
+ -10000 610 924 932 775 672 990 758 984 221
+ -10000 20 311 218 496 730 108 925 648 614
+ -10000 198 601 330 757 442 867 141 446 562
+ -10000 773 221 24 619 902 838 175 48 259
+ -10000 907 227 700 540 934 53 48 191 600
+ -10000 419 384 853 104 575 323 474 721 545
+ -10000 282 925 476 417 78 734 146 809 814
+ -10000 598 460 540 890 836 590 380 98 600
+ -10000 533 538 779 858 264 836 919 630 635
+ -10000 471 572 873 429 259 124 732 177 706
+ -10000 773 640 66 606 403 265 928 452 806
+ -10000 735 912 285 28 158 370 488 888 657
+ -10000 272 491 619 69 915 85 870 72 457
+ -10000 400 284 357 48 822 230 981 698 494
+ -10000 674 9 287 317 240 162 423 301 246
+ -10000 188 988 627 94 707 748 205 174 990
+ -10000 549 890 449 858 87 569 336 966 889
+ -10000 834 596 877 127 26 521 294 605 457
+ -10000 238 63 608 542 71 862 543 643 280
+ -10000 475 233 815 489 162 858 151 628 256
+ -10000 256 169 264 950 212 998 347 494 785
+ -10000 305 647 211 40 184 844 110 118 716
+ -10000 962 963 188 459 503 769 249 864 475
+ -10000 473 950 34 408 264 498 527 389 127
+ -10000 562 971 651 220 509 44 121 302 141
+ -10000 833 556 48 581 785 22 65 150 438
+ -10000 200 354 503 637 616 32 951 12 644
+ -10000 561 470 989 356 338 530 142 216 487
+ -10000 623 419 591 665 388 851 235 898 85
+ -10000 928 301 517 232 346 551 596 208 911
+ -10000 673 384 706 421 559 737 230 355 480
+ -10000 665 360 907 485 778 553 424 100 756
+ -10000 659 276 316 291 282 1000 8 879 82
+ -10000 131 831 81 884 865 37 590 910 971
+ -10000 487 940 522 953 476 633 580 656 267
+ -10000 736 653 633 376 912 404 950 750 980
+ -10000 935 319 1000 5 4 768 275 606 911
+ -10000 221 449 486 369 932 998 327 630 894
+ -10000 696 929 881 726 438 218 802 1000 401
+ -10000 64 935 214 408 611 508 173 854 39
+ -10000 792 475 115 366 157 581 560 388 207
+ -10000 395 887 155 451 69 806 947 666 93
+ -10000 44 171 933 901 496 356 532 819 367
+ -10000 885 158 707 665 114 405 87 383 389
+ -10000 137 611 470 285 68 771 116 421 543
+ -10000 674 573 25 7 808 375 105 771 348
+ -10000 32 735 21 580 261 622 531 125 911
+ -10000 646 68 509 881 284 59 835 813 771
+ -10000 53 245 830 599 467 466 229 99 571
+ -10000 44 354 212 451 357 138 263 966 626
+ -10000 619 614 421 770 607 261 22 735 211
+ -10000 646 68 507 997 557 203 159 999 220
+ -10000 934 535 76 940 617 140 592 294 582
+ -10000 821 344 420 565 50 782 538 652 650
+ -10000 552 954 600 92 755 973 12 74 179
+ -10000 739 126 676 993 919 984 695 978 51
+ -10000 670 635 556 981 260 9 805 623 851
+ -10000 531 148 949 260 736 326 89 239 301
+ -10000 271 785 368 776 793 203 135 366 420
+ -10000 997 388 421 402 52 193 753 733 509
+ -10000 987 882 740 957 399 85 91 233 697
+ -10000 689 673 537 538 866 749 411 978 0
+ -10000 195 727 171 563 242 820 931 561 417
+ -10000 924 421 138 651 821 806 950 402 569
+ -10000 895 731 150 557 365 603 924 341 551
+ -10000 258 306 710 204 16 499 672 19 520
+ -10000 511 230 292 970 702 671 647 931 933
+ -10000 5 405 752 529 751 473 121 718 479
+ -10000 293 208 672 23 630 580 75 282 70
+ -10000 931 926 579 481 555 911 204 663 872
+ -10000 729 857 102 151 611 526 264 509 219
+ -10000 333 502 922 798 94 18 289 935 898
+ -10000 1 496 982 169 142 583 135 317 376
+ -10000 238 346 625 537 877 844 566 920 245
+ -10000 359 27 913 907 232 145 779 571 689
+ -10000 587 527 470 549 892 132 771 608 82
+ -10000 8 890 509 196 956 103 829 500 533
+ -10000 958 595 528 676 198 293 153 574 67
+ -10000 807 23 111 715 994 246 350 102 630
+ -10000 619 754 166 389 917 441 342 506 775
+ -10000 941 891 755 982 451 281 416 893 435
+ -10000 703 247 598 587 755 512 221 542 685
+ -10000 863 931 974 555 976 700 403 715 454
+ -10000 705 783 39 757 700 852 760 249 346
+ -10000 960 955 136 950 375 239 594 559 315
+ -10000 694 588 350 349 168 984 765 55 620
+ -10000 557 145 925 1000 903 836 946 73 133
+ -10000 13 685 502 994 600 818 47 658 402
+ -10000 259 18 265 149 880 242 231 47 685
+ -10000 689 286 584 569 914 432 735 218 425
+ -10000 228 731 378 584 899 597 415 841 262
+ -10000 436 208 169 930 997 261 286 659 364
+ -10000 709 827 751 323 826 202 396 33 253
+ -10000 400 134 988 32 574 967 569 910 232
+ -10000 263 667 578 336 364 280 194 611 692
+ -10000 704 287 251 151 36 106 860 592 722
+ -10000 998 797 293 800 402 202 741 308 374
+ -10000 172 539 652 731 574 765 294 847 636
+ -10000 195 545 632 33 310 339 867 360 240
+ -10000 414 658 329 926 165 469 750 623 502
+ -10000 307 542 65 282 316 269 105 69 852
+ -10000 117 837 634 89 394 556 945 65 271
+ -10000 570 86 312 451 432 773 929 720 285
+ -10000 416 254 564 283 522 77 812 78 789
+ -10000 512 315 215 939 370 998 171 727 106
+ -10000 370 576 738 332 48 573 312 251 133
+ -10000 311 724 977 984 162 506 171 3 361
+ -10000 724 331 502 592 215 420 886 986 770
+ -10000 189 418 373 386 610 377 642 912 107
+ -10000 801 888 36 837 851 922 562 487 423
+ -10000 855 387 326 303 871 214 183 749 258
+ -10000 789 269 790 288 509 673 720 745 524
+ -10000 158 674 661 430 718 995 712 479 115
+ -10000 86 654 159 385 566 491 560 471 514
+ -10000 853 592 524 320 255 804 167 941 268
+ -10000 513 753 938 505 224 495 279 938 26
+ -10000 927 653 990 626 119 270 968 24 954
+ -10000 763 669 772 310 64 139 517 152 686
+ -10000 123 564 911 515 740 51 330 130 241
+ -10000 577 675 302 904 812 915 246 125 991
+ -10000 877 723 194 285 24 547 815 534 567
+ -10000 634 553 750 801 263 633 992 978 979
+ -10000 172 595 9 618 371 974 180 308 28
+ -10000 339 441 47 117 92 179 358 996 43
+ -10000 290 613 148 545 350 692 743 168 322
+ -10000 188 491 928 386 286 28 394 342 884
+ -10000 2 984 892 519 6 565 902 909 116
+ -10000 955 452 394 923 598 503 33 809 695
+ -10000 183 971 68 21 720 45 162 872 454
+ -10000 419 866 921 439 842 881 426 105 395
+ -10000 310 349 997 525 337 151 299 260 337
+ -10000 90 436 468 188 437 972 358 290 709
+ -10000 146 813 684 76 273 150 938 591 801
+ -10000 817 121 308 308 482 201 161 619 39
+ -10000 324 912 455 227 272 539 583 789 700
+ -10000 551 438 889 935 975 867 218 487 101
+ -10000 757 802 119 119 75 897 349 223 660
+ -10000 696 356 486 708 869 244 133 199 814
+ -10000 579 240 559 575 230 705 58 495 820
+ -10000 952 39 814 621 966 982 625 165 710
+ -10000 138 513 164 832 601 279 346 794 792
+ -10000 837 763 807 667 157 352 233 735 341
+ -10000 570 563 900 81 933 621 178 665 566
+ -10000 992 305 415 782 431 380 424 555 457
+ -10000 810 598 520 524 171 741 706 909 782
+ -10000 699 178 177 780 983 389 206 354 529
+ -10000 246 402 486 404 750 664 572 615 378
+ -10000 706 652 882 512 990 981 819 156 118
+ -10000 582 390 97 460 88 506 482 892 621
+ -10000 330 723 920 759 39 165 295 301 372
+ -10000 863 390 771 199 524 397 603 980 872
+ -10000 864 921 782 680 832 653 36 159 544
+ -10000 914 575 843 101 888 502 433 195 956
+ -10000 87 235 325 714 646 686 75 943 666
+ -10000 740 315 35 970 422 558 357 725 422
+ -10000 630 203 715 60 178 309 739 279 383
+ -10000 838 754 302 938 429 270 499 663 387
+ -10000 955 632 571 734 592 604 366 77 458
+ -10000 313 992 685 425 406 275 87 322 729
+ -10000 780 874 490 55 71 198 266 585 814
+ -10000 132 762 645 379 729 535 45 278 538
+ -10000 79 778 374 292 589 428 572 975 481
+ -10000 781 405 448 980 354 776 469 721 525
+ -10000 247 300 426 856 312 95 5 700 224
+ -10000 826 978 805 785 7 2 538 696 619
+ -10000 599 803 795 716 458 340 623 259 659
+ -10000 561 400 392 618 276 250 932 408 99
+ -10000 440 145 798 286 378 723 212 207 521
+ -10000 85 980 151 383 338 436 815 807 382
+ -10000 895 622 397 309 705 502 132 76 878
+ -10000 66 402 320 421 296 234 873 960 35
+ -10000 152 966 332 237 558 756 956 571 697
+ -10000 469 575 830 426 33 484 648 368 957
+ -10000 615 448 320 640 666 141 605 387 522
+ -10000 430 443 291 250 923 955 948 677 168
+ -10000 218 778 924 538 827 343 137 117 477
+ -10000 843 130 698 68 180 881 904 315 449
+ -10000 889 890 87 240 41 675 862 328 610
+ -10000 546 320 118 229 608 216 409 95 353
+ -10000 73 237 707 513 390 0 705 463 14
+ -10000 137 10 315 789 295 994 61 277 977
+ -10000 163 421 254 922 620 61 516 706 48
+ -10000 993 960 253 387 358 256 665 581 238
+ -10000 224 91 420 815 854 637 389 694 254
+ -10000 297 486 316 156 126 221 571 680 464
+ -10000 377 607 34 221 6 193 977 3 656
+ -10000 102 914 623 576 179 39 336 582 301
+ -10000 77 696 605 247 867 716 663 892 374
+ -10000 471 298 427 591 745 428 258 387 15
+ -10000 826 362 286 436 616 898 810 453 995
+ -10000 321 160 924 904 264 238 12 946 341
+ -10000 367 665 998 176 940 240 747 750 559
+ -10000 990 286 417 565 446 919 783 930 909
+ -10000 79 612 716 957 430 453 701 859 661
+ -10000 687 869 442 778 16 106 55 57 951
+ -10000 943 585 306 931 72 801 906 677 328
+ -10000 134 839 312 11 419 831 789 317 543
+ -10000 499 439 441 807 45 240 633 77 696
+ -10000 314 846 378 225 505 797 143 115 275
+ -10000 941 313 729 98 433 447 342 131 746
+ -10000 932 408 614 175 83 688 559 393 464
+ -10000 491 844 392 317 460 216 257 40 452
+ -10000 833 880 4 656 685 742 343 466 754
+ -10000 673 959 449 268 492 75 70 161 919
+ -10000 950 540 471 217 96 679 647 463 747
+ -10000 149 946 523 623 78 71 198 669 582
+ -10000 829 74 115 927 190 930 19 766 145
+ -10000 305 377 351 761 136 497 316 768 261
+ -10000 980 965 166 953 959 859 585 368 597
+ -10000 469 392 170 81 935 662 72 995 482
+ -10000 99 79 835 134 62 552 626 966 918
+ -10000 632 421 784 88 524 712 729 260 262
+ -10000 721 965 414 413 288 244 165 382 835
+ -10000 946 519 320 490 106 744 680 34 239
+ -10000 124 453 571 258 500 96 643 49 710
+ -10000 403 11 542 265 536 936 740 269 778
+ -10000 38 283 495 854 243 354 416 791 241
+ -10000 295 25 447 772 826 293 911 276 963
+ -10000 826 18 855 839 164 23 43 216 679
+ -10000 296 655 67 392 996 761 210 989 543
+ -10000 297 69 202 130 754 501 78 986 310
+ -10000 703 571 287 628 18 198 275 581 926
+ -10000 998 805 180 888 127 55 21 957 992
+ -10000 201 784 911 686 459 832 890 836 566
+ -10000 816 124 864 426 663 599 922 453 933
+ -10000 810 860 804 324 134 847 937 627 928
+ -10000 263 431 350 455 896 812 273 360 296
+ -10000 389 470 56 881 464 131 117 201 145
+ -10000 778 734 484 135 324 724 36 995 655
+ -10000 87 434 59 159 503 705 650 390 943
+ -10000 844 316 965 497 103 604 923 222 864
+ -10000 135 343 584 596 756 376 311 306 771
+ -10000 955 802 655 477 81 498 799 673 322
+ -10000 855 647 999 448 883 412 230 94 438
+ -10000 401 117 963 949 566 720 903 929 255
+ -10000 705 642 711 625 183 880 317 50 169
+ -10000 574 189 416 718 895 848 669 991 533
+ -10000 919 412 587 18 252 389 832 960 221
+ -10000 624 659 141 311 860 796 626 377 422
+ -10000 934 329 579 809 504 2 953 997 93
+ -10000 859 258 362 291 255 35 875 272 240
+ -10000 408 374 862 773 8 509 921 180 25
+ -10000 409 19 203 542 953 297 14 893 331
+ -10000 171 341 638 664 476 497 837 796 254
+ -10000 544 96 940 360 80 376 718 633 164
+ -10000 444 378 268 0 716 903 513 491 314
+ -10000 95 206 472 218 743 611 438 274 190
+ -10000 60 40 627 214 692 463 679 439 306
+ -10000 64 568 414 61 586 324 763 486 210
+ -10000 408 313 668 588 119 898 868 651 755
+ -10000 81 652 898 695 505 199 560 810 103
+ -10000 55 352 226 745 487 580 687 642 881
+ -10000 507 736 843 26 138 670 863 709 529
+ -10000 713 373 323 980 925 711 16 108 600
+ -10000 87 13 802 917 768 864 375 759 492
+end
+maximize
+ 0 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000 -10000
+!adjacency
diff --git a/third_party/cddlib/examples/samplelp_big_dualinfeas.ine b/third_party/cddlib/examples/samplelp_big_dualinfeas.ine
new file mode 100644
index 0000000..08c6511
--- /dev/null
+++ b/third_party/cddlib/examples/samplelp_big_dualinfeas.ine
@@ -0,0 +1,9999 @@
+Dual Inconsistent LP
+H-representation
+begin
+  9991  10   integer
+ -10000 651 693 84 697 637 340 368 824 663
+ -10000 725 742 387 219 751 430 202 745 356
+ -10000 377 674 979 167 815 988 412 676 475
+ -10000 710 275 949 284 629 1 422 974 510
+ -10000 692 945 725 488 271 430 724 225 726
+ -10000 465 258 450 343 87 168 161 103 919
+ -10000 86 79 656 493 832 514 791 506 29
+ -10000 63 630 874 918 877 272 992 119 480
+ -10000 598 926 42 378 288 66 927 919 99
+ -10000 256 354 106 979 641 160 395 225 837
+ -10000 202 388 900 471 160 751 300 731 818
+ -10000 342 502 825 563 639 261 194 984 990
+ -10000 266 406 364 216 448 675 145 694 866
+ -10000 362 983 732 378 134 902 946 877 205
+ -10000 926 125 949 888 234 630 275 707 67
+ -10000 634 81 192 768 652 822 311 961 895
+ -10000 983 597 743 314 696 585 367 396 826
+ -10000 511 545 539 97 111 996 477 35 372
+ -10000 474 103 152 753 159 120 929 161 563
+ -10000 549 793 307 456 444 184 149 792 894
+ -10000 839 488 917 192 168 788 959 245 25
+ -10000 750 165 338 182 392 381 962 117 713
+ -10000 738 827 943 507 914 814 951 663 815
+ -10000 493 339 225 351 450 788 992 167 792
+ -10000 174 773 247 247 180 517 445 599 596
+ -10000 303 26 967 39 535 4 7 335 217
+ -10000 772 173 189 291 668 191 610 677 544
+ -10000 848 642 40 125 865 100 259 534 648
+ -10000 501 622 398 624 118 416 30 17 236
+ -10000 218 602 697 892 322 314 361 573 985
+ -10000 958 856 608 492 563 478 311 614 740
+ -10000 582 913 938 949 715 338 39 726 998
+ -10000 521 805 708 221 624 316 24 127 322
+ -10000 491 189 412 774 418 200 193 633 315
+ -10000 144 679 383 447 989 939 441 631 482
+ -10000 940 241 153 215 149 457 254 207 125
+ -10000 80 873 207 904 684 600 940 431 825
+ -10000 75 100 353 637 432 377 940 758 164
+ -10000 627 721 915 710 8 786 96 17 576
+ -10000 247 104 607 432 540 164 597 282 317
+ -10000 553 787 881 942 152 318 44 509 518
+ -10000 181 772 942 993 916 900 713 694 812
+ -10000 625 26 638 261 385 196 676 717 572
+ -10000 11 911 296 761 658 631 757 817 400
+ -10000 964 989 879 491 490 751 490 97 405
+ -10000 28 461 343 452 480 504 411 242 892
+ -10000 768 746 347 352 724 487 185 767 287
+ -10000 924 228 958 554 352 460 765 742 430
+ -10000 737 986 499 993 721 29 821 416 813
+ -10000 483 458 249 781 584 321 779 209 570
+ -10000 222 166 975 53 765 256 859 469 164
+ -10000 82 696 181 166 375 145 415 496 261
+ -10000 540 309 526 918 439 489 846 417 775
+ -10000 699 145 327 873 467 866 711 393 603
+ -10000 445 668 729 224 654 970 279 789 680
+ -10000 28 659 365 306 186 520 427 176 191
+ -10000 919 58 859 436 105 35 560 716 14
+ -10000 641 238 340 524 205 255 272 14 472
+ -10000 817 22 904 782 573 847 649 100 280
+ -10000 925 277 930 495 736 960 276 726 657
+ -10000 336 54 357 979 941 765 593 630 286
+ -10000 65 113 104 915 222 158 580 520 188
+ -10000 42 617 904 414 588 857 416 94 988
+ -10000 716 49 849 67 607 99 934 184 217
+ -10000 458 32 500 552 108 980 255 998 935
+ -10000 860 936 115 268 231 281 948 209 766
+ -10000 293 330 940 570 857 421 574 481 364
+ -10000 959 949 372 757 306 757 752 312 137
+ -10000 769 303 737 260 187 695 946 723 433
+ -10000 980 564 605 363 776 893 558 616 603
+ -10000 945 23 632 820 54 677 795 616 625
+ -10000 629 692 585 33 674 703 304 489 949
+ -10000 52 903 723 746 692 232 917 933 211
+ -10000 367 566 364 318 607 818 424 234 605
+ -10000 915 305 354 829 469 447 925 188 799
+ -10000 387 596 946 888 751 614 539 295 299
+ -10000 969 902 10 739 289 923 808 28 151
+ -10000 537 152 546 442 182 301 258 265 762
+ -10000 671 288 343 199 694 391 457 947 250
+ -10000 415 734 423 435 696 111 53 227 784
+ -10000 800 992 720 76 40 419 608 182 683
+ -10000 619 627 278 526 453 960 772 992 86
+ -10000 836 623 0 21 371 4 676 964 658
+ -10000 258 677 64 968 62 219 587 308 299
+ -10000 224 823 258 449 575 526 908 585 405
+ -10000 593 660 663 341 36 79 50 242 293
+ -10000 80 761 270 460 82 133 874 559 41
+ -10000 169 539 257 827 222 743 873 929 523
+ -10000 403 167 259 377 76 160 749 448 902
+ -10000 290 5 276 509 342 909 193 443 552
+ -10000 928 326 757 405 598 765 143 833 150
+ -10000 980 57 636 651 219 232 88 486 918
+ -10000 497 765 499 464 558 377 2 973 249
+ -10000 515 282 55 576 464 532 575 180 363
+ -10000 364 958 202 876 867 738 626 474 998
+ -10000 568 905 231 136 80 320 525 113 263
+ -10000 544 823 341 402 593 289 248 928 649
+ -10000 933 338 757 771 671 811 610 138 31
+ -10000 460 185 660 628 321 350 46 944 444
+ -10000 71 824 884 313 938 572 685 825 382
+ -10000 793 750 63 112 309 360 490 435 964
+ -10000 78 228 800 657 708 3 806 551 738
+ -10000 940 612 1000 136 897 98 301 169 453
+ -10000 622 731 111 813 606 90 909 272 319
+ -10000 86 544 118 257 317 831 90 817 236
+ -10000 585 919 232 848 794 806 343 335 829
+ -10000 377 606 349 399 913 171 571 616 800
+ -10000 682 428 30 101 974 945 600 399 502
+ -10000 296 793 418 28 591 660 445 26 496
+ -10000 387 389 533 927 500 96 946 191 298
+ -10000 585 201 36 877 289 768 485 248 593
+ -10000 811 70 801 255 538 112 190 464 880
+ -10000 140 329 863 237 44 600 946 766 472
+ -10000 288 987 463 359 777 245 559 75 584
+ -10000 599 918 820 636 458 477 884 249 324
+ -10000 268 669 503 151 851 965 12 962 421
+ -10000 886 810 370 680 300 192 160 41 978
+ -10000 911 866 827 610 267 579 728 735 865
+ -10000 812 307 646 415 323 865 727 419 825
+ -10000 907 515 473 962 463 617 10 295 380
+ -10000 195 257 576 495 533 872 756 930 963
+ -10000 600 87 210 845 983 743 853 67 647
+ -10000 917 353 7 655 892 882 266 922 414
+ -10000 183 740 375 18 710 301 952 62 442
+ -10000 266 287 679 727 674 681 493 782 785
+ -10000 405 399 10 102 193 816 763 67 188
+ -10000 379 904 872 592 812 505 532 332 293
+ -10000 799 767 946 648 329 915 94 208 947
+ -10000 325 157 957 330 115 669 488 876 388
+ -10000 347 600 60 885 372 10 932 71 662
+ -10000 126 27 782 868 129 796 249 129 961
+ -10000 47 758 192 754 275 38 979 817 851
+ -10000 343 571 331 621 971 777 476 748 674
+ -10000 809 899 306 498 353 605 388 830 537
+ -10000 738 956 364 819 546 568 806 391 634
+ -10000 485 24 645 86 748 685 599 771 910
+ -10000 180 446 81 859 355 361 268 563 185
+ -10000 690 786 940 318 90 910 439 711 321
+ -10000 402 465 459 973 442 263 985 935 412
+ -10000 263 51 654 405 989 273 463 954 598
+ -10000 426 464 295 965 676 968 904 405 986
+ -10000 685 420 652 710 156 848 86 802 138
+ -10000 544 708 753 677 881 507 438 209 797
+ -10000 968 104 528 84 650 955 414 654 177
+ -10000 883 177 230 921 38 263 134 11 371
+ -10000 706 7 105 771 148 739 88 619 428
+ -10000 500 411 938 101 40 321 140 14 599
+ -10000 769 211 579 855 310 475 194 796 195
+ -10000 292 516 654 968 875 866 394 544 637
+ -10000 356 145 384 307 242 837 335 95 863
+ -10000 342 354 470 826 726 878 987 660 800
+ -10000 767 658 978 534 588 387 297 231 130
+ -10000 88 21 710 369 618 685 551 520 677
+ -10000 73 398 733 465 628 452 106 179 482
+ -10000 131 908 760 799 67 598 274 260 796
+ -10000 481 617 828 798 996 323 657 858 158
+ -10000 701 692 978 258 527 187 524 639 326
+ -10000 348 290 514 805 91 926 644 230 188
+ -10000 79 946 505 743 681 936 190 474 934
+ -10000 843 150 316 559 631 261 458 868 685
+ -10000 193 793 226 49 488 768 853 955 301
+ -10000 205 459 596 58 816 18 367 744 981
+ -10000 238 33 698 381 183 602 418 65 236
+ -10000 811 797 577 102 538 447 403 444 379
+ -10000 837 971 600 411 389 971 962 376 357
+ -10000 452 154 338 712 682 676 785 945 194
+ -10000 310 679 608 871 620 687 724 220 134
+ -10000 632 150 799 565 737 689 170 207 45
+ -10000 14 189 90 397 287 917 307 108 806
+ -10000 143 730 654 241 266 401 526 921 4
+ -10000 605 264 55 155 939 701 690 305 628
+ -10000 415 26 454 957 161 334 187 629 402
+ -10000 63 253 610 926 670 625 601 943 11
+ -10000 310 649 405 751 100 358 139 32 3
+ -10000 808 256 663 357 994 725 640 522 117
+ -10000 969 618 817 528 267 975 47 534 291
+ -10000 996 941 661 798 722 636 701 991 106
+ -10000 241 5 42 477 245 775 773 625 591
+ -10000 443 238 944 397 908 720 259 554 763
+ -10000 332 237 839 679 166 929 480 234 416
+ -10000 748 413 366 515 22 530 625 75 63
+ -10000 789 656 197 145 128 99 620 704 58
+ -10000 530 794 202 273 724 41 956 798 201
+ -10000 360 503 723 593 121 214 415 298 367
+ -10000 650 928 97 805 461 199 950 43 679
+ -10000 989 697 970 220 5 815 346 916 628
+ -10000 765 568 582 330 894 230 650 206 865
+ -10000 734 446 138 485 471 991 531 119 78
+ -10000 393 203 321 395 750 634 400 280 223
+ -10000 802 246 336 600 995 171 254 492 113
+ -10000 993 419 160 353 267 413 573 479 823
+ -10000 670 105 823 362 489 965 826 96 289
+ -10000 695 401 876 118 749 9 446 122 1
+ -10000 454 428 778 515 327 127 287 45 156
+ -10000 277 677 575 415 230 219 324 243 510
+ -10000 821 212 232 919 958 314 193 398 339
+ -10000 774 927 394 573 176 432 850 810 271
+ -10000 64 420 574 969 819 40 320 543 988
+ -10000 712 942 387 70 129 211 245 990 147
+ -10000 321 292 31 875 675 150 121 721 898
+ -10000 424 509 850 565 59 54 290 545 690
+ -10000 491 16 78 354 936 326 573 679 26
+ -10000 65 159 284 948 748 688 747 282 904
+ -10000 505 688 153 449 464 397 677 560 885
+ -10000 998 272 175 516 854 256 658 643 811
+ -10000 608 944 450 473 55 276 718 665 912
+ -10000 410 450 712 520 618 1 640 653 36
+ -10000 671 858 795 275 471 974 949 997 991
+ -10000 984 488 767 4 400 719 946 238 559
+ -10000 419 380 266 969 41 533 560 251 819
+ -10000 797 69 963 37 455 940 899 937 942
+ -10000 925 286 674 70 609 419 62 546 962
+ -10000 20 747 680 680 313 563 953 703 473
+ -10000 532 399 212 682 8 769 794 165 378
+ -10000 78 363 76 494 977 380 91 433 490
+ -10000 904 741 364 962 123 33 511 141 148
+ -10000 673 669 20 381 205 311 231 169 519
+ -10000 539 517 201 354 927 525 499 568 119
+ -10000 474 448 888 207 674 179 960 963 345
+ -10000 577 520 368 590 615 460 365 560 59
+ -10000 90 892 791 939 581 913 510 597 600
+ -10000 759 403 402 489 894 159 165 211 107
+ -10000 39 505 741 603 829 405 426 772 949
+ -10000 95 75 480 14 943 784 704 364 797
+ -10000 221 48 785 941 710 663 837 873 948
+ -10000 576 865 485 12 387 404 217 92 584
+ -10000 189 134 496 752 863 182 513 619 414
+ -10000 1 360 747 226 62 550 119 906 186
+ -10000 190 643 774 732 479 187 198 454 829
+ -10000 618 966 298 93 43 58 855 427 801
+ -10000 604 678 584 422 1 814 476 948 330
+ -10000 967 718 957 487 509 582 247 534 721
+ -10000 780 366 528 829 153 177 74 429 204
+ -10000 814 828 71 549 868 266 394 855 380
+ -10000 709 222 827 265 441 583 680 717 922
+ -10000 126 596 700 40 643 887 610 727 170
+ -10000 243 168 340 114 663 21 802 665 775
+ -10000 839 708 980 836 280 24 971 945 274
+ -10000 301 47 70 613 970 382 762 675 881
+ -10000 777 916 674 551 497 979 511 398 199
+ -10000 125 844 5 832 153 739 85 135 74
+ -10000 609 447 233 891 524 729 553 191 703
+ -10000 465 39 655 692 782 163 562 386 416
+ -10000 809 291 321 702 744 815 218 845 936
+ -10000 724 608 161 45 161 258 703 409 856
+ -10000 755 603 220 9 49 91 985 479 832
+ -10000 155 574 242 379 298 763 697 82 210
+ -10000 388 287 783 999 428 625 887 942 687
+ -10000 105 403 535 523 600 620 211 412 141
+ -10000 693 999 554 26 428 361 576 273 527
+ -10000 71 197 936 543 176 71 996 196 497
+ -10000 801 596 352 228 131 114 796 427 184
+ -10000 4 982 932 606 343 380 468 325 115
+ -10000 367 432 482 699 315 580 413 902 230
+ -10000 438 920 614 517 468 915 341 622 596
+ -10000 709 110 768 699 424 943 993 295 399
+ -10000 700 407 369 384 719 532 128 473 753
+ -10000 137 662 132 845 631 832 838 84 51
+ -10000 456 189 318 257 828 561 65 64 878
+ -10000 813 512 935 275 775 361 416 658 602
+ -10000 658 168 573 358 670 417 911 489 668
+ -10000 859 215 499 376 862 244 332 935 912
+ -10000 732 47 545 84 628 941 916 498 185
+ -10000 827 540 32 267 31 722 427 405 66
+ -10000 607 806 139 261 825 533 52 853 322
+ -10000 37 500 336 873 677 267 649 472 523
+ -10000 305 609 829 108 674 900 859 854 138
+ -10000 957 85 196 43 289 72 891 335 539
+ -10000 280 124 918 15 378 855 534 322 450
+ -10000 728 500 341 953 879 251 821 653 38
+ -10000 515 962 374 238 729 828 174 54 751
+ -10000 524 38 201 115 426 791 903 631 687
+ -10000 926 877 370 415 216 697 111 217 844
+ -10000 335 296 626 805 977 232 700 222 680
+ -10000 817 819 455 184 593 658 908 662 932
+ -10000 260 101 482 639 761 829 521 89 597
+ -10000 6 313 603 589 446 684 46 261 737
+ -10000 471 579 858 376 24 850 404 941 726
+ -10000 154 163 624 975 348 594 920 656 132
+ -10000 650 833 14 908 95 924 689 34 40
+ -10000 670 133 613 190 549 951 479 441 406
+ -10000 644 985 618 552 392 327 194 943 576
+ -10000 285 930 830 986 395 307 85 181 44
+ -10000 731 276 80 290 189 801 614 814 0
+ -10000 263 543 515 818 275 619 734 356 894
+ -10000 239 88 811 540 560 659 498 612 6
+ -10000 800 773 373 656 443 790 755 144 443
+ -10000 325 34 701 682 592 510 818 359 443
+ -10000 832 924 128 853 278 886 890 727 876
+ -10000 621 177 289 770 229 477 674 828 263
+ -10000 714 399 744 404 27 580 908 226 533
+ -10000 488 404 145 709 933 348 544 191 422
+ -10000 832 636 161 77 825 767 44 249 201
+ -10000 378 129 771 642 172 887 613 868 514
+ -10000 66 675 772 371 865 884 980 509 751
+ -10000 315 97 563 67 880 82 385 938 189
+ -10000 586 98 853 329 936 214 81 443 410
+ -10000 863 525 731 217 132 220 461 400 758
+ -10000 89 701 972 83 708 997 117 163 236
+ -10000 279 336 901 306 840 69 888 985 115
+ -10000 123 407 876 598 435 916 582 83 919
+ -10000 465 724 347 92 729 69 417 726 997
+ -10000 311 951 103 534 40 383 892 174 283
+ -10000 925 318 660 503 184 437 827 432 758
+ -10000 353 992 318 736 49 129 479 555 974
+ -10000 968 934 901 356 457 378 723 728 31
+ -10000 756 542 333 875 368 296 439 678 459
+ -10000 852 30 83 554 385 400 628 394 669
+ -10000 482 263 642 894 582 443 619 552 487
+ -10000 230 174 916 494 410 290 800 239 761
+ -10000 934 714 991 552 560 743 372 360 872
+ -10000 680 603 941 47 960 90 290 291 493
+ -10000 4 327 310 427 40 664 850 771 638
+ -10000 670 615 829 710 475 892 365 403 456
+ -10000 237 223 448 648 408 203 641 895 557
+ -10000 848 699 459 582 803 831 456 277 520
+ -10000 78 110 86 982 390 676 922 426 594
+ -10000 523 43 849 930 154 86 837 165 806
+ -10000 962 781 767 664 547 343 949 919 704
+ -10000 224 827 449 146 330 400 460 180 120
+ -10000 163 199 168 905 426 838 224 592 930
+ -10000 974 614 370 10 127 323 406 212 78
+ -10000 63 166 10 439 209 309 430 596 619
+ -10000 487 237 503 777 148 647 738 507 328
+ -10000 974 785 754 289 6 798 503 605 687
+ -10000 613 442 792 251 171 881 712 183 886
+ -10000 43 720 992 751 794 399 548 694 839
+ -10000 691 503 6 753 465 712 381 580 951
+ -10000 552 980 372 415 742 398 864 602 751
+ -10000 906 549 268 940 158 242 800 43 232
+ -10000 141 725 782 190 889 387 206 581 672
+ -10000 462 63 606 832 886 457 505 190 870
+ -10000 943 199 98 85 805 829 757 953 36
+ -10000 776 557 35 59 315 818 683 254 95
+ -10000 414 618 584 412 966 319 463 191 960
+ -10000 526 692 416 784 782 28 141 3 491
+ -10000 222 57 843 620 197 418 250 994 584
+ -10000 721 759 740 416 178 346 260 175 814
+ -10000 961 570 724 587 122 655 434 813 434
+ -10000 930 547 517 203 497 862 351 27 100
+ -10000 609 394 380 627 829 294 901 729 251
+ -10000 666 81 30 301 289 815 454 290 863
+ -10000 506 892 266 157 283 233 893 796 818
+ -10000 314 288 597 241 80 60 457 357 722
+ -10000 522 368 599 884 359 895 603 380 6
+ -10000 655 423 848 815 559 58 325 947 583
+ -10000 656 192 895 488 209 851 609 539 759
+ -10000 477 466 478 303 140 742 113 220 290
+ -10000 888 444 417 518 856 62 110 116 340
+ -10000 521 123 140 869 89 88 930 921 152
+ -10000 225 124 317 101 347 423 979 369 437
+ -10000 221 692 957 740 226 372 45 919 468
+ -10000 777 371 369 253 284 347 701 562 63
+ -10000 297 329 254 15 186 127 870 664 821
+ -10000 522 739 130 764 966 283 559 510 148
+ -10000 114 438 286 193 260 238 77 832 466
+ -10000 739 438 29 1000 982 465 344 581 918
+ -10000 154 423 776 339 758 515 108 374 911
+ -10000 944 116 706 537 652 159 36 992 487
+ -10000 677 715 596 795 425 122 139 555 295
+ -10000 185 29 176 676 725 558 637 886 401
+ -10000 557 63 497 622 524 844 169 581 249
+ -10000 767 992 870 655 407 430 269 577 127
+ -10000 408 137 880 87 864 660 111 933 927
+ -10000 62 458 173 928 232 63 95 398 576
+ -10000 230 93 218 122 826 919 457 555 127
+ -10000 393 722 987 10 339 371 522 488 726
+ -10000 721 561 753 873 215 282 550 392 501
+ -10000 812 98 711 668 120 99 881 294 782
+ -10000 965 87 290 940 198 542 415 258 308
+ -10000 335 37 287 681 645 607 777 361 137
+ -10000 686 965 639 569 512 462 729 794 305
+ -10000 0 487 765 682 220 841 527 394 400
+ -10000 327 838 684 820 209 360 734 783 112
+ -10000 420 279 911 682 952 625 784 98 276
+ -10000 925 805 865 538 983 614 181 103 630
+ -10000 170 724 535 985 493 933 554 474 837
+ -10000 877 478 730 336 991 987 156 19 837
+ -10000 663 486 118 1000 567 185 472 853 600
+ -10000 99 335 973 189 216 226 222 581 704
+ -10000 593 78 743 454 65 897 915 163 792
+ -10000 691 929 146 584 892 45 503 81 106
+ -10000 428 139 773 994 637 32 436 766 857
+ -10000 906 299 774 574 164 340 164 198 678
+ -10000 909 421 766 147 581 838 423 214 200
+ -10000 229 216 46 388 351 492 435 72 659
+ -10000 500 519 341 315 353 262 685 460 980
+ -10000 759 207 690 137 881 949 178 166 207
+ -10000 699 955 894 989 742 640 471 357 461
+ -10000 749 497 162 886 747 995 437 87 867
+ -10000 202 334 261 579 831 611 945 735 818
+ -10000 913 536 861 129 862 52 229 311 394
+ -10000 702 364 970 804 521 561 413 767 954
+ -10000 52 95 430 621 534 141 849 417 266
+ -10000 355 418 452 858 680 639 56 86 750
+ -10000 866 893 515 457 675 638 921 727 256
+ -10000 963 676 985 348 689 935 480 734 393
+ -10000 554 201 934 395 54 20 973 338 39
+ -10000 973 175 566 241 842 810 618 531 63
+ -10000 56 863 727 459 805 309 911 490 557
+ -10000 626 674 606 396 53 174 742 302 67
+ -10000 533 700 854 488 110 765 755 444 261
+ -10000 248 925 148 290 641 419 745 702 695
+ -10000 467 132 531 788 930 605 573 271 852
+ -10000 115 478 588 726 326 150 669 996 149
+ -10000 538 755 822 678 182 18 922 322 746
+ -10000 999 924 538 552 915 942 503 940 947
+ -10000 276 843 89 451 726 376 991 866 656
+ -10000 362 397 400 309 36 984 983 31 298
+ -10000 148 74 756 899 271 609 405 914 943
+ -10000 296 528 152 450 94 608 487 38 424
+ -10000 350 909 313 892 890 131 574 381 308
+ -10000 942 774 454 972 878 1000 103 768 72
+ -10000 25 285 101 386 171 493 748 6 502
+ -10000 872 6 346 520 984 329 138 223 21
+ -10000 783 473 225 987 422 373 943 489 406
+ -10000 570 105 238 610 438 959 960 733 489
+ -10000 872 633 936 196 102 865 938 554 988
+ -10000 324 64 345 495 655 471 43 402 816
+ -10000 725 662 302 323 157 68 120 738 7
+ -10000 890 538 335 191 815 658 632 339 801
+ -10000 368 624 94 716 108 298 248 125 257
+ -10000 410 688 540 500 877 355 688 863 559
+ -10000 431 925 33 538 412 324 375 762 883
+ -10000 91 183 611 336 231 500 430 111 465
+ -10000 473 446 616 519 958 336 652 421 586
+ -10000 832 5 520 334 517 372 402 580 531
+ -10000 357 509 770 408 446 125 992 863 293
+ -10000 658 810 500 106 610 912 567 809 880
+ -10000 627 284 994 146 880 927 378 921 624
+ -10000 102 427 183 552 999 370 384 703 919
+ -10000 545 999 931 458 857 136 236 34 583
+ -10000 634 808 295 405 457 179 980 398 167
+ -10000 486 221 267 397 973 110 763 426 645
+ -10000 604 747 587 465 590 274 842 58 697
+ -10000 465 674 430 771 856 468 922 264 844
+ -10000 257 148 797 342 561 517 962 445 799
+ -10000 157 680 235 588 446 36 765 288 153
+ -10000 480 26 227 969 296 52 663 765 444
+ -10000 431 938 843 649 454 437 806 134 322
+ -10000 736 546 631 282 358 27 13 877 25
+ -10000 509 591 742 972 128 465 773 75 781
+ -10000 58 277 946 643 941 435 756 764 491
+ -10000 400 324 335 765 174 769 805 869 115
+ -10000 836 64 787 26 305 799 982 356 842
+ -10000 673 484 85 192 836 812 390 519 399
+ -10000 83 371 476 15 871 626 296 321 455
+ -10000 132 573 791 780 193 695 971 415 535
+ -10000 378 716 202 199 584 133 724 385 853
+ -10000 171 782 26 734 766 848 57 999 595
+ -10000 476 468 1000 931 928 289 716 899 515
+ -10000 91 2 318 310 703 734 829 237 238
+ -10000 812 857 569 388 812 700 349 326 814
+ -10000 68 228 321 500 277 631 486 826 741
+ -10000 73 647 889 459 181 529 837 708 523
+ -10000 491 994 263 266 869 676 837 355 241
+ -10000 189 913 734 585 182 242 390 392 218
+ -10000 54 762 67 363 28 164 238 927 356
+ -10000 276 600 910 155 335 834 366 683 928
+ -10000 11 702 747 253 769 392 848 165 698
+ -10000 628 352 533 426 586 929 238 246 963
+ -10000 484 901 746 490 95 905 287 703 137
+ -10000 126 390 784 235 180 633 60 851 463
+ -10000 424 906 421 940 762 565 75 537 729
+ -10000 650 369 81 521 876 806 585 117 272
+ -10000 658 742 523 157 998 378 316 362 515
+ -10000 771 794 418 649 817 129 416 571 269
+ -10000 717 748 37 345 170 836 587 732 850
+ -10000 504 744 493 889 184 318 886 571 874
+ -10000 509 996 251 107 703 506 475 906 261
+ -10000 878 325 283 48 756 362 792 555 539
+ -10000 535 160 470 335 918 803 845 936 377
+ -10000 704 864 128 173 672 199 307 59 879
+ -10000 772 942 278 870 373 488 186 487 76
+ -10000 607 848 602 226 28 758 606 922 215
+ -10000 194 184 409 79 239 366 396 827 53
+ -10000 713 20 512 801 206 186 938 510 914
+ -10000 245 351 404 3 495 918 621 978 322
+ -10000 675 104 375 731 866 461 36 174 907
+ -10000 389 733 795 911 446 64 374 446 411
+ -10000 344 79 538 9 140 631 665 975 440
+ -10000 921 20 889 378 822 889 10 832 876
+ -10000 211 287 387 333 73 942 628 215 90
+ -10000 163 966 16 122 355 926 73 511 45
+ -10000 572 424 655 204 880 792 61 724 984
+ -10000 441 890 747 63 914 972 701 300 821
+ -10000 402 526 499 770 291 424 426 900 57
+ -10000 887 391 854 95 798 310 28 4 796
+ -10000 747 513 888 87 856 571 841 856 580
+ -10000 568 915 643 355 897 517 732 183 570
+ -10000 304 273 612 857 325 1 783 485 622
+ -10000 661 341 394 221 79 553 238 305 905
+ -10000 888 951 432 66 433 145 150 515 343
+ -10000 696 764 693 75 270 448 849 311 372
+ -10000 304 823 228 358 842 23 590 977 953
+ -10000 396 676 481 128 756 622 131 425 228
+ -10000 643 763 803 725 79 971 775 221 418
+ -10000 799 577 77 795 243 593 899 255 463
+ -10000 963 891 231 582 491 787 281 773 2
+ -10000 724 978 280 112 909 886 607 97 974
+ -10000 540 45 314 187 230 538 767 285 435
+ -10000 452 859 661 19 500 674 490 244 150
+ -10000 359 712 94 302 727 49 812 446 466
+ -10000 269 356 853 869 951 563 719 760 33
+ -10000 524 508 19 788 346 479 918 714 182
+ -10000 905 886 491 372 423 217 347 595 710
+ -10000 134 508 1000 623 507 512 449 179 166
+ -10000 904 937 370 571 408 926 985 122 444
+ -10000 475 867 866 941 975 829 276 585 257
+ -10000 200 868 757 356 366 811 476 586 641
+ -10000 793 232 101 310 71 147 951 362 900
+ -10000 213 312 97 562 684 86 434 206 226
+ -10000 705 798 971 909 145 255 506 769 865
+ -10000 66 552 246 113 596 280 787 324 308
+ -10000 702 615 675 640 530 188 170 224 90
+ -10000 710 442 211 629 727 89 399 941 801
+ -10000 981 289 737 110 391 734 982 712 878
+ -10000 613 32 49 696 142 835 837 196 155
+ -10000 212 414 718 591 979 487 336 771 665
+ -10000 496 921 883 271 372 585 139 778 26
+ -10000 218 29 86 846 507 43 484 213 523
+ -10000 869 861 355 542 486 511 792 215 304
+ -10000 686 872 153 128 523 770 712 612 70
+ -10000 744 71 434 244 279 878 687 107 884
+ -10000 917 407 320 251 742 877 185 309 258
+ -10000 988 122 873 636 818 515 986 527 966
+ -10000 50 328 462 594 734 122 212 928 869
+ -10000 8 866 167 94 229 108 882 210 541
+ -10000 737 167 381 152 994 294 159 865 486
+ -10000 743 507 613 800 303 5 77 263 616
+ -10000 238 398 842 398 628 894 405 733 22
+ -10000 523 903 169 209 951 21 794 630 784
+ -10000 753 680 52 667 959 244 395 35 628
+ -10000 0 962 410 501 540 632 712 529 366
+ -10000 318 543 656 847 249 519 871 109 996
+ -10000 780 286 26 763 613 653 265 323 730
+ -10000 299 792 896 14 595 72 886 199 106
+ -10000 411 647 280 484 399 586 182 381 406
+ -10000 989 372 242 171 990 789 923 811 378
+ -10000 163 493 589 510 921 604 671 158 525
+ -10000 870 673 238 628 778 308 767 853 997
+ -10000 531 479 449 632 750 717 837 703 189
+ -10000 119 555 868 624 436 843 785 690 803
+ -10000 730 135 333 381 565 139 586 546 17
+ -10000 542 317 690 920 101 275 506 952 585
+ -10000 401 114 979 317 569 780 912 521 907
+ -10000 894 318 255 943 199 564 269 882 218
+ -10000 655 859 872 234 966 587 957 62 960
+ -10000 764 275 255 41 112 242 167 625 289
+ -10000 175 617 133 913 553 890 754 697 558
+ -10000 785 6 46 236 99 700 292 880 693
+ -10000 423 540 654 956 158 703 274 969 569
+ -10000 975 42 809 397 308 62 868 92 414
+ -10000 418 782 443 816 876 657 232 582 933
+ -10000 966 86 835 887 810 807 678 224 956
+ -10000 163 143 195 861 805 100 943 862 760
+ -10000 730 369 236 430 948 902 690 407 409
+ -10000 239 1000 97 821 997 528 156 596 19
+ -10000 935 665 966 9 692 355 251 396 848
+ -10000 654 257 72 372 799 361 410 320 591
+ -10000 281 297 345 94 78 694 956 118 512
+ -10000 860 467 276 198 235 570 646 389 565
+ -10000 812 761 219 767 16 633 982 55 610
+ -10000 306 456 632 928 712 802 185 824 694
+ -10000 136 47 274 840 93 350 787 424 132
+ -10000 323 151 671 25 370 317 578 139 680
+ -10000 613 401 46 883 66 259 962 300 52
+ -10000 748 796 873 686 739 543 476 426 989
+ -10000 668 873 813 278 167 579 956 340 285
+ -10000 640 294 152 294 719 443 703 912 45
+ -10000 982 399 899 985 244 214 128 102 801
+ -10000 144 301 901 322 720 784 91 182 689
+ -10000 489 664 556 509 629 362 23 359 791
+ -10000 385 166 871 677 482 16 739 151 718
+ -10000 802 789 112 697 372 550 130 356 210
+ -10000 528 252 672 480 593 137 110 709 286
+ -10000 402 620 111 672 356 805 78 100 214
+ -10000 872 530 881 283 686 990 65 693 220
+ -10000 268 180 366 178 829 138 315 59 642
+ -10000 768 106 812 117 64 173 290 878 203
+ -10000 112 431 664 468 35 498 522 333 786
+ -10000 875 67 677 694 961 961 467 759 687
+ -10000 555 392 903 174 45 199 865 320 644
+ -10000 236 362 316 704 639 712 2 335 904
+ -10000 851 978 759 53 515 185 694 585 846
+ -10000 762 324 229 914 60 381 332 307 532
+ -10000 914 764 492 822 221 626 360 877 424
+ -10000 287 201 400 73 938 181 839 774 503
+ -10000 807 329 303 136 21 845 856 813 723
+ -10000 176 954 715 53 530 516 665 609 481
+ -10000 991 746 755 207 706 612 185 229 681
+ -10000 499 97 944 31 164 872 885 266 838
+ -10000 400 21 617 377 188 861 464 208 687
+ -10000 364 618 369 481 943 537 862 791 56
+ -10000 51 339 799 512 362 271 288 810 200
+ -10000 730 487 59 404 72 630 594 257 653
+ -10000 149 775 152 63 204 304 732 899 164
+ -10000 124 430 8 770 693 131 991 991 327
+ -10000 256 643 881 146 528 365 542 380 407
+ -10000 700 265 737 532 78 549 808 785 558
+ -10000 352 134 433 539 587 514 97 806 579
+ -10000 714 432 7 808 193 102 836 859 43
+ -10000 461 12 763 20 265 189 704 328 158
+ -10000 482 344 986 207 355 622 728 287 102
+ -10000 700 910 209 75 767 502 125 686 454
+ -10000 65 756 637 182 244 936 373 981 60
+ -10000 832 734 48 709 828 117 114 857 801
+ -10000 113 106 438 196 45 840 133 855 69
+ -10000 677 462 425 808 722 803 482 399 211
+ -10000 580 537 141 79 808 357 774 575 883
+ -10000 772 68 19 58 10 136 544 714 64
+ -10000 663 922 691 993 100 520 861 613 368
+ -10000 443 580 403 635 688 456 794 552 160
+ -10000 302 654 965 865 25 407 766 184 45
+ -10000 804 195 407 409 53 206 88 961 175
+ -10000 39 35 793 297 761 124 48 791 356
+ -10000 908 415 796 42 990 195 200 247 255
+ -10000 981 980 262 37 429 575 596 260 786
+ -10000 145 976 497 469 949 276 664 730 468
+ -10000 18 806 997 350 424 545 124 443 548
+ -10000 162 244 179 820 709 866 720 995 901
+ -10000 369 78 227 293 57 211 279 883 452
+ -10000 168 329 930 325 301 318 99 119 314
+ -10000 627 478 683 988 943 977 8 786 205
+ -10000 62 745 344 291 474 641 211 515 737
+ -10000 936 204 729 364 793 241 828 471 682
+ -10000 862 578 240 684 144 301 209 910 74
+ -10000 366 309 999 240 67 374 367 44 384
+ -10000 405 262 944 231 706 19 866 61 714
+ -10000 573 645 285 517 746 321 6 152 389
+ -10000 106 160 928 219 448 15 224 104 604
+ -10000 246 921 190 279 776 70 943 199 341
+ -10000 300 354 122 912 222 548 126 110 312
+ -10000 291 129 972 113 860 32 973 669 590
+ -10000 310 862 713 392 130 30 60 155 330
+ -10000 967 689 369 972 841 811 216 340 849
+ -10000 475 635 434 664 514 155 687 569 956
+ -10000 339 538 828 685 873 855 466 704 587
+ -10000 356 106 734 65 596 548 638 80 478
+ -10000 75 748 492 642 807 470 245 298 559
+ -10000 603 516 737 957 546 383 821 425 880
+ -10000 473 648 866 1000 880 175 717 438 753
+ -10000 886 75 763 210 802 938 36 26 344
+ -10000 109 195 943 419 447 763 212 960 826
+ -10000 566 771 617 703 681 368 195 771 361
+ -10000 585 110 985 405 802 53 665 621 602
+ -10000 276 266 287 409 515 929 534 204 170
+ -10000 401 363 232 672 316 679 982 784 407
+ -10000 290 90 243 986 297 269 399 862 855
+ -10000 310 775 555 234 286 665 993 155 151
+ -10000 741 568 996 590 27 891 268 409 544
+ -10000 105 291 87 384 546 771 323 75 865
+ -10000 276 607 58 704 981 589 784 957 179
+ -10000 162 552 292 654 302 953 303 818 260
+ -10000 192 709 196 275 849 54 91 223 610
+ -10000 895 336 37 620 834 167 640 80 463
+ -10000 82 646 520 663 170 726 188 884 543
+ -10000 789 6 347 648 379 863 111 278 568
+ -10000 921 838 288 416 998 60 22 424 358
+ -10000 872 701 841 573 267 748 7 144 837
+ -10000 362 517 440 701 167 254 49 360 306
+ -10000 993 178 447 825 541 669 909 159 411
+ -10000 557 691 111 147 105 925 847 144 794
+ -10000 604 452 579 131 891 423 27 386 86
+ -10000 615 916 853 595 978 125 632 924 965
+ -10000 876 610 325 907 910 237 660 634 410
+ -10000 806 370 162 438 834 138 526 96 731
+ -10000 614 938 732 815 35 197 658 124 475
+ -10000 872 219 1 766 419 834 167 900 109
+ -10000 199 649 678 566 358 619 208 680 512
+ -10000 677 87 71 256 554 309 137 142 921
+ -10000 229 310 468 845 154 788 572 819 411
+ -10000 882 538 236 451 712 124 973 982 988
+ -10000 343 220 242 421 72 201 730 17 845
+ -10000 556 449 298 35 795 147 719 644 184
+ -10000 722 974 607 731 872 192 806 764 31
+ -10000 898 827 365 607 852 499 785 395 110
+ -10000 624 397 641 140 330 569 644 871 860
+ -10000 634 229 735 178 667 587 236 229 596
+ -10000 425 613 558 609 562 197 526 537 692
+ -10000 679 965 270 801 610 881 838 675 391
+ -10000 832 821 656 396 711 161 646 862 241
+ -10000 625 232 669 339 29 899 698 4 334
+ -10000 451 528 931 333 49 664 184 961 268
+ -10000 163 64 218 858 272 484 84 167 260
+ -10000 126 468 793 94 833 543 195 350 627
+ -10000 942 262 965 195 183 246 246 233 133
+ -10000 4 383 600 153 764 90 482 888 225
+ -10000 429 439 602 783 357 342 231 385 451
+ -10000 603 340 371 48 760 426 196 525 926
+ -10000 823 253 293 68 472 971 922 267 642
+ -10000 128 46 823 694 397 690 863 671 43
+ -10000 634 559 899 985 623 612 538 397 622
+ -10000 242 497 285 95 626 421 754 81 164
+ -10000 776 746 582 512 314 652 712 946 521
+ -10000 764 776 474 137 948 697 54 145 626
+ -10000 244 596 370 84 912 297 429 760 551
+ -10000 816 323 504 967 380 495 289 200 74
+ -10000 831 497 751 581 143 139 202 580 930
+ -10000 905 919 599 853 573 474 69 507 994
+ -10000 792 578 147 718 495 274 491 414 194
+ -10000 484 69 648 982 227 990 636 732 515
+ -10000 631 632 810 616 185 404 204 312 723
+ -10000 545 844 536 917 592 16 704 731 198
+ -10000 750 820 959 540 186 521 732 407 148
+ -10000 828 838 376 638 21 728 183 894 17
+ -10000 264 902 864 471 46 455 982 57 443
+ -10000 269 218 427 177 677 635 566 407 667
+ -10000 319 797 172 818 502 100 155 224 46
+ -10000 856 939 302 741 355 158 408 271 167
+ -10000 312 173 96 495 210 699 766 820 645
+ -10000 680 588 919 354 290 418 632 499 381
+ -10000 289 392 581 109 874 206 909 88 147
+ -10000 781 144 578 570 317 872 215 784 894
+ -10000 187 505 663 788 300 743 12 141 986
+ -10000 423 541 319 200 836 113 231 614 38
+ -10000 303 419 853 195 865 866 123 941 761
+ -10000 677 695 386 38 443 560 569 261 570
+ -10000 831 283 941 998 676 474 352 997 56
+ -10000 194 246 427 348 814 928 703 99 952
+ -10000 917 994 893 787 650 181 331 245 652
+ -10000 593 986 102 366 147 492 340 59 572
+ -10000 246 805 690 465 202 750 184 508 51
+ -10000 793 434 336 49 337 533 125 893 644
+ -10000 679 395 492 821 22 851 192 620 877
+ -10000 336 984 436 887 393 980 134 834 885
+ -10000 466 753 883 740 424 531 587 179 556
+ -10000 562 582 221 430 6 898 480 193 779
+ -10000 911 779 266 960 238 818 488 598 551
+ -10000 234 493 789 227 82 500 407 660 618
+ -10000 352 356 511 159 673 124 36 428 31
+ -10000 474 854 651 666 2 798 862 891 952
+ -10000 983 90 262 321 290 679 117 3 405
+ -10000 425 936 973 694 781 812 320 909 811
+ -10000 520 301 471 395 57 371 275 324 253
+ -10000 457 482 20 505 468 606 457 814 577
+ -10000 289 498 164 627 472 151 977 124 511
+ -10000 28 167 837 408 207 822 603 492 285
+ -10000 957 371 161 919 530 466 60 604 824
+ -10000 366 595 753 92 10 381 573 426 568
+ -10000 486 504 408 580 159 127 675 664 582
+ -10000 872 4 563 31 156 110 747 625 648
+ -10000 902 794 564 744 382 175 848 153 975
+ -10000 269 937 928 379 448 854 643 583 420
+ -10000 802 24 344 139 570 29 469 730 490
+ -10000 238 237 870 648 565 306 515 100 721
+ -10000 734 768 349 161 721 162 46 290 800
+ -10000 925 200 511 143 722 234 213 325 300
+ -10000 711 318 930 476 193 513 628 435 1
+ -10000 3 946 575 445 321 187 883 177 811
+ -10000 119 530 915 820 471 163 804 515 325
+ -10000 166 327 111 48 219 325 696 72 876
+ -10000 204 23 850 656 128 399 14 154 562
+ -10000 128 878 378 317 981 395 956 885 408
+ -10000 95 7 758 275 668 820 695 751 868
+ -10000 56 868 928 622 813 216 763 614 361
+ -10000 110 426 96 412 400 884 648 321 370
+ -10000 133 485 691 982 390 281 107 796 963
+ -10000 796 914 854 341 869 812 155 982 824
+ -10000 990 406 11 58 902 425 987 711 687
+ -10000 943 932 978 955 636 738 243 953 980
+ -10000 790 498 305 539 434 721 786 149 921
+ -10000 944 216 702 596 571 29 130 689 535
+ -10000 112 881 413 990 648 551 361 904 742
+ -10000 36 672 272 913 818 475 280 404 20
+ -10000 551 228 422 168 545 466 917 724 769
+ -10000 872 431 494 238 964 833 632 829 726
+ -10000 936 895 782 102 596 89 732 72 739
+ -10000 356 174 889 580 607 510 501 91 689
+ -10000 202 412 348 335 956 466 669 393 126
+ -10000 805 570 48 315 612 179 727 465 494
+ -10000 91 375 398 726 485 567 61 822 416
+ -10000 970 998 287 54 435 761 246 894 355
+ -10000 108 19 411 302 239 940 675 579 650
+ -10000 528 179 174 322 574 844 362 324 778
+ -10000 71 772 43 930 518 552 509 237 670
+ -10000 51 216 884 202 645 217 912 310 702
+ -10000 440 436 854 987 378 892 514 836 871
+ -10000 344 176 183 841 327 671 860 386 614
+ -10000 394 150 919 165 609 296 964 610 23
+ -10000 175 564 953 614 539 741 409 655 600
+ -10000 832 469 16 428 952 693 750 499 677
+ -10000 842 916 522 574 630 895 79 16 731
+ -10000 778 563 90 14 61 775 629 389 457
+ -10000 416 398 466 216 27 758 582 338 372
+ -10000 424 487 190 392 782 315 991 468 871
+ -10000 739 532 312 13 574 828 731 374 836
+ -10000 647 196 679 167 13 72 968 413 454
+ -10000 77 588 885 426 706 469 385 258 318
+ -10000 958 3 376 247 629 418 956 192 14
+ -10000 849 966 38 433 617 518 875 643 404
+ -10000 883 319 261 226 693 285 721 653 479
+ -10000 753 57 95 720 8 502 665 493 6
+ -10000 676 633 644 836 246 471 281 961 88
+ -10000 882 191 427 539 451 946 121 565 235
+ -10000 526 602 876 94 368 200 49 878 912
+ -10000 701 11 568 674 936 174 439 197 855
+ -10000 164 83 922 477 511 178 997 536 223
+ -10000 297 512 91 706 161 327 330 560 509
+ -10000 796 286 454 666 634 917 344 286 721
+ -10000 32 676 11 803 403 485 183 802 450
+ -10000 832 620 480 797 747 108 216 22 245
+ -10000 64 746 918 62 194 200 526 597 848
+ -10000 750 295 642 101 939 173 492 821 357
+ -10000 806 791 799 176 166 717 618 248 88
+ -10000 157 253 441 68 884 5 362 936 987
+ -10000 782 335 739 615 22 305 344 200 402
+ -10000 881 51 880 96 66 406 264 65 75
+ -10000 719 238 439 836 270 553 784 457 530
+ -10000 157 542 78 859 216 829 26 239 646
+ -10000 253 112 847 671 0 937 977 900 420
+ -10000 354 642 490 424 243 724 541 448 643
+ -10000 402 494 580 678 27 328 194 378 257
+ -10000 732 979 904 256 903 880 629 162 270
+ -10000 257 198 624 398 297 713 193 122 600
+ -10000 111 355 576 471 576 613 896 406 620
+ -10000 521 522 199 68 808 723 250 487 428
+ -10000 469 439 686 927 299 968 548 503 861
+ -10000 80 132 323 349 400 957 796 983 617
+ -10000 65 353 136 668 45 731 778 785 26
+ -10000 503 352 804 756 283 901 39 33 401
+ -10000 668 386 593 86 347 637 736 403 50
+ -10000 102 730 587 216 864 519 357 990 913
+ -10000 923 857 471 912 214 878 985 581 368
+ -10000 909 4 366 299 415 781 568 424 266
+ -10000 170 967 931 587 556 910 285 540 931
+ -10000 359 550 255 101 81 189 111 104 702
+ -10000 124 775 254 25 177 128 182 441 163
+ -10000 878 715 385 251 347 824 208 119 877
+ -10000 32 482 861 776 515 329 596 859 925
+ -10000 634 570 321 132 754 477 652 788 817
+ -10000 627 636 517 378 395 311 194 79 24
+ -10000 865 604 258 163 208 881 127 213 789
+ -10000 864 994 647 777 216 971 926 270 501
+ -10000 908 301 316 97 405 599 539 181 743
+ -10000 420 246 989 88 674 26 99 424 763
+ -10000 185 242 538 726 655 796 693 288 730
+ -10000 765 130 331 310 524 823 133 342 316
+ -10000 789 350 985 90 119 6 364 495 660
+ -10000 956 269 895 196 576 83 168 445 117
+ -10000 329 516 954 41 702 594 788 572 186
+ -10000 245 892 247 931 313 234 21 335 194
+ -10000 231 803 866 723 86 473 76 75 365
+ -10000 863 9 328 613 597 477 850 665 819
+ -10000 561 911 625 892 249 280 485 609 520
+ -10000 429 32 894 734 898 706 824 639 538
+ -10000 90 982 475 895 534 579 4 60 724
+ -10000 334 641 5 488 153 641 664 15 514
+ -10000 23 884 352 38 704 56 630 827 301
+ -10000 168 824 166 101 436 842 886 147 195
+ -10000 799 860 535 797 781 163 238 955 957
+ -10000 659 187 1 570 98 524 315 617 957
+ -10000 536 274 265 449 82 246 91 94 144
+ -10000 278 325 978 437 938 29 350 33 377
+ -10000 951 324 423 427 197 839 751 312 429
+ -10000 946 399 677 8 526 828 305 831 102
+ -10000 894 776 762 343 69 399 232 34 619
+ -10000 467 723 446 798 555 350 725 870 243
+ -10000 724 787 290 622 766 471 47 820 969
+ -10000 614 692 539 744 244 873 932 306 44
+ -10000 314 852 495 136 911 5 357 371 591
+ -10000 148 870 545 827 238 454 906 50 707
+ -10000 183 786 86 698 999 821 33 937 398
+ -10000 244 458 676 506 538 342 789 612 377
+ -10000 935 95 199 65 525 656 592 439 783
+ -10000 400 891 418 653 535 881 322 562 217
+ -10000 590 484 947 512 766 219 1 865 502
+ -10000 717 965 717 401 148 417 654 549 88
+ -10000 835 175 804 18 428 714 839 38 382
+ -10000 903 921 986 853 821 680 468 291 452
+ -10000 830 229 103 372 411 930 147 457 899
+ -10000 19 693 702 630 994 787 636 670 812
+ -10000 563 630 977 667 731 52 781 902 799
+ -10000 165 667 528 785 128 309 623 302 819
+ -10000 203 558 231 532 156 19 64 765 441
+ -10000 513 433 381 199 726 600 949 240 986
+ -10000 286 461 436 14 330 376 628 506 470
+ -10000 423 344 870 129 195 975 102 174 272
+ -10000 601 23 937 821 175 228 837 142 48
+ -10000 839 822 591 290 410 576 947 955 683
+ -10000 202 888 72 107 796 224 938 428 337
+ -10000 201 957 469 252 560 343 106 404 85
+ -10000 488 849 298 335 576 250 181 895 135
+ -10000 619 322 892 165 898 701 618 404 348
+ -10000 99 826 907 18 137 419 867 43 538
+ -10000 958 668 11 11 567 843 236 463 695
+ -10000 561 951 316 337 122 727 48 747 879
+ -10000 943 172 450 185 152 296 294 893 204
+ -10000 275 839 338 586 340 337 92 529 699
+ -10000 534 661 626 557 280 261 611 706 526
+ -10000 168 480 791 523 963 107 412 449 605
+ -10000 785 801 946 294 583 54 243 721 257
+ -10000 603 266 133 666 329 767 810 379 586
+ -10000 660 918 364 95 827 624 652 625 940
+ -10000 473 805 135 808 689 671 66 276 86
+ -10000 618 732 410 542 566 614 27 818 590
+ -10000 98 442 870 758 391 925 991 127 426
+ -10000 78 204 518 409 648 441 777 168 563
+ -10000 593 697 356 553 94 512 685 829 364
+ -10000 99 341 331 909 665 791 80 506 706
+ -10000 945 639 191 454 97 271 959 989 994
+ -10000 627 48 463 366 208 472 381 740 743
+ -10000 30 442 442 309 289 211 574 109 311
+ -10000 641 125 450 333 421 564 856 498 949
+ -10000 946 315 522 404 374 176 846 538 579
+ -10000 773 824 314 778 276 480 180 235 286
+ -10000 940 605 780 169 556 18 620 522 104
+ -10000 53 628 371 877 912 52 361 1000 113
+ -10000 748 948 827 651 551 931 505 693 654
+ -10000 510 162 108 557 590 644 769 550 730
+ -10000 823 928 954 469 211 241 239 596 55
+ -10000 172 835 460 567 46 529 983 735 276
+ -10000 872 93 663 411 699 298 164 136 107
+ -10000 783 928 586 250 955 652 158 121 658
+ -10000 827 770 357 479 801 865 974 562 589
+ -10000 983 607 818 591 323 284 498 415 460
+ -10000 342 252 520 822 708 868 536 328 798
+ -10000 720 416 641 57 628 168 296 226 239
+ -10000 327 656 881 302 608 207 708 274 341
+ -10000 750 176 136 956 773 528 789 793 422
+ -10000 156 887 377 297 131 110 809 887 676
+ -10000 565 4 751 179 543 957 871 340 194
+ -10000 660 744 790 763 285 189 462 815 716
+ -10000 963 704 464 948 52 902 599 87 659
+ -10000 491 719 691 331 771 309 25 34 56
+ -10000 179 762 934 654 652 684 25 941 838
+ -10000 114 188 681 261 392 876 497 231 321
+ -10000 182 662 44 824 447 505 346 547 390
+ -10000 438 400 840 263 619 956 892 701 487
+ -10000 0 602 516 733 726 409 124 134 242
+ -10000 243 497 247 312 222 11 134 410 342
+ -10000 492 112 110 325 681 509 459 832 761
+ -10000 241 146 690 38 500 494 801 854 977
+ -10000 219 474 287 986 347 488 42 180 692
+ -10000 982 923 192 215 991 763 369 701 555
+ -10000 614 215 62 87 806 618 623 843 163
+ -10000 157 843 759 791 733 58 840 418 274
+ -10000 529 544 464 492 526 948 818 313 280
+ -10000 985 325 502 480 476 900 267 508 728
+ -10000 316 774 627 112 591 950 456 613 17
+ -10000 270 327 765 489 657 723 463 328 153
+ -10000 189 510 183 285 960 517 591 11 393
+ -10000 15 762 387 597 858 43 536 733 381
+ -10000 37 772 825 614 989 527 785 784 909
+ -10000 691 835 271 240 493 815 456 22 267
+ -10000 282 52 664 431 988 102 454 922 814
+ -10000 719 67 372 588 244 499 428 490 288
+ -10000 251 355 16 448 100 213 994 764 396
+ -10000 878 335 52 442 518 505 44 241 914
+ -10000 734 417 347 978 668 253 277 83 472
+ -10000 727 642 576 904 778 459 31 30 742
+ -10000 358 17 617 678 292 994 90 21 349
+ -10000 485 77 315 902 812 8 506 622 565
+ -10000 838 203 256 825 70 285 205 600 128
+ -10000 391 537 927 835 502 963 299 655 180
+ -10000 938 849 620 129 667 416 945 964 332
+ -10000 190 434 403 779 319 680 619 764 281
+ -10000 545 693 333 348 169 14 62 511 80
+ -10000 945 892 471 464 211 748 607 71 936
+ -10000 908 918 749 463 375 620 406 734 589
+ -10000 190 642 454 140 556 863 89 498 579
+ -10000 113 286 827 608 94 77 355 421 424
+ -10000 642 668 167 36 968 788 431 720 294
+ -10000 664 860 249 520 189 327 715 908 935
+ -10000 225 56 204 862 628 253 578 504 279
+ -10000 426 932 207 691 982 933 86 260 577
+ -10000 118 521 10 869 907 411 103 635 132
+ -10000 507 385 998 519 630 997 126 462 627
+ -10000 724 948 10 448 443 947 465 944 477
+ -10000 289 164 991 975 802 138 504 560 258
+ -10000 489 565 234 225 333 796 376 348 77
+ -10000 430 896 871 600 665 871 828 215 597
+ -10000 23 783 444 824 309 67 694 106 825
+ -10000 877 636 371 428 718 552 563 340 519
+ -10000 904 129 492 497 104 525 896 400 817
+ -10000 672 880 122 120 317 371 521 303 969
+ -10000 474 671 820 111 103 775 494 932 78
+ -10000 534 421 4 285 872 565 632 343 680
+ -10000 533 793 468 796 922 801 203 438 669
+ -10000 152 35 880 564 800 201 607 719 34
+ -10000 164 10 296 547 828 780 873 540 101
+ -10000 704 53 767 19 79 880 772 259 248
+ -10000 844 646 946 878 982 577 167 997 851
+ -10000 985 696 618 556 390 318 727 295 353
+ -10000 364 414 53 359 905 547 464 94 536
+ -10000 546 791 423 427 54 561 852 86 53
+ -10000 710 283 615 6 297 899 561 482 413
+ -10000 726 838 784 730 905 755 71 132 825
+ -10000 519 792 41 500 762 771 669 768 765
+ -10000 679 847 798 870 751 532 954 4 883
+ -10000 956 786 719 596 785 445 833 912 679
+ -10000 609 323 848 798 8 27 262 848 604
+ -10000 56 924 664 793 14 605 462 322 160
+ -10000 519 996 19 793 544 513 375 73 122
+ -10000 425 386 509 508 542 65 811 785 924
+ -10000 229 629 336 517 338 607 928 270 63
+ -10000 623 192 724 549 628 504 38 274 4
+ -10000 529 691 56 998 462 785 373 782 592
+ -10000 412 481 469 964 274 448 121 780 81
+ -10000 734 974 559 338 150 212 781 650 284
+ -10000 635 210 517 604 296 863 269 51 935
+ -10000 515 176 752 427 563 253 53 225 523
+ -10000 998 325 658 560 318 65 161 442 145
+ -10000 918 173 50 497 260 931 154 477 47
+ -10000 22 962 523 724 253 434 544 115 750
+ -10000 762 253 245 635 814 552 763 162 590
+ -10000 56 479 129 617 167 802 22 290 999
+ -10000 87 250 565 311 268 398 585 340 451
+ -10000 500 316 837 935 300 405 805 625 196
+ -10000 598 349 135 839 45 755 414 389 848
+ -10000 483 390 925 462 312 572 803 10 11
+ -10000 497 962 644 540 456 116 686 84 479
+ -10000 506 59 508 339 671 915 346 827 351
+ -10000 799 482 0 586 720 604 837 133 649
+ -10000 846 870 830 806 343 49 728 999 903
+ -10000 239 127 950 258 281 282 309 414 647
+ -10000 51 364 719 404 159 15 808 438 223
+ -10000 348 526 377 146 151 562 892 246 850
+ -10000 118 632 733 772 58 934 39 34 984
+ -10000 117 428 100 174 470 991 306 771 458
+ -10000 308 707 151 522 182 319 790 783 786
+ -10000 109 204 788 445 542 236 115 5 614
+ -10000 294 206 482 682 835 351 75 331 74
+ -10000 876 548 511 940 470 642 886 513 246
+ -10000 964 227 814 88 723 606 423 751 535
+ -10000 545 242 819 510 400 389 484 672 196
+ -10000 74 435 129 593 693 224 44 787 398
+ -10000 267 1 185 566 49 103 713 611 138
+ -10000 315 293 153 881 802 808 85 34 410
+ -10000 965 176 274 195 533 249 537 392 705
+ -10000 298 653 915 969 104 630 994 849 214
+ -10000 243 403 205 552 469 623 846 474 687
+ -10000 797 56 221 951 929 435 645 834 549
+ -10000 752 226 451 897 734 409 125 643 532
+ -10000 971 523 919 555 467 603 993 796 459
+ -10000 527 322 269 807 278 18 650 533 959
+ -10000 747 976 124 413 460 447 205 359 475
+ -10000 260 230 82 329 971 475 494 569 172
+ -10000 889 33 935 559 36 764 85 941 27
+ -10000 832 130 280 256 232 99 144 787 745
+ -10000 273 640 935 226 318 707 689 948 192
+ -10000 689 927 668 582 31 161 749 527 63
+ -10000 318 840 557 101 121 460 885 586 61
+ -10000 322 292 701 823 950 672 42 439 298
+ -10000 981 418 480 867 998 48 636 239 188
+ -10000 32 705 375 234 291 208 755 931 290
+ -10000 746 50 462 734 141 281 861 637 358
+ -10000 649 312 719 298 645 821 365 404 359
+ -10000 650 311 212 306 790 930 507 703 797
+ -10000 367 13 709 607 934 983 181 61 242
+ -10000 274 697 74 398 780 468 682 134 616
+ -10000 438 913 941 43 222 900 440 662 160
+ -10000 686 249 504 646 749 527 751 390 158
+ -10000 759 592 538 385 224 43 358 802 108
+ -10000 262 334 354 902 1000 243 772 445 181
+ -10000 523 106 63 917 108 842 402 580 863
+ -10000 923 1000 474 121 493 515 612 968 161
+ -10000 603 74 794 208 143 773 588 332 279
+ -10000 536 682 731 764 12 870 678 682 111
+ -10000 773 714 146 0 852 798 150 776 996
+ -10000 338 492 172 482 677 500 86 810 599
+ -10000 634 348 694 490 164 615 438 584 109
+ -10000 367 661 849 888 14 629 135 90 879
+ -10000 68 12 550 871 914 812 355 848 399
+ -10000 819 66 363 955 822 686 449 847 758
+ -10000 390 806 637 966 774 116 844 372 278
+ -10000 953 159 388 436 280 386 704 189 320
+ -10000 161 522 475 687 155 940 63 744 455
+ -10000 521 162 597 961 985 266 715 997 82
+ -10000 943 351 766 780 447 434 215 806 439
+ -10000 970 241 698 80 928 837 408 663 921
+ -10000 297 612 480 180 826 121 593 690 845
+ -10000 72 666 571 968 237 216 983 280 102
+ -10000 796 469 439 541 268 500 739 760 919
+ -10000 872 347 955 693 138 267 262 78 480
+ -10000 820 341 597 704 696 807 715 587 286
+ -10000 582 487 159 332 151 404 687 690 293
+ -10000 574 569 682 57 31 249 893 411 182
+ -10000 783 80 612 553 571 141 559 47 762
+ -10000 204 857 426 725 696 404 506 446 322
+ -10000 107 413 971 180 164 269 687 22 581
+ -10000 952 632 544 278 367 601 803 979 111
+ -10000 60 56 208 379 229 128 900 520 880
+ -10000 478 429 520 72 485 555 419 53 634
+ -10000 244 954 645 208 855 751 166 326 542
+ -10000 775 300 819 297 944 334 789 597 116
+ -10000 387 195 703 971 692 124 513 833 213
+ -10000 521 668 675 150 737 922 402 292 25
+ -10000 861 532 680 760 673 756 371 240 963
+ -10000 330 695 359 801 409 266 987 635 611
+ -10000 291 910 551 577 248 0 101 962 922
+ -10000 134 967 343 380 357 516 165 146 316
+ -10000 883 528 305 133 865 381 635 780 519
+ -10000 974 941 374 481 171 777 401 314 774
+ -10000 435 284 308 499 706 201 737 528 887
+ -10000 158 224 51 921 896 446 569 219 973
+ -10000 607 976 576 999 231 243 74 873 773
+ -10000 46 251 632 991 917 492 177 127 529
+ -10000 94 771 212 894 865 619 355 868 185
+ -10000 879 488 80 450 173 964 919 554 197
+ -10000 515 324 754 661 178 826 574 31 118
+ -10000 153 103 953 100 37 77 540 344 647
+ -10000 714 706 435 474 831 601 540 995 779
+ -10000 341 942 912 153 749 336 98 251 139
+ -10000 402 644 739 604 363 315 57 849 427
+ -10000 824 66 441 897 969 951 332 626 540
+ -10000 893 202 623 751 378 641 594 247 12
+ -10000 26 267 724 10 575 544 515 487 321
+ -10000 78 583 28 403 82 740 980 626 191
+ -10000 437 457 557 613 643 509 533 419 632
+ -10000 279 316 584 690 911 344 590 592 574
+ -10000 432 761 107 361 113 968 569 876 975
+ -10000 837 292 275 606 187 860 627 66 436
+ -10000 605 295 163 785 24 111 302 289 182
+ -10000 754 825 548 983 401 696 20 704 880
+ -10000 253 199 138 222 427 804 415 968 736
+ -10000 350 580 655 701 978 263 496 792 60
+ -10000 150 465 865 802 71 954 908 440 782
+ -10000 280 280 431 68 860 533 426 609 229
+ -10000 304 56 670 669 13 260 11 810 701
+ -10000 169 271 1 717 74 597 30 372 778
+ -10000 829 771 84 736 368 7 205 625 825
+ -10000 286 676 292 815 612 913 622 653 842
+ -10000 967 877 54 419 23 549 838 259 937
+ -10000 985 224 612 460 202 167 789 660 583
+ -10000 575 914 219 374 834 23 906 75 511
+ -10000 402 528 485 807 725 329 213 100 967
+ -10000 927 687 633 483 52 729 902 502 662
+ -10000 842 54 719 930 19 129 68 158 31
+ -10000 111 745 985 173 312 737 941 87 968
+ -10000 250 48 382 844 30 660 471 992 737
+ -10000 582 710 343 325 78 825 274 324 930
+ -10000 744 108 944 202 96 285 820 242 975
+ -10000 463 581 145 941 930 208 927 120 898
+ -10000 310 805 627 187 271 482 805 938 238
+ -10000 356 902 167 400 928 700 674 899 934
+ -10000 231 908 586 116 395 540 369 33 583
+ -10000 452 34 821 985 190 228 632 748 829
+ -10000 905 230 151 635 10 73 693 6 940
+ -10000 134 384 318 654 622 752 791 563 507
+ -10000 83 797 654 353 825 349 530 340 253
+ -10000 481 216 482 994 983 544 733 405 339
+ -10000 93 650 457 726 975 759 947 25 720
+ -10000 633 250 644 256 112 982 856 874 529
+ -10000 95 487 873 7 537 681 833 39 997
+ -10000 295 763 2 286 562 292 762 440 25
+ -10000 928 651 352 11 683 416 146 424 114
+ -10000 554 361 11 538 443 958 684 32 859
+ -10000 286 973 460 460 511 421 974 904 373
+ -10000 343 67 136 816 444 663 60 154 855
+ -10000 469 925 978 530 916 782 412 353 753
+ -10000 533 632 218 584 442 462 821 447 461
+ -10000 395 199 164 551 736 843 623 321 840
+ -10000 45 886 694 927 656 599 615 573 780
+ -10000 2 383 812 33 231 295 249 247 730
+ -10000 729 335 475 987 844 723 783 115 848
+ -10000 525 249 617 242 682 39 761 320 739
+ -10000 875 692 598 459 967 560 276 825 980
+ -10000 84 481 35 279 153 769 755 140 931
+ -10000 632 203 133 494 176 398 232 454 328
+ -10000 358 38 496 59 752 592 443 796 126
+ -10000 821 242 708 632 885 277 793 347 51
+ -10000 571 529 424 286 194 22 421 496 812
+ -10000 639 212 56 244 462 483 654 189 2
+ -10000 997 7 980 189 710 269 644 633 197
+ -10000 597 342 692 724 227 94 679 535 829
+ -10000 554 522 218 132 930 370 371 339 781
+ -10000 890 48 995 991 443 394 248 143 997
+ -10000 374 16 34 641 639 892 289 370 761
+ -10000 896 463 570 295 837 823 205 974 531
+ -10000 967 411 665 479 670 212 598 425 387
+ -10000 800 851 772 461 407 214 735 774 102
+ -10000 746 374 518 159 328 300 128 590 934
+ -10000 720 468 713 66 443 827 84 904 230
+ -10000 619 819 846 326 732 409 777 19 589
+ -10000 23 706 762 233 62 71 894 776 43
+ -10000 677 0 354 35 808 248 203 230 122
+ -10000 526 258 342 407 171 147 37 723 986
+ -10000 549 959 34 424 759 70 224 503 69
+ -10000 706 207 129 290 321 864 707 270 550
+ -10000 800 582 451 287 313 426 368 863 294
+ -10000 966 243 869 340 362 617 509 98 860
+ -10000 565 309 174 916 808 28 598 490 533
+ -10000 952 218 645 233 681 906 956 984 963
+ -10000 930 763 48 356 159 762 407 891 297
+ -10000 463 707 447 131 753 798 741 905 490
+ -10000 76 589 502 15 8 373 600 701 289
+ -10000 35 698 193 106 275 18 390 942 886
+ -10000 540 497 1000 796 450 643 990 405 399
+ -10000 154 855 724 561 159 365 373 745 373
+ -10000 763 148 532 611 538 192 86 587 126
+ -10000 688 732 166 354 834 276 285 679 607
+ -10000 837 198 386 306 290 724 436 31 424
+ -10000 255 616 350 187 403 314 858 395 393
+ -10000 291 594 329 137 547 375 420 161 21
+ -10000 333 556 478 746 761 673 807 129 160
+ -10000 288 979 830 381 454 247 393 672 869
+ -10000 435 100 785 28 880 229 255 214 542
+ -10000 634 926 70 447 331 71 944 892 352
+ -10000 644 474 295 149 841 65 454 723 252
+ -10000 109 995 613 158 174 907 654 239 997
+ -10000 834 668 836 545 966 449 846 306 309
+ -10000 983 570 514 643 216 860 742 727 636
+ -10000 905 290 321 724 966 419 314 543 831
+ -10000 679 787 568 24 937 196 100 978 984
+ -10000 632 130 421 615 572 223 335 985 696
+ -10000 23 24 519 143 687 855 693 19 797
+ -10000 905 663 962 651 488 327 985 763 421
+ -10000 529 300 156 734 678 852 244 534 448
+ -10000 956 541 308 927 890 145 211 965 323
+ -10000 120 397 854 23 707 285 46 989 243
+ -10000 189 805 708 214 766 905 120 619 512
+ -10000 102 943 554 209 87 706 675 405 102
+ -10000 546 974 141 912 662 577 599 476 786
+ -10000 405 460 150 250 639 967 194 670 93
+ -10000 911 485 429 419 543 505 697 734 87
+ -10000 9 563 379 310 693 158 487 38 454
+ -10000 648 127 378 954 985 897 573 200 815
+ -10000 609 386 911 7 0 907 64 886 68
+ -10000 275 927 404 338 621 191 275 429 41
+ -10000 911 636 975 520 499 849 307 475 202
+ -10000 470 827 656 660 227 644 521 793 660
+ -10000 182 309 321 580 961 666 779 153 366
+ -10000 663 75 810 380 197 411 10 625 979
+ -10000 803 579 403 291 891 773 750 958 207
+ -10000 961 131 615 577 792 274 104 946 140
+ -10000 491 399 934 87 434 612 147 613 203
+ -10000 342 75 711 142 566 354 256 660 373
+ -10000 479 824 688 311 300 534 259 363 535
+ -10000 393 414 391 39 610 571 579 940 675
+ -10000 965 619 128 734 156 95 691 442 434
+ -10000 166 115 507 256 582 896 149 839 470
+ -10000 942 91 243 805 236 657 764 867 171
+ -10000 481 739 920 224 480 287 501 904 839
+ -10000 321 377 753 641 975 973 473 361 431
+ -10000 796 862 668 198 868 150 102 520 641
+ -10000 341 280 906 687 600 796 236 641 238
+ -10000 922 515 863 506 71 516 77 182 662
+ -10000 701 314 782 843 118 119 843 6 423
+ -10000 112 192 970 713 759 64 585 861 100
+ -10000 374 79 871 372 361 6 235 239 143
+ -10000 87 525 491 159 909 290 520 76 73
+ -10000 680 9 914 458 521 461 560 774 431
+ -10000 640 446 427 891 636 928 716 481 602
+ -10000 322 124 159 27 1 772 282 112 302
+ -10000 6 394 880 221 715 388 521 265 228
+ -10000 291 868 738 23 667 373 328 937 493
+ -10000 845 947 276 98 687 19 480 167 492
+ -10000 336 427 36 817 148 611 431 568 388
+ -10000 773 505 747 151 141 653 637 195 77
+ -10000 617 332 740 411 800 740 879 448 390
+ -10000 443 377 386 706 338 913 518 114 842
+ -10000 673 179 602 731 285 302 843 865 561
+ -10000 794 258 608 962 450 375 509 771 653
+ -10000 624 278 214 500 277 862 867 708 378
+ -10000 351 502 57 663 524 5 442 825 78
+ -10000 937 451 96 552 34 761 932 511 223
+ -10000 398 351 980 693 510 48 728 248 286
+ -10000 95 326 228 672 427 401 127 321 659
+ -10000 950 951 703 282 314 952 752 70 456
+ -10000 203 881 522 429 303 218 589 175 588
+ -10000 971 997 394 645 677 542 108 957 329
+ -10000 806 670 873 440 931 248 937 993 282
+ -10000 469 64 842 226 522 841 418 228 955
+ -10000 530 951 764 561 595 608 145 943 321
+ -10000 207 301 349 979 128 362 894 769 782
+ -10000 506 658 732 452 424 734 986 862 744
+ -10000 665 569 48 867 839 586 376 819 256
+ -10000 656 636 168 659 42 11 552 492 688
+ -10000 448 159 900 833 489 642 368 257 519
+ -10000 128 580 22 696 841 763 529 807 83
+ -10000 638 139 667 778 89 63 67 560 914
+ -10000 851 496 243 756 607 2 611 551 533
+ -10000 890 279 326 575 575 50 665 886 807
+ -10000 39 135 92 841 970 534 867 216 822
+ -10000 228 579 432 54 255 244 129 104 903
+ -10000 671 352 193 78 449 361 805 30 172
+ -10000 495 796 854 496 667 121 1 50 176
+ -10000 751 558 65 641 685 632 591 560 946
+ -10000 33 582 976 454 616 363 586 909 58
+ -10000 837 957 55 434 874 924 653 437 93
+ -10000 404 733 968 638 239 359 613 160 137
+ -10000 511 520 227 163 153 323 123 189 803
+ -10000 618 631 263 459 110 8 43 999 277
+ -10000 17 486 25 899 181 875 809 134 423
+ -10000 872 193 949 65 643 383 733 326 701
+ -10000 213 525 629 530 880 226 611 654 284
+ -10000 631 505 368 138 606 798 149 107 387
+ -10000 764 240 99 90 668 316 374 93 374
+ -10000 113 541 528 582 172 373 626 637 288
+ -10000 875 602 740 652 562 566 730 221 916
+ -10000 523 587 867 478 597 44 817 877 689
+ -10000 941 952 836 649 124 996 264 112 574
+ -10000 273 96 761 339 184 171 838 737 452
+ -10000 882 372 629 168 334 420 230 390 759
+ -10000 480 568 737 439 432 82 738 93 785
+ -10000 308 512 787 563 175 832 790 383 947
+ -10000 537 826 736 369 433 234 352 750 885
+ -10000 286 392 195 591 580 100 867 678 700
+ -10000 859 571 545 175 759 820 328 17 626
+ -10000 462 790 458 989 834 602 838 669 548
+ -10000 535 375 97 843 527 312 109 434 193
+ -10000 700 869 546 749 823 499 209 711 167
+ -10000 698 265 399 669 159 259 198 196 299
+ -10000 371 553 246 774 939 355 722 448 787
+ -10000 866 718 785 488 771 430 883 994 558
+ -10000 547 889 494 439 666 976 604 519 520
+ -10000 590 496 474 667 483 392 843 511 271
+ -10000 896 696 356 544 598 366 702 431 908
+ -10000 314 4 679 737 509 2 922 119 845
+ -10000 85 21 656 592 260 901 419 345 510
+ -10000 602 286 542 753 989 605 450 427 133
+ -10000 903 288 697 566 752 365 101 759 28
+ -10000 24 788 920 862 68 463 26 140 8
+ -10000 308 817 695 356 654 191 34 136 9
+ -10000 724 734 385 241 705 770 932 308 184
+ -10000 671 760 996 268 644 902 573 929 511
+ -10000 605 902 892 487 85 27 982 952 617
+ -10000 922 674 376 674 385 51 356 550 122
+ -10000 606 42 665 207 390 610 547 5 230
+ -10000 965 837 271 444 963 151 244 952 407
+ -10000 497 573 428 136 548 830 994 981 449
+ -10000 754 227 769 182 29 846 860 93 275
+ -10000 275 784 460 268 851 438 820 749 196
+ -10000 396 684 287 349 199 645 632 953 265
+ -10000 491 737 684 701 10 882 845 526 526
+ -10000 762 794 568 366 202 346 586 17 119
+ -10000 211 27 94 810 548 958 812 171 575
+ -10000 936 109 460 792 57 174 223 188 154
+ -10000 840 247 917 732 833 548 909 159 739
+ -10000 185 715 804 417 612 565 0 724 199
+ -10000 259 801 13 106 353 720 997 611 163
+ -10000 683 833 412 188 698 861 729 83 809
+ -10000 41 390 628 248 733 154 429 783 766
+ -10000 964 72 431 583 569 507 567 855 290
+ -10000 903 415 47 435 493 122 660 641 470
+ -10000 884 718 626 541 415 44 312 135 920
+ -10000 674 600 302 368 462 207 565 847 898
+ -10000 395 848 377 437 68 722 874 39 405
+ -10000 515 264 7 463 643 63 802 329 410
+ -10000 589 690 955 380 151 143 898 670 96
+ -10000 612 311 54 170 768 31 937 56 603
+ -10000 442 284 257 902 186 492 404 181 710
+ -10000 210 658 145 177 618 659 43 347 599
+ -10000 390 23 996 80 59 49 500 181 116
+ -10000 891 944 327 45 264 567 248 96 860
+ -10000 419 5 380 927 358 724 383 90 869
+ -10000 911 958 876 993 424 642 798 44 554
+ -10000 824 979 346 310 975 564 729 498 153
+ -10000 120 188 496 206 903 823 580 294 59
+ -10000 804 194 493 400 114 784 983 109 705
+ -10000 845 227 96 877 979 490 204 658 88
+ -10000 64 356 316 615 174 824 625 177 915
+ -10000 165 93 383 403 871 464 800 684 226
+ -10000 813 48 532 24 866 373 506 563 885
+ -10000 645 947 276 275 667 21 665 131 949
+ -10000 359 570 690 444 118 791 193 390 828
+ -10000 39 166 511 844 950 631 123 415 117
+ -10000 170 538 635 946 906 988 482 31 846
+ -10000 210 380 352 27 260 958 188 664 94
+ -10000 226 302 777 383 857 708 747 274 755
+ -10000 640 36 884 867 540 864 892 846 90
+ -10000 953 987 682 64 154 84 355 378 58
+ -10000 523 107 846 416 502 1000 503 487 437
+ -10000 777 391 442 306 895 856 86 183 996
+ -10000 982 516 127 988 499 880 849 147 782
+ -10000 552 238 673 935 358 191 679 219 532
+ -10000 469 279 338 590 841 588 289 229 174
+ -10000 491 374 283 327 250 896 352 902 411
+ -10000 127 459 159 149 221 76 949 117 551
+ -10000 551 817 155 102 481 173 623 981 201
+ -10000 710 176 93 643 284 415 798 962 557
+ -10000 188 94 999 769 968 585 852 328 243
+ -10000 691 542 286 798 434 124 308 149 976
+ -10000 122 527 82 130 721 254 292 183 294
+ -10000 293 592 420 375 162 594 802 829 421
+ -10000 71 990 522 381 680 936 107 508 506
+ -10000 485 177 140 328 998 738 423 764 705
+ -10000 861 644 366 586 859 526 715 78 703
+ -10000 412 38 394 46 416 987 722 124 913
+ -10000 512 36 137 650 10 197 334 487 72
+ -10000 9 633 976 48 64 748 698 156 842
+ -10000 831 401 171 332 995 715 596 581 69
+ -10000 141 17 276 857 8 331 846 287 597
+ -10000 744 689 713 450 785 426 373 708 644
+ -10000 509 594 251 584 981 167 859 616 613
+ -10000 977 137 640 714 952 888 574 410 45
+ -10000 845 255 573 347 792 910 411 695 380
+ -10000 535 567 702 383 698 903 986 894 33
+ -10000 108 789 745 417 880 222 752 30 18
+ -10000 677 673 0 44 279 389 933 434 574
+ -10000 870 718 722 388 185 729 881 618 958
+ -10000 840 114 504 628 963 898 887 331 474
+ -10000 998 438 474 490 303 826 23 121 221
+ -10000 421 652 800 893 377 151 434 555 868
+ -10000 222 805 969 86 931 908 576 140 861
+ -10000 357 866 185 235 458 500 165 952 479
+ -10000 834 290 697 773 683 806 496 979 12
+ -10000 394 258 970 695 695 421 228 631 818
+ -10000 698 464 462 802 346 126 698 452 625
+ -10000 761 990 345 557 813 579 967 642 896
+ -10000 885 745 792 992 705 816 735 872 708
+ -10000 898 64 87 548 672 266 644 80 859
+ -10000 274 370 877 12 731 830 157 275 724
+ -10000 215 444 104 46 750 428 798 142 317
+ -10000 699 988 764 155 344 972 382 292 332
+ -10000 654 85 880 613 276 190 365 311 787
+ -10000 821 67 226 458 125 324 315 496 172
+ -10000 803 788 621 26 270 447 27 697 120
+ -10000 64 382 393 933 904 649 922 32 403
+ -10000 734 444 129 962 903 287 420 902 441
+ -10000 688 177 64 272 984 559 629 859 251
+ -10000 617 292 203 67 434 983 292 766 907
+ -10000 18 970 389 994 696 7 350 185 312
+ -10000 128 73 758 9 107 291 696 988 28
+ -10000 684 597 663 774 582 801 731 342 927
+ -10000 838 260 165 642 120 206 191 635 807
+ -10000 73 721 45 416 421 366 449 801 376
+ -10000 15 340 309 250 323 212 52 951 285
+ -10000 933 44 453 177 507 372 892 955 151
+ -10000 713 477 827 700 838 295 200 86 429
+ -10000 113 782 42 154 595 304 724 463 867
+ -10000 696 182 300 956 694 131 487 763 95
+ -10000 46 287 641 200 23 763 747 616 934
+ -10000 209 415 635 662 991 816 944 585 193
+ -10000 747 303 299 783 335 685 943 835 568
+ -10000 30 71 902 726 295 413 205 13 753
+ -10000 323 742 83 564 519 157 337 840 383
+ -10000 573 573 434 643 648 242 517 765 94
+ -10000 993 24 663 852 987 644 273 501 3
+ -10000 813 179 316 600 858 220 673 690 227
+ -10000 425 970 765 274 379 673 723 645 570
+ -10000 176 257 713 810 6 539 816 645 924
+ -10000 139 371 480 209 795 429 851 782 93
+ -10000 92 395 897 422 945 472 884 161 411
+ -10000 844 758 418 152 151 464 982 363 458
+ -10000 798 499 353 14 356 565 195 694 132
+ -10000 248 474 102 935 489 799 349 844 197
+ -10000 648 450 552 529 491 458 59 609 556
+ -10000 918 599 579 764 475 919 710 819 509
+ -10000 976 555 553 730 23 233 138 861 799
+ -10000 421 606 655 617 153 57 269 18 278
+ -10000 365 344 753 455 82 923 806 897 716
+ -10000 662 110 856 74 274 30 599 784 716
+ -10000 484 879 604 188 11 255 661 359 378
+ -10000 429 849 951 867 767 891 16 183 284
+ -10000 978 216 134 365 309 185 698 888 620
+ -10000 957 853 560 719 336 792 584 426 713
+ -10000 26 651 843 347 592 877 317 205 531
+ -10000 320 346 4 101 652 952 75 107 890
+ -10000 164 348 841 240 862 706 156 584 215
+ -10000 812 875 865 543 559 834 546 200 387
+ -10000 908 638 723 153 664 748 184 508 406
+ -10000 244 549 287 705 974 990 808 649 454
+ -10000 797 444 14 746 985 330 779 19 46
+ -10000 133 180 11 450 701 86 490 14 947
+ -10000 685 609 627 156 711 308 134 416 639
+ -10000 948 186 196 390 694 776 61 298 31
+ -10000 614 70 338 924 78 672 172 668 995
+ -10000 708 161 427 140 993 617 825 699 728
+ -10000 347 914 445 422 879 686 396 606 522
+ -10000 937 947 817 627 648 641 928 404 526
+ -10000 666 203 482 541 351 458 625 222 686
+ -10000 22 712 818 366 845 698 356 369 913
+ -10000 305 955 513 891 200 827 644 115 820
+ -10000 169 717 350 892 838 75 307 604 969
+ -10000 328 387 532 528 67 727 134 271 118
+ -10000 279 96 863 107 250 320 597 473 152
+ -10000 838 484 600 700 490 352 659 28 968
+ -10000 797 292 382 362 395 987 626 627 631
+ -10000 632 337 157 594 778 60 276 36 196
+ -10000 864 856 577 94 405 982 266 421 313
+ -10000 517 893 353 49 597 718 234 648 774
+ -10000 502 361 30 675 692 876 456 612 189
+ -10000 165 747 93 313 455 812 882 555 766
+ -10000 794 419 582 632 591 847 247 972 678
+ -10000 375 535 864 793 425 196 343 828 816
+ -10000 988 4 28 28 712 292 21 488 416
+ -10000 123 919 648 248 992 463 172 375 346
+ -10000 838 969 45 318 683 352 284 607 436
+ -10000 526 596 68 258 216 375 453 821 28
+ -10000 795 736 761 377 978 970 707 941 540
+ -10000 193 698 761 374 913 882 946 316 363
+ -10000 540 80 530 828 229 564 898 257 367
+ -10000 980 852 203 658 457 575 820 91 511
+ -10000 226 29 756 492 810 236 307 59 37
+ -10000 394 61 469 708 832 876 357 742 218
+ -10000 678 334 581 446 608 501 969 15 456
+ -10000 700 565 473 247 668 447 450 360 621
+ -10000 434 248 157 493 973 278 638 50 48
+ -10000 921 939 544 0 361 265 994 587 28
+ -10000 723 293 391 953 231 380 541 987 153
+ -10000 829 514 701 931 29 899 974 923 287
+ -10000 680 58 795 346 369 579 361 293 125
+ -10000 347 758 701 945 144 539 923 209 654
+ -10000 946 691 657 591 422 136 745 580 20
+ -10000 941 155 337 379 608 196 802 32 373
+ -10000 168 386 993 734 25 68 722 320 678
+ -10000 572 845 407 824 34 431 653 303 14
+ -10000 216 369 271 148 506 936 104 317 354
+ -10000 392 88 306 904 9 682 958 728 17
+ -10000 27 578 528 439 363 70 22 691 157
+ -10000 217 547 909 988 84 155 452 18 386
+ -10000 474 662 616 97 884 582 420 463 932
+ -10000 128 938 592 389 493 860 884 862 885
+ -10000 409 386 709 865 380 241 698 238 150
+ -10000 842 209 234 318 613 179 574 213 914
+ -10000 7 840 903 349 701 679 964 578 593
+ -10000 946 775 352 506 512 832 397 816 251
+ -10000 976 16 837 924 501 501 225 211 521
+ -10000 847 495 800 973 391 797 464 318 174
+ -10000 741 212 423 663 950 304 937 798 732
+ -10000 16 56 392 913 94 724 456 418 46
+ -10000 888 762 553 135 787 692 467 169 701
+ -10000 27 771 751 878 47 789 254 237 340
+ -10000 20 532 778 499 955 988 5 796 526
+ -10000 873 75 617 973 343 246 763 996 826
+ -10000 320 866 21 165 982 848 991 250 409
+ -10000 367 793 144 289 451 503 546 241 557
+ -10000 692 460 942 484 671 653 886 46 76
+ -10000 604 617 941 225 12 698 36 798 556
+ -10000 266 424 329 808 539 908 465 714 901
+ -10000 474 191 799 245 3 305 172 685 445
+ -10000 250 70 522 602 651 315 834 507 764
+ -10000 941 465 458 371 515 484 885 627 70
+ -10000 81 207 698 412 7 14 321 858 573
+ -10000 334 664 122 11 361 642 869 96 676
+ -10000 566 823 473 617 326 459 881 148 797
+ -10000 650 947 932 700 288 699 343 911 599
+ -10000 104 448 843 825 395 877 105 377 482
+ -10000 16 727 781 112 924 902 922 925 49
+ -10000 445 23 789 701 313 2 521 834 75
+ -10000 744 918 708 272 237 601 706 528 561
+ -10000 398 312 310 702 920 121 646 549 456
+ -10000 932 796 244 735 824 746 869 515 29
+ -10000 719 687 485 265 724 944 452 879 556
+ -10000 356 672 304 617 59 82 500 770 364
+ -10000 470 503 795 409 473 757 675 168 330
+ -10000 805 825 342 26 303 786 654 673 398
+ -10000 763 263 942 405 287 663 363 294 523
+ -10000 76 266 594 108 884 652 726 193 323
+ -10000 139 690 434 532 259 722 262 691 948
+ -10000 964 105 937 6 590 943 834 740 988
+ -10000 615 77 842 689 548 386 420 828 771
+ -10000 333 387 828 312 553 551 409 89 868
+ -10000 525 761 394 42 384 164 706 127 139
+ -10000 747 723 266 751 302 250 142 282 674
+ -10000 1 254 330 560 946 374 393 641 214
+ -10000 447 182 86 321 603 76 896 224 897
+ -10000 871 687 361 458 593 782 471 2 516
+ -10000 130 241 676 92 142 173 204 55 925
+ -10000 413 185 150 253 971 414 409 309 887
+ -10000 211 705 713 226 599 132 575 955 635
+ -10000 659 494 704 444 296 844 110 827 24
+ -10000 333 118 608 863 640 439 367 30 60
+ -10000 947 652 211 916 441 826 205 839 127
+ -10000 522 703 199 101 905 510 300 857 707
+ -10000 155 395 543 382 646 420 710 703 104
+ -10000 711 39 981 168 661 481 921 555 522
+ -10000 720 798 302 338 546 601 911 410 680
+ -10000 226 402 888 122 455 779 309 109 667
+ -10000 481 817 562 479 758 814 695 757 726
+ -10000 319 457 376 662 729 849 888 28 567
+ -10000 982 281 95 345 460 988 257 425 554
+ -10000 950 661 505 678 102 692 983 630 412
+ -10000 521 631 964 532 746 675 306 870 742
+ -10000 386 884 687 706 634 990 272 570 495
+ -10000 342 135 509 555 965 826 488 828 533
+ -10000 973 852 60 136 799 345 342 175 51
+ -10000 96 450 167 757 832 179 222 447 433
+ -10000 691 460 810 220 428 856 977 961 542
+ -10000 293 426 358 514 808 89 526 37 924
+ -10000 804 523 959 535 377 993 387 986 825
+ -10000 761 604 34 59 957 934 302 729 819
+ -10000 64 374 631 664 444 883 626 269 133
+ -10000 183 832 915 177 806 801 840 539 879
+ -10000 156 549 854 304 693 569 479 81 859
+ -10000 478 844 833 61 539 969 857 755 158
+ -10000 967 936 679 600 177 625 444 612 976
+ -10000 696 427 135 859 19 839 810 773 176
+ -10000 337 749 961 773 982 845 565 246 425
+ -10000 448 516 348 19 903 532 588 943 150
+ -10000 253 165 544 565 812 932 346 877 887
+ -10000 544 602 800 359 743 741 933 851 501
+ -10000 110 472 557 231 578 287 902 211 584
+ -10000 601 774 428 809 993 421 57 11 631
+ -10000 712 926 871 522 440 159 701 538 465
+ -10000 694 351 386 805 327 780 313 476 658
+ -10000 806 8 491 14 923 961 856 214 257
+ -10000 761 469 431 349 451 662 965 518 110
+ -10000 645 396 735 616 167 616 691 721 808
+ -10000 708 532 716 733 677 32 827 546 502
+ -10000 928 299 642 762 477 797 754 763 592
+ -10000 957 871 205 166 841 729 572 525 980
+ -10000 363 304 142 966 218 279 653 973 207
+ -10000 926 280 407 817 341 964 640 649 182
+ -10000 602 924 314 767 237 621 402 150 540
+ -10000 234 515 258 776 988 421 420 857 384
+ -10000 108 527 985 926 237 580 945 834 997
+ -10000 695 987 548 769 38 142 118 244 745
+ -10000 143 769 896 506 58 452 824 727 560
+ -10000 235 740 241 821 91 492 20 345 938
+ -10000 672 899 494 456 425 78 3 568 894
+ -10000 749 219 276 235 875 94 687 118 476
+ -10000 699 594 661 947 985 34 284 62 633
+ -10000 896 874 697 105 718 651 670 973 173
+ -10000 895 80 539 103 35 373 101 239 734
+ -10000 705 278 410 374 444 906 384 761 155
+ -10000 11 277 484 891 150 25 58 486 302
+ -10000 602 37 191 168 866 150 269 695 596
+ -10000 76 636 134 425 89 426 219 161 773
+ -10000 161 75 296 398 77 270 779 16 72
+ -10000 93 958 52 932 760 175 963 375 28
+ -10000 87 912 259 273 324 676 574 161 259
+ -10000 460 478 74 309 759 48 140 171 925
+ -10000 942 266 637 801 68 815 624 563 689
+ -10000 496 168 776 376 184 163 698 413 904
+ -10000 998 353 494 392 841 200 874 807 537
+ -10000 669 212 92 47 419 113 212 967 94
+ -10000 148 17 57 96 880 271 660 998 614
+ -10000 631 318 506 158 829 213 31 457 867
+ -10000 531 121 308 871 816 522 678 218 827
+ -10000 149 781 690 471 540 70 708 885 923
+ -10000 56 25 369 4 17 689 776 892 392
+ -10000 857 331 476 507 258 197 27 230 163
+ -10000 344 905 434 511 836 555 283 354 969
+ -10000 806 72 803 291 5 904 164 650 314
+ -10000 984 313 404 696 125 87 460 908 127
+ -10000 448 85 526 340 881 661 424 290 759
+ -10000 150 100 429 124 636 586 488 869 908
+ -10000 710 216 40 574 582 675 942 40 593
+ -10000 521 64 927 935 985 963 469 979 848
+ -10000 641 250 380 439 341 672 203 537 968
+ -10000 369 420 586 740 733 762 285 288 548
+ -10000 313 698 478 206 506 369 280 451 466
+ -10000 363 69 355 593 326 659 997 764 707
+ -10000 417 993 380 588 543 804 475 139 541
+ -10000 516 388 945 876 513 543 225 224 134
+ -10000 115 539 853 329 911 86 295 208 517
+ -10000 283 375 632 60 481 904 158 25 617
+ -10000 579 843 268 919 407 633 695 550 255
+ -10000 668 524 709 636 443 601 377 197 374
+ -10000 692 825 314 142 539 703 993 711 677
+ -10000 992 760 70 646 556 474 359 352 337
+ -10000 660 766 711 867 754 919 435 460 718
+ -10000 49 587 978 869 426 707 578 905 635
+ -10000 10 628 748 773 199 259 601 12 55
+ -10000 379 270 254 183 493 282 877 803 755
+ -10000 337 818 207 642 498 297 419 321 10
+ -10000 838 858 48 840 589 206 662 215 644
+ -10000 728 184 553 799 56 794 24 540 920
+ -10000 883 274 152 82 133 478 283 517 99
+ -10000 921 723 811 355 347 872 463 187 906
+ -10000 15 890 36 39 978 247 216 874 24
+ -10000 773 776 544 935 593 714 894 873 482
+ -10000 757 504 524 512 163 40 750 628 873
+ -10000 271 346 446 163 477 341 875 336 396
+ -10000 302 988 303 673 399 832 220 691 263
+ -10000 459 721 306 132 549 348 524 728 147
+ -10000 255 137 922 408 446 361 354 449 472
+ -10000 390 681 66 425 45 168 973 786 728
+ -10000 727 678 937 114 217 550 236 729 682
+ -10000 718 978 222 676 461 897 235 150 498
+ -10000 481 419 815 474 926 200 821 655 33
+ -10000 11 207 239 494 995 428 204 254 959
+ -10000 755 694 926 46 391 281 6 166 743
+ -10000 477 570 619 337 108 488 888 482 808
+ -10000 596 177 409 456 465 609 1000 665 917
+ -10000 220 387 641 930 664 791 553 15 497
+ -10000 368 953 837 660 777 124 603 822 50
+ -10000 162 910 609 119 461 779 778 270 295
+ -10000 487 926 38 863 328 152 41 472 53
+ -10000 384 290 530 771 99 329 90 55 0
+ -10000 912 569 708 821 886 437 840 286 331
+ -10000 893 38 745 442 252 278 133 886 215
+ -10000 554 124 251 295 737 720 765 605 631
+ -10000 897 666 58 802 554 318 174 434 730
+ -10000 679 791 851 539 312 583 213 644 534
+ -10000 629 528 199 248 814 835 897 557 1000
+ -10000 333 241 399 887 788 635 168 152 87
+ -10000 67 980 464 855 444 70 127 781 405
+ -10000 717 67 83 22 140 619 680 14 698
+ -10000 638 131 67 600 367 467 486 17 686
+ -10000 863 280 62 519 659 804 686 994 993
+ -10000 443 158 888 653 47 694 321 233 209
+ -10000 538 85 181 723 258 620 553 18 940
+ -10000 528 738 983 743 295 951 86 285 566
+ -10000 645 38 836 459 103 22 586 90 692
+ -10000 965 967 524 0 728 673 956 440 460
+ -10000 24 343 474 586 103 182 930 827 208
+ -10000 361 673 376 447 152 394 59 99 121
+ -10000 66 355 640 534 543 322 113 676 383
+ -10000 175 470 326 823 590 345 817 528 571
+ -10000 647 764 15 127 723 539 546 176 231
+ -10000 744 301 814 101 442 474 572 898 80
+ -10000 700 494 847 725 210 615 609 362 339
+ -10000 957 467 353 74 521 680 466 992 611
+ -10000 184 919 520 189 237 808 19 95 917
+ -10000 109 453 309 631 825 279 61 307 932
+ -10000 61 970 717 229 58 235 776 668 942
+ -10000 73 982 193 597 184 21 195 96 914
+ -10000 43 146 277 283 169 64 282 877 44
+ -10000 626 126 309 168 924 432 894 603 726
+ -10000 420 888 553 181 933 545 448 13 481
+ -10000 107 200 438 914 18 827 483 559 905
+ -10000 414 735 46 925 653 169 161 831 770
+ -10000 294 969 36 860 110 511 166 466 1000
+ -10000 752 730 406 194 676 742 364 445 698
+ -10000 128 996 444 496 596 224 527 146 456
+ -10000 236 236 0 934 241 107 629 315 749
+ -10000 885 937 600 803 127 820 732 497 774
+ -10000 196 891 283 826 188 900 583 659 992
+ -10000 727 988 3 615 793 19 278 863 814
+ -10000 934 298 436 967 863 773 721 278 671
+ -10000 613 879 225 120 831 316 410 623 54
+ -10000 661 659 334 78 181 497 525 541 87
+ -10000 883 406 684 945 654 974 932 817 148
+ -10000 958 556 915 704 586 506 364 723 963
+ -10000 654 559 394 787 461 960 899 639 409
+ -10000 402 474 185 824 743 105 896 150 753
+ -10000 194 40 456 62 379 243 395 366 680
+ -10000 789 40 692 100 915 75 493 899 64
+ -10000 324 888 962 658 274 978 873 813 115
+ -10000 588 104 775 499 740 973 374 836 944
+ -10000 706 678 541 560 527 929 261 634 257
+ -10000 678 959 436 9 989 934 453 344 616
+ -10000 315 523 182 185 318 29 853 552 244
+ -10000 457 29 192 179 652 740 424 796 957
+ -10000 403 321 757 48 268 231 21 707 228
+ -10000 605 988 93 772 907 324 385 966 548
+ -10000 1 750 716 334 712 503 883 728 696
+ -10000 529 337 783 91 99 674 631 154 463
+ -10000 929 444 181 370 787 677 686 872 739
+ -10000 979 84 635 416 435 187 969 727 155
+ -10000 632 659 681 254 690 803 594 300 692
+ -10000 961 755 14 643 86 129 948 408 690
+ -10000 274 689 6 730 110 63 885 152 560
+ -10000 411 978 809 375 669 224 931 545 457
+ -10000 596 151 406 466 459 295 461 77 557
+ -10000 643 601 328 966 655 810 752 698 889
+ -10000 835 176 681 864 160 571 375 911 133
+ -10000 66 792 155 476 937 238 57 9 917
+ -10000 502 457 585 729 130 175 275 990 169
+ -10000 206 155 344 690 85 187 288 214 927
+ -10000 749 91 509 749 469 145 243 412 427
+ -10000 83 950 718 472 659 919 42 784 309
+ -10000 331 787 151 875 772 989 765 115 80
+ -10000 624 950 359 827 891 581 994 118 262
+ -10000 627 402 301 588 426 88 394 385 558
+ -10000 288 684 182 540 663 378 623 902 19
+ -10000 783 977 393 493 59 455 788 915 162
+ -10000 865 572 299 810 70 534 516 453 113
+ -10000 373 261 143 1000 955 497 473 784 225
+ -10000 789 684 928 460 405 205 457 818 867
+ -10000 386 789 786 794 838 189 220 690 544
+ -10000 765 297 316 884 205 159 618 641 10
+ -10000 109 684 482 748 405 501 695 614 601
+ -10000 122 398 123 142 696 579 148 281 670
+ -10000 43 514 541 488 347 101 895 228 358
+ -10000 878 469 867 795 909 24 82 44 923
+ -10000 743 526 20 820 48 661 510 203 269
+ -10000 809 258 215 552 880 588 939 202 651
+ -10000 790 17 922 539 672 384 587 771 494
+ -10000 923 16 576 66 426 215 955 661 7
+ -10000 751 669 665 184 237 92 392 747 75
+ -10000 74 346 433 193 925 853 141 484 506
+ -10000 771 822 845 381 997 563 223 230 851
+ -10000 903 104 346 338 737 728 955 569 315
+ -10000 875 336 785 66 857 752 843 773 404
+ -10000 984 789 472 374 703 183 342 989 76
+ -10000 794 278 845 797 870 919 232 500 499
+ -10000 821 227 275 457 110 348 916 653 948
+ -10000 721 236 117 664 373 828 65 886 153
+ -10000 430 551 127 816 347 779 338 663 139
+ -10000 741 157 945 164 348 947 851 727 132
+ -10000 375 437 174 84 405 525 297 175 436
+ -10000 102 315 57 547 553 675 168 190 281
+ -10000 155 27 766 255 968 701 57 534 204
+ -10000 697 610 196 842 360 596 434 99 735
+ -10000 563 85 684 436 202 304 58 459 311
+ -10000 360 237 377 476 88 642 725 922 809
+ -10000 389 936 776 944 656 793 386 935 501
+ -10000 463 192 439 753 905 306 437 868 680
+ -10000 23 487 368 466 992 159 439 179 987
+ -10000 449 96 403 236 203 104 4 207 421
+ -10000 993 342 617 515 231 350 213 101 495
+ -10000 49 25 107 587 992 966 895 469 977
+ -10000 458 381 99 423 644 885 100 29 977
+ -10000 908 403 695 103 928 38 422 204 261
+ -10000 819 754 467 372 991 236 668 501 453
+ -10000 456 920 328 344 942 312 909 506 636
+ -10000 622 172 349 63 794 383 865 113 48
+ -10000 832 63 560 947 900 773 965 439 347
+ -10000 52 243 300 133 792 511 360 696 775
+ -10000 265 349 474 182 142 302 946 928 804
+ -10000 702 899 220 94 270 376 672 879 185
+ -10000 802 944 168 200 909 759 527 211 181
+ -10000 148 46 421 976 382 885 125 176 755
+ -10000 859 84 218 708 855 779 662 797 705
+ -10000 815 430 6 894 986 78 348 945 218
+ -10000 124 878 406 616 894 139 750 822 649
+ -10000 677 505 740 969 369 92 675 495 85
+ -10000 587 886 188 232 998 275 159 359 353
+ -10000 343 324 350 362 634 7 450 135 535
+ -10000 886 287 877 430 825 309 790 695 62
+ -10000 362 692 264 686 196 997 84 366 364
+ -10000 635 331 695 331 842 714 7 246 144
+ -10000 941 363 831 389 228 404 849 434 360
+ -10000 292 528 332 836 970 609 44 352 948
+ -10000 364 622 572 807 621 990 404 67 102
+ -10000 769 399 414 226 611 476 696 263 143
+ -10000 896 225 80 353 306 380 603 903 112
+ -10000 160 848 323 586 520 82 714 493 45
+ -10000 894 384 21 853 338 842 556 46 643
+ -10000 88 253 766 612 966 227 304 169 422
+ -10000 715 290 118 926 495 536 502 665 811
+ -10000 215 549 446 42 649 200 269 306 437
+ -10000 213 239 350 199 585 824 999 661 365
+ -10000 972 712 30 376 349 397 533 353 828
+ -10000 923 959 185 698 534 376 684 714 389
+ -10000 538 525 260 738 262 504 212 367 362
+ -10000 379 161 82 390 244 60 893 362 490
+ -10000 855 611 757 314 740 510 21 500 136
+ -10000 434 344 655 943 346 885 516 782 61
+ -10000 442 380 875 833 324 836 644 908 921
+ -10000 819 681 227 584 814 922 485 562 863
+ -10000 64 302 385 976 716 172 814 845 18
+ -10000 791 720 65 819 160 757 553 654 213
+ -10000 427 853 61 663 567 702 219 290 159
+ -10000 411 765 122 207 468 953 90 916 405
+ -10000 486 71 994 858 882 122 325 558 912
+ -10000 110 690 609 400 160 694 543 138 654
+ -10000 704 894 730 845 12 629 463 927 422
+ -10000 953 618 470 50 437 533 743 314 787
+ -10000 591 355 428 999 104 724 457 435 421
+ -10000 423 762 811 148 972 832 33 506 85
+ -10000 725 977 307 612 641 175 204 187 943
+ -10000 743 999 68 736 433 385 374 746 383
+ -10000 134 46 626 57 65 593 69 860 842
+ -10000 915 335 906 138 100 161 575 728 933
+ -10000 287 444 481 596 799 174 398 659 81
+ -10000 79 358 974 462 748 810 495 6 285
+ -10000 761 289 155 698 3 431 363 211 897
+ -10000 433 373 715 870 308 367 975 873 770
+ -10000 331 705 467 501 516 13 377 392 329
+ -10000 351 496 711 670 186 462 570 307 216
+ -10000 827 361 523 342 366 778 311 646 314
+ -10000 930 207 50 928 176 825 316 471 108
+ -10000 239 467 709 462 350 145 702 905 598
+ -10000 490 825 944 673 193 475 514 323 357
+ -10000 655 426 123 274 369 801 237 700 977
+ -10000 710 167 719 824 890 946 934 632 260
+ -10000 593 345 414 368 803 564 680 768 563
+ -10000 261 221 740 733 913 503 859 378 150
+ -10000 386 924 885 352 154 388 825 790 73
+ -10000 975 273 263 925 999 753 317 674 463
+ -10000 430 768 380 656 670 654 342 186 603
+ -10000 364 83 411 817 581 41 684 381 154
+ -10000 979 279 893 546 759 64 653 704 997
+ -10000 959 61 545 799 399 183 833 368 82
+ -10000 508 374 559 352 585 102 301 854 958
+ -10000 990 616 286 559 307 571 51 349 806
+ -10000 398 943 136 990 779 40 93 227 664
+ -10000 739 687 302 103 673 312 108 528 483
+ -10000 448 119 770 135 850 468 65 108 245
+ -10000 666 464 56 977 521 551 515 470 638
+ -10000 886 843 400 786 536 87 805 353 850
+ -10000 118 565 760 819 95 90 260 900 569
+ -10000 27 487 222 433 102 670 882 987 650
+ -10000 297 649 197 79 471 903 892 583 453
+ -10000 964 907 754 255 390 164 205 104 15
+ -10000 535 600 146 783 793 598 405 949 923
+ -10000 211 933 426 273 656 372 220 646 254
+ -10000 826 707 582 402 871 31 278 890 189
+ -10000 41 570 855 390 863 108 475 703 430
+ -10000 903 998 359 432 708 979 295 638 542
+ -10000 641 54 220 579 575 813 505 66 805
+ -10000 776 654 480 262 974 746 640 632 457
+ -10000 691 944 635 299 456 291 987 898 126
+ -10000 194 619 891 295 24 961 409 863 628
+ -10000 624 854 163 836 521 384 653 362 383
+ -10000 946 632 297 560 868 928 997 690 816
+ -10000 137 282 490 930 665 577 645 712 838
+ -10000 74 920 761 691 260 440 21 496 828
+ -10000 820 863 928 415 717 801 904 988 988
+ -10000 458 450 674 782 677 28 447 908 268
+ -10000 42 38 615 399 133 414 64 490 816
+ -10000 678 474 189 347 790 747 394 950 290
+ -10000 878 53 647 510 749 806 938 459 853
+ -10000 171 499 421 971 574 699 482 579 974
+ -10000 334 528 8 295 554 823 318 461 441
+ -10000 510 660 318 749 754 637 972 558 629
+ -10000 80 402 340 274 419 296 211 617 989
+ -10000 785 870 436 856 489 719 798 279 389
+ -10000 947 632 219 107 92 134 1 673 309
+ -10000 733 379 9 475 160 756 459 407 341
+ -10000 37 516 385 335 887 59 33 685 246
+ -10000 278 535 977 329 390 728 496 832 632
+ -10000 86 420 95 129 483 415 107 203 631
+ -10000 22 223 836 221 371 899 809 296 801
+ -10000 809 85 280 653 645 643 478 251 957
+ -10000 596 356 534 295 879 662 715 433 56
+ -10000 311 670 869 372 31 473 119 673 302
+ -10000 504 249 455 166 541 50 662 763 635
+ -10000 724 398 315 539 621 429 37 3 502
+ -10000 663 913 925 653 738 990 166 339 716
+ -10000 825 447 792 353 48 0 845 962 715
+ -10000 115 102 560 332 611 773 603 2 843
+ -10000 83 988 911 22 492 774 423 428 533
+ -10000 336 14 430 103 557 249 894 710 756
+ -10000 229 202 871 755 359 17 633 751 403
+ -10000 500 370 520 387 564 414 392 91 272
+ -10000 317 867 866 207 220 277 867 813 808
+ -10000 238 110 227 640 645 340 528 898 692
+ -10000 231 620 8 765 695 662 167 747 671
+ -10000 187 353 456 34 970 552 584 554 103
+ -10000 120 993 346 596 708 571 498 453 295
+ -10000 117 138 655 383 63 88 3 464 594
+ -10000 971 601 5 409 89 591 22 871 577
+ -10000 204 306 913 632 843 781 27 233 735
+ -10000 331 148 19 954 909 95 534 303 974
+ -10000 497 130 982 959 118 115 870 355 179
+ -10000 923 761 661 160 849 898 271 989 520
+ -10000 834 716 199 228 217 563 514 224 844
+ -10000 335 915 930 829 61 464 162 379 200
+ -10000 924 260 941 768 209 601 344 734 194
+ -10000 496 609 589 990 905 231 620 679 350
+ -10000 41 570 880 761 34 763 474 534 709
+ -10000 688 128 900 136 379 961 140 57 327
+ -10000 645 477 314 155 969 800 965 113 536
+ -10000 583 934 731 791 672 220 354 992 912
+ -10000 503 142 70 669 461 526 893 521 370
+ -10000 548 955 985 185 549 28 876 295 719
+ -10000 674 59 736 878 69 311 838 768 140
+ -10000 973 940 606 10 980 480 981 722 493
+ -10000 369 220 579 359 736 10 203 443 148
+ -10000 639 329 832 839 619 346 150 958 706
+ -10000 425 136 303 395 562 244 107 894 992
+ -10000 169 210 472 721 505 64 440 747 186
+ -10000 799 466 709 707 517 844 90 545 931
+ -10000 427 130 950 189 146 655 922 615 659
+ -10000 356 270 578 370 949 755 543 766 348
+ -10000 145 494 154 755 735 290 17 496 605
+ -10000 993 532 284 407 545 120 793 112 99
+ -10000 732 819 407 537 662 650 313 306 41
+ -10000 872 484 324 918 717 26 655 548 640
+ -10000 284 482 473 118 763 837 442 698 510
+ -10000 684 380 485 125 186 128 412 208 15
+ -10000 552 495 751 402 634 457 923 55 610
+ -10000 852 112 608 919 63 528 99 406 962
+ -10000 162 482 960 633 661 76 445 356 106
+ -10000 989 594 448 807 506 924 653 304 143
+ -10000 182 189 759 700 342 792 700 212 424
+ -10000 443 335 42 849 4 119 372 516 405
+ -10000 1000 606 171 233 545 824 57 242 937
+ -10000 925 656 157 571 938 943 921 594 563
+ -10000 308 115 387 331 659 942 903 236 5
+ -10000 998 748 394 430 677 887 861 134 34
+ -10000 398 879 747 330 762 933 674 733 444
+ -10000 78 527 526 742 623 536 258 822 221
+ -10000 699 227 863 696 499 264 243 783 545
+ -10000 537 472 547 347 25 658 425 184 33
+ -10000 991 74 917 615 293 171 760 808 684
+ -10000 153 812 793 9 731 397 261 244 783
+ -10000 260 361 994 409 250 987 731 968 328
+ -10000 101 91 615 405 302 964 338 523 807
+ -10000 827 784 446 308 760 230 803 944 224
+ -10000 833 915 801 276 303 505 733 346 77
+ -10000 235 130 52 153 420 350 395 579 211
+ -10000 482 623 865 274 782 130 514 866 918
+ -10000 289 375 485 853 783 102 74 282 125
+ -10000 454 783 352 157 842 679 415 69 219
+ -10000 285 884 284 282 953 369 16 229 243
+ -10000 385 268 334 846 386 819 335 250 5
+ -10000 297 91 946 881 16 359 133 650 967
+ -10000 734 330 755 23 111 860 913 106 322
+ -10000 506 558 915 249 214 792 808 977 409
+ -10000 504 512 714 172 120 836 769 468 611
+ -10000 489 518 452 103 947 37 261 613 925
+ -10000 735 448 754 389 925 171 452 707 886
+ -10000 397 214 377 790 198 816 792 841 591
+ -10000 809 973 613 234 823 728 80 247 741
+ -10000 455 708 535 715 570 564 614 526 237
+ -10000 0 6 275 984 593 780 551 167 708
+ -10000 358 468 900 617 707 8 539 835 127
+ -10000 337 6 948 935 248 933 360 261 891
+ -10000 427 85 778 70 390 671 67 404 239
+ -10000 171 371 6 336 527 292 426 358 468
+ -10000 571 363 237 872 203 600 645 988 42
+ -10000 62 447 475 513 87 710 672 819 568
+ -10000 708 530 420 598 746 685 43 929 784
+ -10000 102 744 407 354 27 743 0 719 49
+ -10000 977 548 908 706 883 528 44 333 182
+ -10000 190 166 378 261 556 38 156 68 892
+ -10000 389 379 870 983 73 472 384 587 785
+ -10000 31 947 415 246 843 91 438 291 628
+ -10000 425 488 120 929 720 141 926 201 712
+ -10000 914 391 900 992 681 267 520 480 2
+ -10000 288 806 405 487 362 995 755 185 978
+ -10000 752 269 487 988 324 645 108 54 191
+ -10000 708 361 661 309 569 132 453 713 900
+ -10000 48 533 601 471 920 828 24 103 621
+ -10000 243 231 956 263 516 142 787 327 968
+ -10000 118 831 572 511 155 62 389 535 277
+ -10000 116 564 397 39 790 675 498 719 741
+ -10000 437 10 25 397 262 914 863 7 273
+ -10000 7 661 859 869 554 558 438 122 949
+ -10000 489 455 277 750 13 948 899 790 379
+ -10000 362 87 289 614 91 528 630 874 390
+ -10000 949 418 987 719 667 701 726 569 950
+ -10000 813 532 359 678 931 355 882 314 329
+ -10000 976 850 872 716 734 218 185 762 642
+ -10000 403 911 997 631 259 539 494 80 52
+ -10000 291 545 595 21 713 914 518 346 456
+ -10000 460 78 325 215 765 211 275 495 409
+ -10000 365 58 719 190 762 728 848 292 775
+ -10000 179 121 12 799 195 705 620 593 232
+ -10000 591 812 957 594 640 693 669 707 269
+ -10000 771 447 873 764 286 664 918 811 441
+ -10000 879 598 406 238 133 522 491 53 705
+ -10000 469 171 850 456 842 394 447 348 33
+ -10000 781 557 397 151 721 120 948 589 608
+ -10000 396 568 420 416 713 470 454 825 26
+ -10000 527 488 446 379 195 967 806 138 138
+ -10000 511 671 894 13 941 154 401 265 606
+ -10000 996 51 46 790 258 523 973 15 103
+ -10000 704 539 891 119 513 791 61 800 826
+ -10000 350 727 195 847 162 414 482 952 30
+ -10000 57 983 23 813 703 963 807 846 571
+ -10000 681 672 712 286 774 335 532 885 520
+ -10000 236 454 273 375 693 508 851 139 8
+ -10000 209 686 230 27 344 457 33 234 414
+ -10000 645 355 114 907 216 849 160 430 807
+ -10000 494 802 659 702 724 51 51 920 2
+ -10000 555 294 854 932 875 296 390 105 994
+ -10000 984 614 224 679 493 863 741 55 208
+ -10000 224 262 545 283 72 866 692 686 903
+ -10000 991 725 443 117 744 596 563 798 923
+ -10000 515 94 973 920 471 136 234 120 95
+ -10000 630 132 42 635 395 784 743 653 483
+ -10000 939 565 658 365 352 529 905 441 1000
+ -10000 864 962 268 26 774 471 989 368 917
+ -10000 138 412 453 955 793 416 786 540 984
+ -10000 887 342 745 531 247 962 248 311 296
+ -10000 472 118 154 882 830 364 334 130 273
+ -10000 757 811 324 507 880 776 67 907 858
+ -10000 705 620 698 469 38 21 711 533 455
+ -10000 52 729 949 849 826 682 443 613 536
+ -10000 954 441 442 804 465 995 356 135 352
+ -10000 842 644 484 811 505 693 979 433 90
+ -10000 893 784 313 941 361 873 999 263 400
+ -10000 125 227 790 837 750 148 660 681 955
+ -10000 884 208 749 484 256 886 903 188 307
+ -10000 518 573 219 15 11 252 12 92 503
+ -10000 899 772 474 634 54 425 786 825 365
+ -10000 611 253 482 62 919 875 243 839 659
+ -10000 828 21 835 311 380 81 86 981 98
+ -10000 569 464 875 670 127 157 533 49 817
+ -10000 705 781 816 406 28 21 161 71 334
+ -10000 167 177 927 194 662 254 607 741 651
+ -10000 327 957 206 666 170 74 566 214 452
+ -10000 438 802 399 713 685 125 297 828 997
+ -10000 85 952 376 885 51 41 950 963 489
+ -10000 62 411 468 466 134 743 366 468 896
+ -10000 241 672 25 772 907 261 198 576 504
+ -10000 343 209 30 76 97 672 543 162 499
+ -10000 974 544 995 372 183 521 853 66 639
+ -10000 396 291 81 178 735 793 592 209 581
+ -10000 377 224 210 752 370 9 78 578 874
+ -10000 59 32 914 254 914 267 958 155 499
+ -10000 523 820 592 460 737 428 360 554 868
+ -10000 993 743 467 502 6 374 282 341 692
+ -10000 338 684 922 153 210 620 602 729 407
+ -10000 753 366 840 29 252 770 723 86 857
+ -10000 123 653 147 272 837 311 230 803 922
+ -10000 794 218 53 105 324 868 432 758 396
+ -10000 661 288 932 724 458 493 772 262 758
+ -10000 198 906 35 1 314 540 991 597 89
+ -10000 801 203 556 346 959 462 977 755 434
+ -10000 187 222 980 606 824 401 844 289 28
+ -10000 1 183 139 965 18 146 387 575 255
+ -10000 882 861 409 653 634 690 815 175 678
+ -10000 739 653 802 312 136 522 546 98 820
+ -10000 216 686 817 775 143 772 703 157 744
+ -10000 851 368 304 581 904 410 379 843 896
+ -10000 246 74 846 931 930 465 36 822 376
+ -10000 496 456 83 565 698 461 764 106 457
+ -10000 768 998 438 876 144 670 37 423 937
+ -10000 607 490 590 756 612 331 577 797 407
+ -10000 611 896 721 103 552 523 652 39 954
+ -10000 627 415 16 688 120 142 899 873 612
+ -10000 767 478 176 757 397 417 181 949 233
+ -10000 869 748 327 176 558 637 240 776 437
+ -10000 756 184 845 540 983 131 274 626 844
+ -10000 95 437 504 153 654 330 65 347 365
+ -10000 704 918 412 528 931 529 119 493 870
+ -10000 85 25 232 576 410 526 713 221 647
+ -10000 275 381 553 1 408 23 912 144 702
+ -10000 332 806 968 254 612 1000 988 744 184
+ -10000 858 176 690 921 606 101 981 801 499
+ -10000 879 922 960 958 97 19 984 307 334
+ -10000 193 471 848 520 629 555 174 150 774
+ -10000 509 348 105 71 856 993 738 630 500
+ -10000 258 131 742 710 682 499 128 726 909
+ -10000 128 912 517 713 725 781 847 561 938
+ -10000 274 391 136 578 139 136 701 241 340
+ -10000 270 523 701 744 831 977 7 841 403
+ -10000 487 235 943 484 979 319 373 969 644
+ -10000 252 574 254 494 157 973 40 522 475
+ -10000 73 120 189 112 233 587 943 931 521
+ -10000 966 474 958 872 318 226 44 49 250
+ -10000 49 518 291 335 188 800 950 255 444
+ -10000 941 20 449 911 203 274 55 250 936
+ -10000 277 665 837 33 42 596 548 204 200
+ -10000 410 457 886 506 49 992 641 498 868
+ -10000 921 174 992 993 307 909 235 794 373
+ -10000 251 319 40 217 85 768 470 872 127
+ -10000 21 486 955 877 290 583 654 734 576
+ -10000 314 90 595 678 34 405 268 73 495
+ -10000 566 834 773 374 284 400 67 960 452
+ -10000 684 883 173 39 272 532 956 735 434
+ -10000 738 683 288 828 527 666 608 9 42
+ -10000 240 359 949 726 205 47 953 758 806
+ -10000 826 34 47 537 340 792 419 781 128
+ -10000 852 158 509 639 456 584 641 534 763
+ -10000 359 378 325 572 390 621 767 680 8
+ -10000 610 133 673 93 490 955 677 831 118
+ -10000 991 71 500 283 123 617 842 821 486
+ -10000 682 285 37 74 652 24 695 592 116
+ -10000 195 97 838 968 940 286 105 714 47
+ -10000 70 59 588 402 485 379 834 587 446
+ -10000 95 47 751 42 677 812 409 98 221
+ -10000 497 600 275 258 133 344 507 11 500
+ -10000 716 733 262 853 282 861 425 698 292
+ -10000 867 727 508 109 106 544 896 258 763
+ -10000 883 59 212 462 481 403 809 833 191
+ -10000 102 251 35 623 419 837 228 607 70
+ -10000 241 641 439 606 317 814 779 434 402
+ -10000 236 446 527 637 769 503 64 476 152
+ -10000 983 686 473 628 69 163 863 727 277
+ -10000 303 116 823 994 476 4 600 801 239
+ -10000 685 972 330 460 247 142 805 266 57
+ -10000 120 613 806 916 685 162 661 532 582
+ -10000 764 821 208 613 268 256 887 361 129
+ -10000 782 709 251 975 522 337 0 894 161
+ -10000 201 104 646 401 521 239 323 255 362
+ -10000 233 444 958 233 2 196 519 418 938
+ -10000 162 119 593 514 699 850 647 126 679
+ -10000 431 575 327 18 329 365 543 920 725
+ -10000 816 387 450 679 373 966 415 321 606
+ -10000 944 299 581 977 921 859 715 665 136
+ -10000 109 410 99 720 356 268 128 742 150
+ -10000 119 399 63 700 533 706 79 112 927
+ -10000 650 627 435 44 131 858 906 519 5
+ -10000 470 614 984 55 93 715 228 578 908
+ -10000 938 646 178 693 237 493 69 527 771
+ -10000 291 526 791 432 681 75 185 958 130
+ -10000 438 96 414 387 547 397 543 926 664
+ -10000 269 799 983 152 776 340 178 725 385
+ -10000 625 655 634 647 639 33 236 188 288
+ -10000 690 475 208 939 402 603 361 378 329
+ -10000 783 293 412 620 369 866 227 874 818
+ -10000 21 130 826 866 973 772 514 820 634
+ -10000 611 289 501 145 983 172 535 907 471
+ -10000 226 350 104 237 583 897 355 984 361
+ -10000 796 665 949 965 731 431 838 177 826
+ -10000 454 538 569 846 994 952 756 265 581
+ -10000 237 62 450 427 238 247 625 152 443
+ -10000 518 551 223 689 42 458 943 381 821
+ -10000 312 804 874 273 752 341 348 802 303
+ -10000 905 71 885 445 419 517 193 447 739
+ -10000 380 327 480 892 921 402 227 590 308
+ -10000 406 69 253 249 737 16 64 525 329
+ -10000 180 369 919 962 883 897 994 808 378
+ -10000 102 956 849 813 542 893 727 472 23
+ -10000 300 419 591 622 567 375 245 231 586
+ -10000 452 230 962 95 12 449 946 534 546
+ -10000 911 382 561 669 85 532 511 909 332
+ -10000 1000 16 875 121 433 206 261 731 888
+ -10000 711 412 435 208 311 731 863 227 32
+ -10000 962 494 69 765 937 312 191 547 636
+ -10000 375 583 701 7 613 437 264 231 434
+ -10000 510 552 7 930 438 959 603 523 884
+ -10000 657 840 567 468 81 322 409 838 893
+ -10000 368 465 655 739 650 791 341 951 477
+ -10000 273 755 865 801 980 454 824 282 681
+ -10000 396 716 267 677 892 348 715 578 755
+ -10000 470 718 982 918 680 481 656 703 440
+ -10000 667 272 986 160 823 426 995 360 86
+ -10000 408 898 388 480 176 108 907 835 686
+ -10000 107 36 139 933 501 67 48 257 266
+ -10000 845 915 561 308 558 890 471 488 426
+ -10000 543 845 428 304 896 953 12 806 95
+ -10000 562 129 578 520 981 251 535 782 68
+ -10000 935 689 115 779 89 825 377 201 254
+ -10000 441 990 22 747 403 897 551 494 197
+ -10000 144 489 239 562 325 435 318 290 443
+ -10000 137 960 853 794 367 48 934 123 229
+ -10000 975 138 522 16 796 239 466 322 344
+ -10000 158 831 801 809 704 967 724 20 722
+ -10000 478 123 52 490 118 780 889 553 668
+ -10000 681 174 30 514 15 342 336 255 78
+ -10000 242 823 187 817 705 109 341 957 887
+ -10000 386 452 954 927 391 883 878 961 975
+ -10000 308 884 937 372 178 210 513 586 940
+ -10000 863 830 189 618 821 75 319 533 7
+ -10000 904 373 990 433 457 956 59 985 253
+ -10000 784 518 383 319 52 916 842 645 541
+ -10000 343 31 460 606 797 879 840 594 238
+ -10000 197 856 842 595 145 922 947 900 434
+ -10000 35 422 29 572 243 866 103 392 421
+ -10000 180 789 177 99 912 533 343 252 890
+ -10000 188 280 566 391 745 15 783 779 654
+ -10000 601 343 611 998 670 667 61 957 564
+ -10000 604 473 757 851 824 997 38 277 84
+ -10000 622 80 789 400 788 74 324 851 624
+ -10000 181 351 426 313 104 499 598 567 142
+ -10000 999 868 435 989 150 727 867 168 371
+ -10000 944 356 481 196 410 306 627 919 959
+ -10000 16 430 715 679 104 490 237 598 261
+ -10000 303 115 61 893 317 725 486 591 713
+ -10000 840 185 130 429 537 177 626 963 247
+ -10000 3 295 243 572 191 872 301 49 398
+ -10000 352 943 874 182 426 903 249 76 824
+ -10000 591 728 464 462 903 991 795 255 832
+ -10000 593 541 172 313 451 468 131 441 81
+ -10000 23 870 117 811 625 721 236 956 898
+ -10000 87 843 171 758 354 543 805 975 123
+ -10000 555 727 937 435 84 563 31 224 426
+ -10000 219 83 766 362 48 269 841 987 655
+ -10000 596 420 827 823 327 657 329 184 358
+ -10000 637 590 145 966 21 341 97 618 621
+ -10000 240 817 269 451 706 782 572 947 627
+ -10000 625 131 35 488 765 976 444 312 608
+ -10000 442 659 694 484 465 907 300 672 546
+ -10000 100 818 800 87 495 297 831 86 979
+ -10000 912 93 799 79 814 633 250 720 659
+ -10000 189 334 913 656 207 59 198 26 315
+ -10000 361 511 906 492 533 664 560 959 175
+ -10000 184 787 135 888 919 411 266 226 496
+ -10000 1 714 782 445 603 740 716 722 161
+ -10000 8 728 212 783 97 10 691 499 217
+ -10000 752 373 970 832 180 315 126 584 15
+ -10000 30 140 253 747 183 702 323 583 622
+ -10000 993 912 412 678 365 275 911 795 346
+ -10000 310 712 549 319 669 479 131 764 654
+ -10000 351 222 175 899 779 109 211 951 932
+ -10000 573 936 533 142 577 883 443 539 515
+ -10000 704 793 391 806 533 769 933 983 515
+ -10000 442 302 850 655 949 722 3 892 844
+ -10000 883 71 771 614 65 102 334 845 46
+ -10000 325 117 481 980 102 790 337 37 895
+ -10000 60 787 522 853 135 977 161 583 246
+ -10000 77 828 989 38 733 943 695 471 295
+ -10000 753 798 310 983 217 23 796 329 953
+ -10000 4 986 319 649 14 183 429 536 250
+ -10000 267 684 309 238 348 337 770 572 729
+ -10000 710 308 807 490 374 386 274 700 293
+ -10000 967 653 576 166 594 417 59 151 1000
+ -10000 587 627 29 625 716 515 108 307 198
+ -10000 917 70 989 905 120 38 666 233 526
+ -10000 436 109 14 608 167 876 771 301 958
+ -10000 712 120 407 691 938 538 493 213 703
+ -10000 509 721 210 721 251 997 583 280 818
+ -10000 598 634 465 842 328 980 582 231 868
+ -10000 648 589 479 820 882 245 218 574 307
+ -10000 852 694 127 476 313 309 327 486 60
+ -10000 849 717 318 335 401 493 878 370 868
+ -10000 654 78 540 172 501 176 355 818 992
+ -10000 153 328 13 76 724 384 822 266 516
+ -10000 777 240 881 789 718 175 975 199 849
+ -10000 627 49 482 594 443 311 645 826 488
+ -10000 128 104 187 326 553 992 213 30 774
+ -10000 136 46 242 991 41 937 889 132 5
+ -10000 165 808 707 993 837 709 566 953 755
+ -10000 495 203 703 174 894 909 883 65 375
+ -10000 410 282 597 941 325 117 943 620 816
+ -10000 714 649 729 107 890 924 954 836 517
+ -10000 32 424 145 77 540 899 537 101 392
+ -10000 614 53 103 95 706 330 180 506 201
+ -10000 616 680 409 63 727 312 512 515 342
+ -10000 304 240 967 692 453 20 48 631 782
+ -10000 138 243 508 846 358 95 51 827 320
+ -10000 228 340 228 668 420 805 705 692 775
+ -10000 263 4 25 800 22 651 367 876 78
+ -10000 692 919 775 577 642 517 882 225 241
+ -10000 544 993 130 612 414 258 546 98 185
+ -10000 885 135 109 623 869 68 714 914 10
+ -10000 612 737 421 614 2 600 393 517 823
+ -10000 973 56 8 767 498 340 447 180 295
+ -10000 358 554 151 134 166 716 40 393 841
+ -10000 822 36 143 20 523 681 500 225 145
+ -10000 533 230 32 483 157 465 166 920 42
+ -10000 576 194 700 624 271 424 161 447 218
+ -10000 490 441 413 512 60 752 260 164 613
+ -10000 766 759 496 123 918 713 792 879 596
+ -10000 118 733 386 777 425 663 734 612 24
+ -10000 408 306 487 669 22 930 431 487 676
+ -10000 974 196 437 215 17 253 905 447 380
+ -10000 111 597 725 405 123 162 274 369 654
+ -10000 747 444 777 297 253 197 442 926 597
+ -10000 212 793 882 416 897 430 535 766 289
+ -10000 297 897 973 419 424 183 585 977 106
+ -10000 391 666 593 931 820 840 568 377 18
+ -10000 341 495 21 117 685 748 55 478 69
+ -10000 838 324 346 131 613 922 220 380 658
+ -10000 377 438 479 992 579 497 503 680 807
+ -10000 33 559 269 632 345 289 637 772 831
+ -10000 322 60 335 960 927 723 472 124 10
+ -10000 939 269 519 32 147 444 233 129 812
+ -10000 83 858 323 165 189 501 205 443 349
+ -10000 313 547 959 886 347 84 105 820 163
+ -10000 443 128 804 398 322 377 729 566 216
+ -10000 511 638 108 146 969 669 971 791 953
+ -10000 100 718 839 272 14 799 458 800 927
+ -10000 855 433 369 747 339 495 864 386 872
+ -10000 701 881 75 648 950 682 295 402 65
+ -10000 408 636 146 158 368 859 800 387 723
+ -10000 792 793 29 753 462 156 721 204 578
+ -10000 159 329 372 174 760 430 962 411 493
+ -10000 368 446 793 34 410 89 346 626 995
+ -10000 906 566 79 634 345 891 527 421 834
+ -10000 877 243 659 920 667 264 838 440 857
+ -10000 758 850 595 701 346 754 792 68 223
+ -10000 172 833 480 909 765 911 394 421 191
+ -10000 343 340 839 587 62 697 605 339 673
+ -10000 324 429 78 22 665 393 779 709 859
+ -10000 934 775 729 997 390 806 942 749 13
+ -10000 595 116 314 836 139 37 998 377 267
+ -10000 409 507 340 970 760 342 939 343 820
+ -10000 465 971 36 350 191 901 599 67 539
+ -10000 905 370 700 187 521 462 883 176 575
+ -10000 628 570 900 636 309 278 971 5 909
+ -10000 979 554 823 56 336 423 600 884 850
+ -10000 605 971 394 182 600 846 828 334 388
+ -10000 602 460 483 235 707 756 161 350 124
+ -10000 651 642 855 913 501 277 501 558 436
+ -10000 905 299 93 964 673 794 902 287 498
+ -10000 23 512 679 921 380 524 173 412 875
+ -10000 260 253 993 453 376 825 976 858 825
+ -10000 765 760 997 670 316 427 557 643 33
+ -10000 576 843 824 920 31 781 760 137 41
+ -10000 475 528 591 476 893 208 942 224 460
+ -10000 775 64 712 294 67 348 943 83 36
+ -10000 556 719 124 37 110 366 130 692 194
+ -10000 143 677 204 911 574 939 894 550 349
+ -10000 74 496 444 739 916 571 769 234 548
+ -10000 417 576 542 374 296 595 873 100 310
+ -10000 78 372 330 466 352 229 292 11 289
+ -10000 797 73 677 742 170 80 908 893 532
+ -10000 756 647 488 853 887 143 334 339 457
+ -10000 221 969 319 838 233 534 876 766 693
+ -10000 195 526 191 481 722 342 155 899 590
+ -10000 188 462 166 117 354 62 617 735 190
+ -10000 116 165 998 191 265 555 574 826 18
+ -10000 277 70 931 958 911 673 21 260 536
+ -10000 448 969 659 694 357 979 985 960 653
+ -10000 597 394 842 971 88 941 468 47 92
+ -10000 692 977 172 804 255 951 971 983 675
+ -10000 3 304 99 79 884 675 954 691 593
+ -10000 285 943 996 443 911 393 808 422 611
+ -10000 309 641 164 882 59 22 132 970 929
+ -10000 829 595 184 994 984 116 583 395 797
+ -10000 328 174 78 488 918 84 959 659 23
+ -10000 890 991 144 835 301 466 174 413 276
+ -10000 981 212 917 844 259 53 672 514 567
+ -10000 466 488 203 484 348 475 604 923 527
+ -10000 229 101 942 620 227 283 15 369 998
+ -10000 985 527 412 890 349 694 654 538 558
+ -10000 975 794 208 781 166 465 923 124 385
+ -10000 586 122 473 336 607 240 658 641 507
+ -10000 945 868 616 507 599 961 204 705 658
+ -10000 929 429 796 542 176 721 410 736 142
+ -10000 372 413 702 749 357 377 858 817 865
+ -10000 953 214 605 549 112 467 6 158 537
+ -10000 567 28 822 567 659 169 261 746 682
+ -10000 99 877 4 293 418 527 419 365 869
+ -10000 437 694 887 31 574 185 167 313 119
+ -10000 450 495 470 626 97 616 663 756 641
+ -10000 283 174 469 553 192 374 636 660 60
+ -10000 876 662 603 859 511 608 240 17 987
+ -10000 893 99 643 751 462 521 819 452 616
+ -10000 470 468 141 133 368 800 555 660 233
+ -10000 618 991 388 683 751 252 624 179 999
+ -10000 598 846 300 89 482 740 431 942 180
+ -10000 726 835 261 708 47 35 355 970 802
+ -10000 756 991 673 774 286 235 598 309 71
+ -10000 417 858 542 928 406 771 1 69 962
+ -10000 509 264 981 887 504 117 728 673 262
+ -10000 351 739 35 952 51 557 33 106 22
+ -10000 677 130 1000 902 801 138 364 967 522
+ -10000 812 37 24 815 77 326 665 111 773
+ -10000 292 214 402 559 262 865 134 35 225
+ -10000 922 241 860 339 494 904 249 277 418
+ -10000 793 874 604 103 7 372 113 633 878
+ -10000 708 922 231 507 172 567 293 290 166
+ -10000 899 156 592 75 468 963 203 39 824
+ -10000 140 284 398 159 657 237 632 945 275
+ -10000 253 630 994 814 927 920 40 166 272
+ -10000 88 414 984 732 420 181 256 594 985
+ -10000 43 597 574 142 41 957 392 912 203
+ -10000 149 546 260 651 264 383 499 7 23
+ -10000 10 136 945 330 542 490 192 703 336
+ -10000 10 138 179 889 161 678 22 850 547
+ -10000 540 892 722 511 964 320 780 738 440
+ -10000 609 631 987 345 94 593 77 350 785
+ -10000 797 231 247 317 705 569 54 113 308
+ -10000 794 87 902 485 759 751 476 29 44
+ -10000 134 802 994 12 346 572 142 142 987
+ -10000 783 490 394 401 357 991 225 950 876
+ -10000 843 406 288 850 751 912 355 144 197
+ -10000 737 718 789 441 154 948 832 735 557
+ -10000 107 397 552 204 862 597 486 889 859
+ -10000 576 427 237 144 812 603 682 72 76
+ -10000 194 14 160 113 742 861 87 859 233
+ -10000 742 797 791 625 477 231 600 389 715
+ -10000 545 429 196 531 461 819 80 445 111
+ -10000 197 690 201 741 864 144 845 128 569
+ -10000 8 234 655 26 900 107 413 805 677
+ -10000 369 835 976 903 248 987 79 610 294
+ -10000 969 811 82 690 930 550 950 163 390
+ -10000 84 531 211 3 189 173 48 586 234
+ -10000 757 92 329 207 115 516 262 106 325
+ -10000 349 891 314 632 186 850 758 811 766
+ -10000 564 89 900 918 253 813 102 732 745
+ -10000 905 67 933 192 720 835 681 403 478
+ -10000 789 766 244 864 31 604 983 829 351
+ -10000 214 750 994 670 299 221 904 247 86
+ -10000 938 221 478 4 513 505 291 311 520
+ -10000 606 370 37 159 675 665 206 760 725
+ -10000 423 41 132 887 128 182 38 645 838
+ -10000 769 758 469 754 408 674 855 649 277
+ -10000 374 143 65 539 616 179 820 256 986
+ -10000 376 759 974 487 602 841 931 136 201
+ -10000 779 647 951 530 552 33 858 399 291
+ -10000 227 957 116 396 676 803 736 293 483
+ -10000 790 506 370 47 670 25 569 519 184
+ -10000 32 921 117 379 368 943 363 695 79
+ -10000 133 358 555 940 61 651 36 183 896
+ -10000 23 735 410 294 469 450 466 73 605
+ -10000 496 300 415 578 531 129 693 115 450
+ -10000 106 402 740 376 919 90 417 483 766
+ -10000 642 385 354 100 912 352 525 335 364
+ -10000 455 231 914 41 83 895 364 770 770
+ -10000 563 690 991 417 685 821 221 629 833
+ -10000 572 996 498 36 13 665 420 154 861
+ -10000 653 199 180 324 378 597 100 473 939
+ -10000 760 634 655 43 874 272 662 597 921
+ -10000 470 145 253 251 584 580 714 635 264
+ -10000 127 427 288 87 15 950 963 679 929
+ -10000 934 186 688 774 740 128 988 381 890
+ -10000 790 160 313 329 7 343 758 531 793
+ -10000 595 234 757 771 203 725 130 569 872
+ -10000 191 463 5 303 824 501 415 401 273
+ -10000 325 290 395 147 168 798 742 73 474
+ -10000 452 554 385 354 890 871 689 815 630
+ -10000 513 571 460 479 97 62 682 871 339
+ -10000 762 33 593 375 619 439 974 639 834
+ -10000 545 695 519 161 49 593 447 495 632
+ -10000 483 261 45 247 157 585 200 623 641
+ -10000 754 636 574 113 914 986 898 119 179
+ -10000 680 296 760 606 685 872 896 938 59
+ -10000 658 284 213 883 521 421 34 783 592
+ -10000 85 647 342 953 850 210 866 694 913
+ -10000 749 994 767 483 575 631 195 756 363
+ -10000 447 790 298 428 660 595 123 627 313
+ -10000 527 902 193 647 610 95 890 757 4
+ -10000 900 58 396 815 981 626 734 953 612
+ -10000 714 476 39 86 442 553 836 414 168
+ -10000 234 862 618 986 458 95 885 653 633
+ -10000 243 910 339 420 419 4 297 236 337
+ -10000 360 548 651 156 737 160 336 410 999
+ -10000 174 262 819 146 454 221 237 531 6
+ -10000 489 612 91 539 647 66 176 473 92
+ -10000 153 814 39 914 461 606 77 489 133
+ -10000 31 585 792 512 106 330 602 125 514
+ -10000 948 878 267 256 106 439 102 707 610
+ -10000 761 137 547 386 946 129 182 634 451
+ -10000 415 471 992 284 803 434 918 815 295
+ -10000 445 284 192 473 176 92 132 850 921
+ -10000 413 399 548 231 621 250 858 511 365
+ -10000 576 52 669 83 561 786 192 314 162
+ -10000 435 672 122 995 667 481 825 643 681
+ -10000 561 839 101 499 28 399 384 566 490
+ -10000 692 936 260 713 740 555 596 111 77
+ -10000 460 692 209 944 883 167 190 932 220
+ -10000 931 926 657 613 83 162 176 313 584
+ -10000 802 563 738 650 92 169 450 304 959
+ -10000 397 197 830 978 854 904 998 586 23
+ -10000 151 899 657 357 538 876 209 812 746
+ -10000 564 620 997 180 830 895 990 990 289
+ -10000 304 213 913 284 70 660 510 665 222
+ -10000 249 625 425 739 63 70 637 200 461
+ -10000 200 43 335 965 142 238 116 992 29
+ -10000 414 313 294 827 898 639 310 540 749
+ -10000 318 60 153 821 939 324 951 973 392
+ -10000 23 58 93 533 576 425 623 678 640
+ -10000 309 842 578 6 764 248 377 369 528
+ -10000 356 303 911 618 773 55 369 267 405
+ -10000 106 25 523 633 378 283 632 138 305
+ -10000 193 470 325 98 963 393 793 984 650
+ -10000 341 569 857 144 489 876 347 562 723
+ -10000 562 45 327 227 479 76 407 986 135
+ -10000 682 20 82 627 354 549 275 869 86
+ -10000 385 423 147 410 61 95 549 481 939
+ -10000 166 766 533 937 847 965 853 944 313
+ -10000 76 919 180 360 435 186 692 160 342
+ -10000 524 804 836 856 434 524 759 627 379
+ -10000 741 72 886 946 407 76 702 436 427
+ -10000 558 101 422 617 712 645 582 292 104
+ -10000 896 743 610 525 696 572 88 421 94
+ -10000 274 995 150 364 466 803 250 39 484
+ -10000 117 59 764 917 807 831 503 680 915
+ -10000 377 966 25 219 403 213 792 883 16
+ -10000 191 361 703 584 696 122 583 659 176
+ -10000 29 338 422 549 882 248 151 364 25
+ -10000 408 851 75 183 108 489 827 619 533
+ -10000 285 600 459 863 68 574 347 92 1
+ -10000 205 355 419 340 210 14 333 807 735
+ -10000 234 989 789 723 784 371 879 925 119
+ -10000 700 901 290 373 355 161 329 928 277
+ -10000 887 196 405 453 979 458 935 142 869
+ -10000 813 965 781 188 986 671 557 896 47
+ -10000 694 899 966 742 207 293 624 776 688
+ -10000 171 568 112 372 511 32 278 135 489
+ -10000 89 748 999 307 109 681 59 661 159
+ -10000 684 690 588 589 826 994 302 341 367
+ -10000 282 513 847 696 643 465 855 335 753
+ -10000 590 475 545 712 812 521 981 516 584
+ -10000 64 963 763 361 704 248 598 479 169
+ -10000 593 409 114 225 252 829 842 577 125
+ -10000 462 213 156 565 636 756 510 77 18
+ -10000 574 692 216 18 998 572 188 562 41
+ -10000 254 312 738 371 121 953 850 224 543
+ -10000 370 9 711 675 859 158 91 680 948
+ -10000 473 801 628 487 578 509 78 982 814
+ -10000 809 744 641 216 835 845 795 903 613
+ -10000 529 665 542 771 978 366 570 454 421
+ -10000 717 701 77 976 715 452 893 200 292
+ -10000 526 67 684 921 884 210 584 564 871
+ -10000 958 302 123 935 332 893 676 976 986
+ -10000 844 291 626 688 571 324 387 65 613
+ -10000 664 463 516 875 893 817 937 294 663
+ -10000 20 857 812 251 288 740 28 213 845
+ -10000 623 150 668 669 912 548 176 141 639
+ -10000 591 482 124 831 600 877 864 6 773
+ -10000 106 79 89 831 926 545 75 963 276
+ -10000 387 973 441 771 292 68 26 39 432
+ -10000 977 451 769 766 343 440 458 313 538
+ -10000 145 344 236 82 238 968 562 573 7
+ -10000 388 161 70 220 983 533 515 380 852
+ -10000 741 56 38 932 178 256 586 237 15
+ -10000 298 910 898 90 41 196 802 29 115
+ -10000 626 66 273 442 978 35 541 148 153
+ -10000 174 378 440 679 976 167 251 881 476
+ -10000 132 765 349 665 272 868 869 513 430
+ -10000 112 690 872 660 579 919 55 280 232
+ -10000 495 390 830 480 41 199 70 78 438
+ -10000 614 59 843 194 789 488 221 766 971
+ -10000 257 674 282 690 776 857 549 716 186
+ -10000 375 535 227 959 940 32 372 848 809
+ -10000 350 665 577 405 806 888 85 156 787
+ -10000 28 312 42 335 176 485 769 177 404
+ -10000 426 584 39 170 437 179 603 771 123
+ -10000 117 810 928 317 610 890 926 19 982
+ -10000 410 826 630 336 99 841 788 597 61
+ -10000 103 342 146 922 879 387 230 32 657
+ -10000 922 311 746 673 581 398 935 888 661
+ -10000 971 579 623 567 720 336 677 888 622
+ -10000 193 26 512 88 583 7 297 28 874
+ -10000 464 697 257 140 336 607 49 854 821
+ -10000 715 91 58 710 46 349 911 142 578
+ -10000 387 679 174 757 853 131 907 639 212
+ -10000 653 885 506 403 246 816 592 735 233
+ -10000 444 855 345 936 73 368 631 972 101
+ -10000 160 117 543 514 724 85 325 263 152
+ -10000 673 231 253 243 861 403 869 812 419
+ -10000 51 382 338 479 745 336 666 534 487
+ -10000 549 116 717 249 752 706 651 694 487
+ -10000 981 901 621 921 831 263 893 170 349
+ -10000 546 983 513 437 394 476 661 22 999
+ -10000 745 617 487 541 785 440 808 288 164
+ -10000 492 391 916 990 750 122 870 634 705
+ -10000 848 767 213 480 336 450 790 197 395
+ -10000 986 847 624 709 436 453 75 942 17
+ -10000 873 352 232 329 417 541 265 431 945
+ -10000 306 975 388 920 413 475 19 147 990
+ -10000 565 414 124 324 434 850 655 970 306
+ -10000 820 60 784 784 816 240 809 597 195
+ -10000 100 416 444 865 620 710 721 603 461
+ -10000 887 603 271 823 664 971 194 619 999
+ -10000 678 367 475 450 996 568 779 965 349
+ -10000 390 375 20 296 462 228 56 166 463
+ -10000 268 997 900 206 240 924 55 207 13
+ -10000 299 570 707 730 757 869 696 95 254
+ -10000 232 803 212 473 549 225 61 445 766
+ -10000 479 27 519 930 876 753 62 691 192
+ -10000 400 69 437 484 83 900 951 172 91
+ -10000 42 597 516 281 466 364 549 602 540
+ -10000 822 200 430 966 930 419 949 810 644
+ -10000 861 890 953 1000 889 353 433 993 403
+ -10000 860 962 611 472 813 780 849 226 974
+ -10000 934 598 401 80 490 319 377 901 229
+ -10000 684 55 908 691 979 675 488 962 316
+ -10000 735 540 6 171 714 643 50 585 809
+ -10000 556 666 565 341 687 923 274 856 138
+ -10000 806 366 578 155 454 342 876 455 737
+ -10000 467 869 627 67 699 176 844 927 331
+ -10000 307 636 668 1 734 623 726 691 601
+ -10000 509 601 814 119 205 617 301 468 441
+ -10000 423 678 245 199 964 788 122 76 18
+ -10000 692 436 818 671 532 391 407 561 500
+ -10000 420 536 875 90 986 581 380 659 214
+ -10000 252 265 2 951 565 929 141 308 863
+ -10000 65 246 724 539 946 962 700 84 529
+ -10000 856 345 504 346 91 423 411 676 161
+ -10000 710 560 215 343 598 602 585 107 308
+ -10000 595 193 337 894 263 824 809 127 813
+ -10000 401 332 574 23 447 220 654 744 157
+ -10000 853 604 436 455 707 622 1000 703 709
+ -10000 505 595 84 80 925 425 81 751 657
+ -10000 983 807 612 307 681 212 356 128 217
+ -10000 959 656 622 499 935 754 503 99 594
+ -10000 895 643 214 469 496 203 515 325 814
+ -10000 562 597 960 974 417 222 757 430 160
+ -10000 456 160 836 749 953 649 188 522 399
+ -10000 196 585 345 346 121 430 704 442 534
+ -10000 340 832 108 342 965 649 740 482 317
+ -10000 540 13 134 636 167 271 502 827 2
+ -10000 351 468 838 485 198 263 663 598 672
+ -10000 313 314 476 222 703 226 928 101 480
+ -10000 51 581 449 611 416 620 1000 196 863
+ -10000 4 101 954 826 597 453 766 309 859
+ -10000 764 497 542 278 281 419 884 71 559
+ -10000 205 941 655 796 212 793 245 347 665
+ -10000 181 985 24 867 962 838 530 537 365
+ -10000 790 998 814 92 577 51 990 127 11
+ -10000 588 813 460 616 616 603 428 590 895
+ -10000 163 601 540 446 334 319 840 592 670
+ -10000 107 357 120 982 294 123 752 715 841
+ -10000 960 304 524 8 456 899 429 385 65
+ -10000 107 299 853 623 885 208 718 657 762
+ -10000 407 53 109 505 576 57 458 489 377
+ -10000 868 47 423 778 276 856 382 170 453
+ -10000 367 428 336 774 687 132 787 670 91
+ -10000 682 982 419 249 662 835 465 858 338
+ -10000 431 464 109 986 920 765 463 22 94
+ -10000 601 553 947 734 814 420 978 699 682
+ -10000 884 362 263 263 741 158 300 577 848
+ -10000 987 123 559 760 779 197 98 839 483
+ -10000 426 255 721 19 691 494 101 873 704
+ -10000 941 317 345 328 950 341 313 806 185
+ -10000 606 983 545 661 73 675 23 704 431
+ -10000 134 78 878 499 906 313 548 633 922
+ -10000 822 399 798 93 859 686 203 703 196
+ -10000 652 945 515 394 555 141 884 648 236
+ -10000 282 27 925 13 617 974 112 442 669
+ -10000 325 514 574 410 113 821 319 836 958
+ -10000 356 605 660 586 792 704 338 244 947
+ -10000 364 717 77 182 141 121 789 37 233
+ -10000 26 972 524 752 942 161 302 381 444
+ -10000 474 601 736 164 724 291 785 366 235
+ -10000 196 428 599 749 445 956 91 89 825
+ -10000 405 792 726 80 678 203 812 961 643
+ -10000 773 414 485 273 326 348 222 465 45
+ -10000 367 434 854 89 67 817 836 433 552
+ -10000 895 106 9 893 74 696 488 593 119
+ -10000 730 58 667 776 432 882 405 539 850
+ -10000 257 699 874 279 878 136 761 425 212
+ -10000 319 419 74 877 983 279 822 183 294
+ -10000 86 627 21 255 620 34 847 384 918
+ -10000 164 675 616 791 55 954 443 365 224
+ -10000 289 880 970 316 798 76 505 895 539
+ -10000 597 722 602 15 841 516 328 103 660
+ -10000 95 68 279 836 759 7 852 536 463
+ -10000 9 429 674 223 789 215 856 422 2
+ -10000 0 59 845 1000 532 424 516 348 620
+ -10000 202 923 909 149 242 95 216 316 672
+ -10000 828 246 461 149 105 91 152 584 326
+ -10000 455 545 112 1 718 912 791 757 860
+ -10000 455 792 204 894 543 722 346 174 580
+ -10000 325 902 714 397 239 130 836 392 836
+ -10000 264 12 778 640 913 923 154 892 198
+ -10000 309 931 306 679 486 700 303 145 438
+ -10000 715 138 20 242 966 36 869 812 868
+ -10000 704 141 702 667 440 12 642 10 944
+ -10000 623 859 857 631 849 770 267 8 329
+ -10000 610 322 547 27 366 987 785 867 809
+ -10000 97 578 331 665 409 596 156 851 292
+ -10000 203 951 910 794 358 41 819 419 167
+ -10000 570 32 198 386 205 760 60 994 660
+ -10000 383 349 553 172 382 88 753 803 195
+ -10000 439 260 522 57 881 604 676 915 155
+ -10000 896 273 190 192 785 808 951 434 821
+ -10000 437 408 231 19 84 308 921 970 386
+ -10000 451 255 99 620 817 527 335 551 155
+ -10000 0 944 561 654 713 977 505 171 556
+ -10000 525 109 559 572 786 709 54 716 100
+ -10000 701 251 682 371 422 232 165 263 430
+ -10000 768 302 247 40 982 457 327 102 740
+ -10000 617 827 70 956 516 903 175 101 958
+ -10000 785 663 685 547 200 981 68 727 975
+ -10000 299 738 348 876 301 759 446 369 891
+ -10000 805 68 170 565 63 158 85 770 322
+ -10000 110 612 617 680 684 538 254 445 212
+ -10000 121 339 53 97 667 29 80 585 262
+ -10000 166 703 189 15 837 285 271 977 92
+ -10000 154 669 962 454 950 493 20 966 26
+ -10000 469 366 192 506 161 834 739 761 635
+ -10000 828 781 36 589 699 803 607 599 790
+ -10000 578 330 464 838 853 966 225 750 304
+ -10000 564 702 347 663 483 523 688 185 443
+ -10000 837 161 940 504 289 498 2 569 55
+ -10000 495 442 11 811 908 627 567 699 596
+ -10000 883 408 468 533 416 216 760 3 55
+ -10000 975 117 70 87 485 235 690 505 14
+ -10000 579 132 973 936 149 402 767 346 710
+ -10000 994 822 9 812 966 226 829 239 808
+ -10000 44 215 11 291 853 473 751 441 51
+ -10000 203 600 635 16 588 808 34 451 568
+ -10000 399 75 369 641 987 358 147 388 179
+ -10000 192 828 722 658 858 449 522 7 733
+ -10000 474 425 353 148 955 823 726 336 67
+ -10000 702 465 194 717 835 221 402 695 730
+ -10000 194 703 498 798 441 244 61 142 239
+ -10000 207 374 725 704 41 482 20 604 241
+ -10000 6 879 184 348 548 576 140 610 202
+ -10000 293 620 493 10 780 794 914 190 726
+ -10000 368 270 350 505 548 741 161 365 828
+ -10000 8 14 516 999 205 677 354 98 197
+ -10000 930 447 282 147 446 70 802 829 899
+ -10000 508 276 714 199 46 608 45 207 851
+ -10000 193 648 992 190 308 129 270 315 329
+ -10000 245 638 174 896 838 439 627 847 37
+ -10000 371 311 691 755 904 537 652 549 225
+ -10000 421 630 66 219 244 74 72 976 58
+ -10000 702 525 995 80 194 129 203 417 431
+ -10000 431 777 44 895 421 464 77 175 851
+ -10000 214 472 500 94 289 73 220 34 165
+ -10000 184 461 523 762 174 938 153 534 319
+ -10000 386 129 636 806 228 345 90 891 507
+ -10000 107 403 665 590 579 513 74 776 82
+ -10000 230 918 817 251 285 256 985 656 644
+ -10000 919 630 842 76 14 34 971 165 335
+ -10000 667 319 286 519 968 467 84 585 599
+ -10000 774 814 959 89 750 846 64 896 644
+ -10000 474 711 50 502 660 382 19 256 845
+ -10000 727 635 783 980 341 259 490 752 617
+ -10000 410 189 947 458 948 128 642 353 998
+ -10000 461 791 881 160 318 955 525 523 884
+ -10000 233 114 10 99 283 489 936 580 577
+ -10000 92 447 949 854 343 519 223 716 706
+ -10000 424 121 454 190 6 374 880 83 563
+ -10000 549 348 44 606 557 956 109 181 823
+ -10000 550 876 291 810 787 963 105 454 27
+ -10000 89 646 816 304 802 656 352 24 828
+ -10000 793 348 667 133 615 954 982 864 644
+ -10000 846 709 88 369 238 519 629 904 465
+ -10000 340 1000 185 513 537 586 321 414 395
+ -10000 810 999 365 498 359 51 497 17 454
+ -10000 91 820 867 829 468 198 894 138 72
+ -10000 53 176 428 726 631 767 13 295 300
+ -10000 661 540 27 221 563 724 767 224 362
+ -10000 8 315 169 875 218 294 393 369 81
+ -10000 156 345 521 588 535 441 928 70 874
+ -10000 45 212 891 727 308 994 491 634 120
+ -10000 717 641 995 805 107 330 943 461 93
+ -10000 251 987 51 133 679 503 572 184 512
+ -10000 568 178 24 654 254 232 343 346 457
+ -10000 50 815 877 278 626 1000 577 652 791
+ -10000 227 356 336 516 441 949 357 779 498
+ -10000 65 965 369 593 343 262 828 86 759
+ -10000 520 285 968 256 373 336 361 495 762
+ -10000 985 482 49 781 275 8 211 381 476
+ -10000 488 55 514 436 62 678 578 593 735
+ -10000 355 639 322 446 301 71 786 723 904
+ -10000 668 888 455 208 172 764 181 582 1000
+ -10000 665 931 455 238 338 720 184 655 705
+ -10000 386 34 939 505 257 821 571 853 290
+ -10000 201 395 814 245 843 309 495 669 793
+ -10000 646 689 23 921 599 488 573 724 164
+ -10000 409 494 550 714 489 113 231 220 386
+ -10000 801 737 757 616 469 976 568 230 274
+ -10000 21 378 813 806 981 189 787 821 879
+ -10000 874 543 466 646 281 603 231 359 282
+ -10000 756 870 828 396 317 8 797 366 451
+ -10000 744 632 405 772 914 714 125 994 553
+ -10000 470 938 76 29 741 373 993 18 635
+ -10000 651 710 398 1000 549 67 875 174 91
+ -10000 712 166 114 323 35 207 636 755 686
+ -10000 719 395 426 208 598 249 498 941 693
+ -10000 104 39 19 554 502 813 810 255 666
+ -10000 470 482 970 162 955 752 249 738 728
+ -10000 50 706 463 646 451 250 847 866 21
+ -10000 129 912 909 509 583 241 585 611 432
+ -10000 172 599 562 605 243 941 429 568 628
+ -10000 831 876 627 217 942 998 804 836 983
+ -10000 446 99 646 309 561 447 739 715 635
+ -10000 906 175 430 163 438 183 332 417 441
+ -10000 617 159 337 532 913 471 978 133 297
+ -10000 678 906 855 71 944 383 510 303 255
+ -10000 659 388 387 894 720 661 682 708 745
+ -10000 800 490 978 330 152 784 495 814 681
+ -10000 370 112 117 930 491 25 10 117 449
+ -10000 865 615 134 60 630 791 567 867 79
+ -10000 699 865 672 183 645 536 74 485 671
+ -10000 209 636 635 664 618 790 308 387 192
+ -10000 245 645 670 750 558 414 125 348 742
+ -10000 478 405 573 997 582 749 799 74 963
+ -10000 827 552 317 36 639 789 318 42 659
+ -10000 121 648 81 345 667 468 516 150 652
+ -10000 569 226 308 0 384 387 651 433 935
+ -10000 879 856 439 660 116 147 865 194 179
+ -10000 986 913 478 8 4 83 984 845 995
+ -10000 965 108 618 485 442 936 620 972 47
+ -10000 651 62 707 746 3 733 386 9 659
+ -10000 675 251 130 637 539 158 306 554 260
+ -10000 69 285 796 632 393 591 884 833 477
+ -10000 537 406 933 972 463 837 486 446 502
+ -10000 613 922 410 762 645 128 248 368 523
+ -10000 579 146 216 867 926 767 954 874 530
+ -10000 933 552 242 236 558 752 676 495 872
+ -10000 268 845 253 903 503 393 551 593 908
+ -10000 436 856 224 114 310 816 421 352 222
+ -10000 720 683 983 818 954 339 621 946 696
+ -10000 926 630 14 806 971 483 513 143 890
+ -10000 796 718 71 391 613 136 626 543 326
+ -10000 748 843 614 703 403 507 748 629 79
+ -10000 696 732 122 302 499 423 781 925 893
+ -10000 792 238 478 66 319 67 984 490 218
+ -10000 352 447 323 433 886 367 370 955 59
+ -10000 136 776 671 485 717 780 767 24 874
+ -10000 846 957 788 779 878 583 385 133 778
+ -10000 471 968 878 922 606 318 340 811 769
+ -10000 610 234 549 361 748 846 983 518 840
+ -10000 755 444 469 528 188 631 895 515 959
+ -10000 498 364 929 957 258 396 188 72 295
+ -10000 574 553 168 736 390 187 256 312 283
+ -10000 717 396 794 981 301 616 633 329 96
+ -10000 44 28 230 882 154 688 827 377 908
+ -10000 200 875 541 153 100 867 216 41 968
+ -10000 763 211 445 108 224 676 703 40 231
+ -10000 27 665 512 981 192 105 802 352 964
+ -10000 465 350 327 135 444 340 439 518 209
+ -10000 165 450 274 548 668 689 286 346 237
+ -10000 493 182 900 426 165 710 353 64 924
+ -10000 646 410 878 577 841 527 457 228 575
+ -10000 105 634 646 941 380 218 76 132 703
+ -10000 219 383 637 496 592 309 673 400 956
+ -10000 973 953 518 381 646 79 276 626 224
+ -10000 876 136 886 811 647 556 113 148 268
+ -10000 132 334 166 835 972 283 580 610 948
+ -10000 994 481 491 670 892 387 586 677 443
+ -10000 409 755 305 934 776 822 609 617 526
+ -10000 889 353 168 910 418 619 896 549 77
+ -10000 218 95 283 580 421 883 55 221 378
+ -10000 521 693 765 332 256 983 866 628 414
+ -10000 760 750 941 97 959 46 827 378 827
+ -10000 895 30 197 403 153 77 104 181 966
+ -10000 948 226 654 326 134 37 337 842 561
+ -10000 457 871 356 602 333 187 205 496 305
+ -10000 653 962 199 338 532 658 64 896 973
+ -10000 245 595 774 61 666 307 690 75 585
+ -10000 441 928 335 217 637 766 333 595 856
+ -10000 731 355 662 757 446 58 114 598 990
+ -10000 857 178 495 698 652 997 965 344 454
+ -10000 252 33 20 278 397 627 943 186 565
+ -10000 101 583 661 60 470 637 137 83 81
+ -10000 414 624 297 457 292 136 170 95 89
+ -10000 469 84 330 841 749 209 504 623 394
+ -10000 249 538 69 968 236 25 545 245 372
+ -10000 124 325 575 510 305 673 882 371 614
+ -10000 402 764 486 103 96 788 559 307 339
+ -10000 131 48 655 614 441 540 420 95 993
+ -10000 607 44 870 214 912 979 220 506 485
+ -10000 60 905 396 766 36 861 496 100 390
+ -10000 98 6 765 851 647 159 762 916 927
+ -10000 79 284 585 813 498 754 376 464 853
+ -10000 372 978 213 607 77 443 742 270 451
+ -10000 355 142 800 573 614 560 138 123 202
+ -10000 363 921 401 782 97 860 745 927 362
+ -10000 31 384 719 247 711 457 965 326 242
+ -10000 551 845 502 917 903 251 88 592 329
+ -10000 488 66 469 808 23 974 222 745 971
+ -10000 85 763 747 189 58 109 55 764 17
+ -10000 268 580 52 85 433 241 379 77 617
+ -10000 86 390 899 388 115 373 722 903 324
+ -10000 710 872 655 577 937 752 282 311 304
+ -10000 399 557 20 708 499 310 376 257 404
+ -10000 98 92 254 568 339 367 66 594 671
+ -10000 506 696 122 926 240 268 700 151 878
+ -10000 830 775 404 168 648 182 792 412 42
+ -10000 594 785 141 30 344 915 579 864 147
+ -10000 445 208 157 858 232 176 905 403 535
+ -10000 380 532 488 961 769 894 841 317 809
+ -10000 459 171 387 799 444 921 535 737 632
+ -10000 76 661 399 832 955 811 379 542 152
+ -10000 340 801 922 93 761 876 503 776 928
+ -10000 405 558 207 906 735 465 724 817 983
+ -10000 757 998 394 593 907 66 932 91 696
+ -10000 691 401 32 920 992 79 374 383 678
+ -10000 17 771 794 55 733 694 720 261 859
+ -10000 820 418 457 361 82 733 812 116 790
+ -10000 631 916 359 839 690 995 747 595 609
+ -10000 186 766 309 807 474 337 106 922 247
+ -10000 746 597 537 177 791 695 636 499 978
+ -10000 517 901 878 4 819 559 719 124 631
+ -10000 300 492 815 782 20 486 613 964 644
+ -10000 425 285 682 750 912 451 60 794 752
+ -10000 357 664 459 550 994 370 553 331 997
+ -10000 445 301 909 755 791 461 840 522 44
+ -10000 835 412 803 910 53 517 388 142 504
+ -10000 188 310 994 588 248 388 471 556 868
+ -10000 419 318 968 989 68 171 474 49 164
+ -10000 580 159 794 691 442 838 647 423 769
+ -10000 914 855 287 85 949 800 565 1000 47
+ -10000 891 195 353 741 644 579 730 540 427
+ -10000 101 607 7 136 881 680 537 679 338
+ -10000 762 199 946 652 141 328 445 212 376
+ -10000 324 833 262 887 804 626 516 845 326
+ -10000 34 546 538 482 163 344 9 390 484
+ -10000 713 459 814 419 572 646 46 660 344
+ -10000 936 405 838 494 755 67 627 543 54
+ -10000 297 358 122 697 451 676 480 630 649
+ -10000 431 121 136 347 348 765 629 496 120
+ -10000 668 1 855 584 59 426 272 258 698
+ -10000 946 16 566 268 410 552 146 992 367
+ -10000 893 289 419 454 684 581 75 807 197
+ -10000 613 207 147 604 102 66 325 346 612
+ -10000 601 770 614 754 681 981 58 108 90
+ -10000 973 323 8 603 931 472 830 394 373
+ -10000 913 692 906 798 223 168 935 343 215
+ -10000 322 716 391 237 80 829 745 157 50
+ -10000 459 840 350 783 580 578 651 678 138
+ -10000 977 309 345 362 964 607 116 388 584
+ -10000 245 335 845 846 833 743 414 300 105
+ -10000 191 348 137 307 912 185 674 709 707
+ -10000 264 616 217 268 310 609 813 78 66
+ -10000 951 192 795 464 372 783 89 946 280
+ -10000 355 560 799 919 100 838 736 665 673
+ -10000 738 821 881 272 475 921 487 717 682
+ -10000 474 993 912 794 178 320 300 870 725
+ -10000 702 407 641 45 703 655 723 944 879
+ -10000 514 112 205 133 131 3 416 814 490
+ -10000 932 153 759 783 82 699 265 246 156
+ -10000 392 958 369 208 44 134 795 376 850
+ -10000 373 102 999 690 393 695 179 514 64
+ -10000 869 590 435 847 49 278 604 65 860
+ -10000 290 757 835 414 569 357 512 805 239
+ -10000 655 951 920 447 553 342 407 449 968
+ -10000 40 321 346 860 888 240 255 191 355
+ -10000 630 91 945 755 505 863 326 270 925
+ -10000 262 85 712 657 195 22 158 809 175
+ -10000 839 186 12 388 271 619 116 290 375
+ -10000 883 695 870 179 733 298 255 672 953
+ -10000 98 311 292 605 64 788 926 10 350
+ -10000 448 683 154 85 936 672 857 87 461
+ -10000 427 590 329 321 427 365 161 242 718
+ -10000 46 962 23 897 270 863 466 326 742
+ -10000 599 528 488 563 437 548 122 697 631
+ -10000 83 554 900 900 195 517 324 236 249
+ -10000 544 556 564 550 315 491 889 500 69
+ -10000 323 619 620 885 1000 986 228 297 172
+ -10000 916 825 277 121 300 346 339 798 279
+ -10000 767 885 856 77 819 452 453 246 733
+ -10000 427 603 636 961 302 263 890 717 779
+ -10000 42 568 38 397 539 52 226 41 525
+ -10000 804 655 687 425 794 924 721 442 542
+ -10000 830 895 872 255 3 777 541 648 507
+ -10000 500 19 977 511 191 286 807 745 675
+ -10000 565 343 34 241 495 50 589 482 848
+ -10000 861 711 719 137 64 143 36 607 715
+ -10000 403 993 132 529 886 460 120 576 841
+ -10000 423 406 248 306 353 139 118 438 562
+ -10000 444 166 3 659 762 111 828 269 12
+ -10000 518 758 952 201 887 398 348 607 507
+ -10000 294 277 267 770 722 60 696 491 306
+ -10000 743 970 112 665 429 484 142 351 2
+ -10000 567 302 128 386 968 47 302 130 610
+ -10000 968 699 572 806 93 700 38 479 243
+ -10000 320 651 251 835 361 89 460 273 557
+ -10000 520 190 622 843 730 517 779 810 389
+ -10000 203 690 602 635 901 401 568 398 990
+ -10000 421 606 935 963 607 665 127 191 735
+ -10000 453 756 711 389 767 748 680 69 916
+ -10000 867 766 18 367 516 868 710 354 686
+ -10000 963 256 209 827 365 9 109 628 564
+ -10000 446 194 481 50 305 633 878 844 581
+ -10000 350 807 544 695 232 796 299 416 561
+ -10000 913 997 393 648 213 487 340 291 387
+ -10000 562 506 651 674 494 251 814 633 879
+ -10000 971 980 186 40 630 849 69 454 857
+ -10000 147 105 113 700 313 8 212 903 410
+ -10000 539 94 609 127 31 813 96 644 766
+ -10000 671 961 941 730 421 117 733 440 351
+ -10000 958 710 365 856 172 468 112 188 921
+ -10000 948 689 683 23 931 243 134 252 405
+ -10000 471 908 132 301 137 997 493 138 551
+ -10000 566 396 616 47 933 558 444 212 848
+ -10000 607 410 457 245 97 937 969 892 441
+ -10000 359 182 949 75 428 162 833 253 663
+ -10000 802 877 560 65 781 886 319 635 993
+ -10000 553 312 165 449 336 679 700 782 212
+ -10000 988 392 720 483 617 95 771 37 472
+ -10000 704 406 363 547 466 807 575 107 578
+ -10000 972 886 549 553 354 208 43 240 878
+ -10000 509 534 745 620 761 905 365 769 350
+ -10000 817 327 211 606 132 305 775 146 747
+ -10000 513 283 244 417 514 277 176 248 621
+ -10000 728 247 612 271 858 132 197 936 101
+ -10000 333 781 111 336 913 966 716 144 573
+ -10000 289 382 131 141 454 200 484 932 189
+ -10000 862 236 127 783 12 957 477 816 638
+ -10000 133 751 864 613 917 409 357 98 881
+ -10000 686 84 750 136 572 948 263 546 401
+ -10000 576 179 71 446 282 390 108 676 928
+ -10000 442 602 859 752 443 387 657 955 297
+ -10000 723 534 845 403 921 128 486 566 114
+ -10000 255 316 693 197 378 715 869 36 726
+ -10000 398 652 482 36 74 791 550 955 1
+ -10000 927 605 118 89 519 70 458 796 967
+ -10000 540 470 704 678 212 369 112 186 653
+ -10000 907 182 774 822 142 608 358 449 259
+ -10000 555 891 952 266 343 975 84 661 24
+ -10000 619 350 91 140 691 232 290 571 666
+ -10000 730 856 741 357 733 435 630 7 616
+ -10000 765 638 476 963 210 896 382 582 965
+ -10000 75 816 942 757 100 247 137 474 398
+ -10000 323 684 355 743 295 961 269 242 593
+ -10000 224 446 95 52 478 870 744 167 310
+ -10000 250 531 382 359 804 218 608 882 12
+ -10000 872 982 191 510 113 97 304 985 551
+ -10000 883 595 960 347 89 787 519 885 34
+ -10000 983 101 939 866 270 30 968 731 435
+ -10000 572 523 982 426 509 378 369 357 479
+ -10000 681 206 172 536 307 160 110 359 492
+ -10000 77 751 964 127 455 162 620 893 17
+ -10000 112 877 358 296 553 372 337 254 887
+ -10000 198 381 387 489 267 812 152 557 260
+ -10000 845 25 1000 304 837 794 131 592 556
+ -10000 670 308 260 128 652 928 966 941 559
+ -10000 830 148 127 786 191 217 485 174 851
+ -10000 618 786 269 632 821 364 36 202 347
+ -10000 138 66 153 949 208 70 20 269 224
+ -10000 260 26 142 574 980 985 311 767 585
+ -10000 86 902 859 583 12 688 622 117 636
+ -10000 769 510 982 368 829 171 376 193 628
+ -10000 198 460 278 987 97 932 64 327 448
+ -10000 910 585 14 211 86 414 256 711 377
+ -10000 488 983 730 698 254 292 569 485 964
+ -10000 376 876 311 446 653 773 438 58 740
+ -10000 548 935 863 30 809 376 621 13 46
+ -10000 192 725 536 958 541 346 370 75 69
+ -10000 499 724 144 60 302 195 246 483 307
+ -10000 650 129 873 478 50 48 113 86 520
+ -10000 54 353 996 155 122 572 871 984 368
+ -10000 157 693 291 512 98 105 84 312 362
+ -10000 557 465 416 575 858 383 902 284 211
+ -10000 438 166 506 633 847 742 609 256 674
+ -10000 771 456 172 497 429 933 762 459 816
+ -10000 197 31 439 438 17 827 183 199 977
+ -10000 236 756 387 927 491 820 699 183 518
+ -10000 263 865 416 223 276 522 330 876 945
+ -10000 589 905 80 888 676 186 410 902 775
+ -10000 348 600 341 495 356 320 725 366 566
+ -10000 391 763 238 762 6 880 763 789 883
+ -10000 815 625 51 905 782 155 8 256 217
+ -10000 802 601 602 412 78 721 1 129 477
+ -10000 45 942 479 297 866 264 179 668 128
+ -10000 994 360 827 1 95 392 965 374 578
+ -10000 659 734 679 601 74 836 90 213 957
+ -10000 953 832 486 789 193 778 389 568 126
+ -10000 621 954 660 462 483 816 167 597 424
+ -10000 996 566 383 812 65 341 996 338 419
+ -10000 212 410 530 210 439 933 965 796 100
+ -10000 284 953 381 406 349 827 573 874 339
+ -10000 397 380 511 298 254 664 175 687 36
+ -10000 816 448 666 113 523 177 588 514 933
+ -10000 578 436 644 489 372 519 167 744 172
+ -10000 857 871 13 830 535 647 875 594 777
+ -10000 71 440 192 460 953 5 871 740 438
+ -10000 398 758 997 298 131 405 308 445 0
+ -10000 405 471 591 334 535 6 497 248 443
+ -10000 954 687 416 416 790 969 685 536 686
+ -10000 317 349 300 284 269 247 227 879 797
+ -10000 515 316 372 529 277 543 355 343 297
+ -10000 516 260 273 245 899 153 248 773 762
+ -10000 16 304 756 87 48 132 977 695 657
+ -10000 887 693 396 641 461 939 586 972 70
+ -10000 164 12 627 962 929 527 860 942 989
+ -10000 750 526 465 565 345 994 452 603 915
+ -10000 80 480 830 523 419 547 107 412 742
+ -10000 28 287 107 848 977 981 667 571 81
+ -10000 521 148 573 552 569 939 260 101 720
+ -10000 999 444 332 376 9 874 759 795 33
+ -10000 905 560 160 582 535 829 433 979 480
+ -10000 859 200 375 479 442 588 730 367 808
+ -10000 150 775 359 998 872 437 632 791 370
+ -10000 939 732 98 914 148 721 946 372 461
+ -10000 295 178 999 1 170 624 235 441 975
+ -10000 736 48 371 858 866 314 403 634 34
+ -10000 537 162 189 741 973 804 187 959 547
+ -10000 573 82 523 135 440 515 616 162 498
+ -10000 194 260 996 397 861 16 674 854 495
+ -10000 448 46 704 131 510 901 350 950 294
+ -10000 637 167 258 798 270 261 254 853 130
+ -10000 62 211 215 473 670 586 426 261 226
+ -10000 651 157 855 228 334 69 221 281 370
+ -10000 999 811 603 581 674 20 127 220 715
+ -10000 603 589 809 339 418 547 44 471 655
+ -10000 13 797 929 432 749 592 982 756 692
+ -10000 655 750 581 447 852 739 263 699 930
+ -10000 227 748 251 345 213 945 738 669 847
+ -10000 844 41 193 787 321 739 137 5 909
+ -10000 267 794 833 397 906 155 260 767 137
+ -10000 828 779 710 661 73 993 420 121 735
+ -10000 626 745 379 758 830 863 376 54 159
+ -10000 158 651 890 423 15 906 588 322 725
+ -10000 74 643 766 571 212 658 467 510 621
+ -10000 143 145 444 287 47 302 725 151 886
+ -10000 776 684 483 818 549 268 631 930 136
+ -10000 922 814 210 162 3 201 917 673 229
+ -10000 604 542 704 738 185 143 725 465 968
+ -10000 196 821 460 436 415 29 903 447 280
+ -10000 430 232 927 794 277 645 736 269 898
+ -10000 247 852 515 951 259 783 556 301 687
+ -10000 624 471 900 89 818 833 196 155 204
+ -10000 500 173 2 261 525 805 675 396 951
+ -10000 672 554 117 33 96 570 349 712 704
+ -10000 919 897 117 733 212 481 586 183 468
+ -10000 446 422 71 185 377 391 592 372 470
+ -10000 642 76 578 730 216 872 138 852 377
+ -10000 360 606 185 836 849 359 525 217 85
+ -10000 271 574 526 360 20 297 351 140 783
+ -10000 87 763 668 117 777 162 630 54 408
+ -10000 921 981 7 551 962 43 886 764 163
+ -10000 698 498 117 695 390 606 928 337 163
+ -10000 81 536 548 967 131 270 942 608 224
+ -10000 340 282 253 357 951 394 502 400 893
+ -10000 7 882 317 594 156 935 581 183 308
+ -10000 565 677 943 202 540 855 70 618 568
+ -10000 504 129 346 550 442 1 697 565 80
+ -10000 582 752 182 46 40 908 389 943 69
+ -10000 852 210 439 84 840 565 800 90 387
+ -10000 283 934 515 249 124 98 870 209 886
+ -10000 60 480 333 210 438 29 716 881 455
+ -10000 352 380 563 325 801 352 717 549 660
+ -10000 228 926 227 77 942 408 421 285 92
+ -10000 598 404 276 673 813 888 8 536 84
+ -10000 464 596 354 786 311 241 248 582 227
+ -10000 430 571 676 367 672 142 248 145 269
+ -10000 673 123 188 825 510 954 664 245 753
+ -10000 329 225 235 869 597 476 901 102 751
+ -10000 734 649 468 739 366 967 711 636 990
+ -10000 59 194 967 666 382 839 85 983 578
+ -10000 775 17 455 373 678 403 269 523 1000
+ -10000 861 493 379 324 108 268 490 742 641
+ -10000 739 487 779 370 955 134 107 698 965
+ -10000 843 993 423 719 980 733 100 558 918
+ -10000 211 125 262 129 15 49 282 490 864
+ -10000 891 354 850 118 152 91 553 760 805
+ -10000 890 352 794 282 220 706 242 258 211
+ -10000 685 500 384 58 81 567 275 459 659
+ -10000 167 517 330 487 766 311 812 764 852
+ -10000 356 374 2 342 673 291 4 309 405
+ -10000 809 421 762 241 611 98 337 659 500
+ -10000 504 956 636 107 723 936 950 934 436
+ -10000 566 817 847 278 845 308 150 458 168
+ -10000 762 135 400 556 626 200 849 182 490
+ -10000 431 649 751 76 820 125 273 29 644
+ -10000 682 490 656 264 183 892 428 239 112
+ -10000 969 862 809 598 964 784 422 116 990
+ -10000 513 182 900 788 690 573 753 834 389
+ -10000 801 339 492 952 255 830 24 669 713
+ -10000 874 926 287 336 794 377 115 172 272
+ -10000 170 210 511 523 136 18 899 682 94
+ -10000 229 888 843 639 167 560 814 298 612
+ -10000 510 565 965 80 251 478 548 940 633
+ -10000 966 612 773 344 101 336 462 375 312
+ -10000 749 617 536 895 831 640 366 698 955
+ -10000 939 665 650 718 654 411 471 172 964
+ -10000 2 555 959 957 733 353 414 988 907
+ -10000 462 803 484 462 112 32 987 681 653
+ -10000 927 330 200 615 362 733 497 333 253
+ -10000 826 31 110 84 375 98 541 490 330
+ -10000 590 453 237 646 694 848 655 834 551
+ -10000 950 999 223 709 725 191 347 689 717
+ -10000 388 694 361 626 242 226 936 63 313
+ -10000 624 160 722 332 885 454 636 972 992
+ -10000 545 282 226 904 512 240 352 981 944
+ -10000 203 281 291 846 1000 133 464 138 408
+ -10000 720 952 511 855 221 724 938 441 813
+ -10000 773 759 8 158 359 823 85 335 54
+ -10000 341 901 133 425 242 890 302 462 861
+ -10000 848 925 295 336 410 875 407 371 907
+ -10000 352 638 471 79 142 635 582 115 481
+ -10000 626 888 58 404 41 157 766 336 963
+ -10000 607 304 667 230 199 588 181 337 378
+ -10000 970 687 866 440 691 838 476 69 105
+ -10000 100 128 373 381 13 34 749 871 11
+ -10000 567 250 348 583 255 178 146 514 197
+ -10000 943 89 662 421 280 810 239 698 939
+ -10000 498 928 971 131 425 839 595 270 124
+ -10000 303 679 763 729 678 372 289 772 95
+ -10000 343 996 999 808 425 976 387 809 55
+ -10000 930 643 615 524 983 236 352 49 210
+ -10000 634 478 590 79 90 137 40 539 803
+ -10000 560 863 946 8 844 457 820 922 222
+ -10000 591 726 558 206 669 577 272 27 928
+ -10000 47 633 100 825 685 821 222 897 900
+ -10000 187 335 298 835 844 240 485 561 241
+ -10000 757 568 739 44 332 958 469 494 911
+ -10000 437 639 313 497 634 438 646 277 343
+ -10000 809 86 741 359 3 199 389 701 400
+ -10000 895 251 516 77 595 909 470 964 873
+ -10000 833 703 227 347 995 441 82 688 466
+ -10000 79 972 721 601 809 136 924 8 375
+ -10000 395 697 510 755 580 334 697 424 660
+ -10000 714 244 599 0 919 849 168 33 510
+ -10000 383 318 260 331 989 903 714 27 170
+ -10000 798 480 437 175 866 580 273 335 475
+ -10000 299 549 113 108 634 192 883 755 931
+ -10000 719 313 809 206 847 749 54 258 756
+ -10000 171 32 785 641 822 382 788 275 546
+ -10000 111 80 185 733 240 899 297 798 313
+ -10000 467 456 107 166 780 727 312 777 761
+ -10000 592 119 218 286 286 405 625 931 628
+ -10000 832 41 300 707 205 690 550 619 122
+ -10000 607 907 744 513 122 540 268 809 262
+ -10000 659 740 166 709 157 301 74 224 322
+ -10000 166 137 570 295 939 26 956 267 475
+ -10000 649 430 912 817 436 982 807 471 420
+ -10000 124 289 771 179 90 428 460 64 434
+ -10000 789 525 470 68 684 390 365 38 122
+ -10000 806 843 590 50 268 460 929 139 251
+ -10000 316 379 148 391 137 681 953 996 462
+ -10000 782 630 299 197 583 88 31 497 741
+ -10000 482 620 309 712 904 200 850 890 76
+ -10000 834 653 592 280 787 480 890 601 699
+ -10000 744 506 356 12 909 83 907 723 96
+ -10000 48 338 210 489 39 552 483 334 961
+ -10000 754 175 599 645 198 329 243 931 248
+ -10000 252 241 821 22 218 113 0 887 129
+ -10000 846 649 784 756 192 95 789 654 85
+ -10000 418 974 615 770 569 748 880 9 615
+ -10000 143 904 132 953 763 893 632 968 119
+ -10000 297 675 562 351 574 506 93 686 255
+ -10000 93 333 552 937 333 105 433 976 696
+ -10000 750 760 905 89 978 817 504 348 612
+ -10000 829 315 52 91 392 141 249 100 288
+ -10000 185 757 754 591 133 994 52 550 548
+ -10000 571 895 699 781 332 300 261 529 294
+ -10000 376 924 782 56 776 630 418 816 391
+ -10000 241 515 922 387 558 237 446 400 936
+ -10000 557 361 745 692 335 758 555 673 576
+ -10000 247 594 274 847 31 876 444 483 586
+ -10000 474 167 817 957 545 990 933 281 596
+ -10000 926 87 151 595 250 996 354 649 482
+ -10000 420 43 722 712 168 94 30 566 392
+ -10000 777 866 724 795 278 168 352 832 168
+ -10000 511 966 675 5 619 105 436 844 893
+ -10000 112 328 340 523 631 309 743 143 11
+ -10000 241 953 807 388 950 195 670 416 759
+ -10000 491 701 942 77 616 373 915 264 205
+ -10000 671 854 774 904 479 444 513 482 123
+ -10000 536 539 280 622 666 469 331 632 364
+ -10000 706 638 371 578 150 445 200 338 41
+ -10000 396 544 470 144 645 536 27 169 80
+ -10000 19 444 326 737 155 402 279 459 322
+ -10000 204 385 563 566 834 927 842 146 970
+ -10000 599 991 20 97 965 542 233 381 463
+ -10000 671 253 511 781 433 255 109 844 507
+ -10000 437 150 123 799 296 42 458 620 923
+ -10000 245 529 163 278 716 359 270 136 136
+ -10000 931 867 176 598 952 159 378 597 123
+ -10000 73 504 83 651 693 13 229 693 139
+ -10000 432 161 678 760 359 965 674 993 325
+ -10000 351 565 552 160 43 81 756 879 392
+ -10000 84 677 638 886 801 95 335 695 282
+ -10000 566 778 541 453 769 527 97 779 331
+ -10000 961 265 965 996 807 831 654 44 231
+ -10000 105 779 928 146 414 139 260 640 492
+ -10000 113 206 432 614 313 583 968 688 266
+ -10000 369 582 68 731 463 513 771 837 944
+ -10000 127 737 548 333 184 982 861 170 646
+ -10000 4 492 287 678 987 467 254 141 575
+ -10000 111 472 23 729 434 255 733 53 258
+ -10000 784 326 706 295 220 139 124 400 681
+ -10000 654 22 804 99 106 230 652 836 692
+ -10000 530 18 546 25 775 9 284 60 750
+ -10000 680 811 219 571 360 724 261 409 924
+ -10000 513 332 422 614 911 537 160 847 476
+ -10000 85 444 242 683 389 436 38 332 48
+ -10000 890 896 423 364 301 457 377 143 971
+ -10000 806 313 479 589 601 812 365 631 325
+ -10000 442 765 478 811 521 659 889 339 94
+ -10000 288 461 237 469 924 495 874 570 104
+ -10000 667 108 972 840 707 875 663 904 678
+ -10000 525 871 707 186 283 89 265 203 198
+ -10000 848 219 697 632 348 538 904 830 787
+ -10000 92 952 759 51 599 633 498 720 903
+ -10000 378 208 971 531 362 394 498 622 703
+ -10000 830 735 687 154 170 925 106 128 62
+ -10000 64 372 404 94 54 866 843 197 780
+ -10000 127 743 466 363 230 451 435 131 561
+ -10000 532 185 652 236 697 492 737 2 176
+ -10000 457 593 666 787 234 46 142 853 525
+ -10000 653 384 276 888 270 136 469 591 817
+ -10000 423 850 541 536 130 248 65 75 246
+ -10000 2 784 121 632 795 569 910 751 630
+ -10000 516 15 844 128 420 412 900 683 900
+ -10000 643 819 477 121 537 42 398 144 677
+ -10000 371 512 668 610 376 24 519 859 269
+ -10000 905 22 902 255 323 663 833 426 863
+ -10000 21 418 985 429 8 109 107 981 636
+ -10000 589 3 606 163 106 719 590 755 222
+ -10000 665 391 373 208 506 929 927 382 229
+ -10000 448 17 1 2 777 819 435 358 549
+ -10000 240 157 104 518 958 730 581 846 108
+ -10000 772 145 580 35 913 263 440 898 424
+ -10000 909 804 273 586 364 291 890 595 616
+ -10000 939 699 727 618 80 618 875 77 134
+ -10000 874 690 350 357 320 229 419 889 482
+ -10000 140 269 540 209 736 559 230 912 438
+ -10000 613 948 682 882 136 579 690 10 699
+ -10000 829 423 566 459 314 816 13 47 569
+ -10000 77 936 645 542 996 879 323 491 78
+ -10000 782 672 0 819 35 372 939 701 279
+ -10000 523 332 887 124 462 695 336 286 610
+ -10000 438 817 959 635 132 829 350 744 232
+ -10000 54 634 144 742 104 392 204 226 890
+ -10000 750 677 643 794 169 894 196 668 262
+ -10000 572 201 812 922 906 581 281 459 120
+ -10000 440 514 901 277 995 117 834 654 935
+ -10000 32 736 318 610 486 765 389 866 70
+ -10000 183 356 804 890 565 582 295 232 705
+ -10000 645 541 943 184 97 25 116 961 468
+ -10000 921 791 768 256 375 154 993 934 206
+ -10000 983 266 506 970 102 598 353 589 171
+ -10000 332 934 84 850 826 43 412 173 778
+ -10000 561 841 327 703 163 223 246 882 234
+ -10000 132 809 188 100 430 623 16 294 160
+ -10000 936 604 886 372 112 727 956 807 208
+ -10000 181 703 417 321 409 143 264 274 502
+ -10000 105 59 698 449 992 780 781 946 297
+ -10000 751 517 967 599 713 582 534 927 527
+ -10000 969 372 465 861 854 840 440 568 402
+ -10000 267 318 12 215 833 11 221 552 8
+ -10000 828 442 669 730 620 229 96 828 357
+ -10000 586 403 701 609 321 3 510 656 474
+ -10000 647 845 912 486 184 586 557 30 826
+ -10000 47 51 313 581 788 563 228 621 493
+ -10000 341 824 126 686 842 998 306 919 848
+ -10000 965 352 975 306 359 134 672 372 981
+ -10000 349 485 457 648 662 702 451 517 792
+ -10000 675 589 448 542 303 10 43 429 602
+ -10000 150 856 74 784 409 736 159 79 968
+ -10000 232 46 313 809 41 611 533 905 21
+ -10000 668 930 898 808 462 935 290 802 77
+ -10000 635 556 834 439 747 272 571 128 416
+ -10000 767 985 912 893 907 312 779 124 479
+ -10000 642 331 501 456 423 469 299 578 732
+ -10000 240 485 696 717 206 268 634 744 819
+ -10000 407 963 587 964 637 513 676 530 653
+ -10000 804 16 164 973 913 272 997 702 388
+ -10000 291 882 567 630 10 766 638 44 478
+ -10000 417 237 416 468 458 354 807 532 764
+ -10000 131 163 13 257 221 988 882 862 989
+ -10000 980 435 31 419 760 859 49 44 391
+ -10000 111 837 369 230 901 547 161 108 529
+ -10000 361 578 998 682 437 553 154 276 364
+ -10000 324 713 456 314 796 540 427 420 147
+ -10000 551 472 385 329 894 359 253 260 681
+ -10000 1 353 636 215 518 737 535 826 705
+ -10000 984 200 864 684 403 84 827 449 916
+ -10000 264 522 954 277 621 166 328 906 421
+ -10000 823 932 512 804 352 943 966 66 971
+ -10000 394 197 960 203 641 922 848 144 76
+ -10000 168 894 915 578 709 647 469 293 536
+ -10000 596 530 215 488 367 259 12 342 96
+ -10000 849 361 72 100 941 797 5 180 329
+ -10000 587 877 867 280 477 649 297 33 431
+ -10000 499 45 214 524 309 693 654 434 716
+ -10000 983 270 96 600 751 128 791 441 171
+ -10000 209 621 800 133 908 329 336 631 92
+ -10000 957 738 415 250 958 337 377 391 549
+ -10000 609 775 870 627 844 77 149 652 422
+ -10000 907 739 672 657 937 584 236 957 670
+ -10000 600 393 656 345 530 334 61 656 824
+ -10000 248 747 745 640 629 533 972 538 7
+ -10000 414 702 605 411 32 602 548 142 155
+ -10000 972 777 838 784 849 964 376 937 697
+ -10000 566 329 728 332 605 461 996 662 945
+ -10000 225 545 633 216 214 708 810 987 345
+ -10000 564 827 599 668 956 478 254 557 534
+ -10000 589 968 724 701 363 222 887 488 640
+ -10000 979 756 722 985 612 578 547 318 964
+ -10000 368 116 28 569 535 854 926 751 372
+ -10000 490 89 17 197 788 139 930 841 25
+ -10000 477 907 802 824 506 59 862 534 731
+ -10000 657 541 127 760 783 818 246 475 232
+ -10000 30 660 469 205 197 406 212 932 602
+ -10000 744 64 977 995 274 735 296 850 941
+ -10000 377 56 184 975 152 205 728 156 205
+ -10000 492 165 528 639 292 280 588 144 823
+ -10000 645 976 741 90 162 178 459 746 281
+ -10000 3 98 103 356 663 756 62 76 742
+ -10000 58 833 834 750 873 603 138 240 513
+ -10000 337 378 723 119 73 585 684 66 861
+ -10000 979 534 873 559 10 552 31 618 257
+ -10000 680 963 387 95 518 798 853 606 163
+ -10000 922 107 916 428 900 866 776 84 54
+ -10000 877 394 376 678 347 389 825 817 51
+ -10000 465 440 755 884 327 156 318 787 275
+ -10000 500 187 317 368 611 74 639 347 859
+ -10000 342 873 966 296 481 275 274 694 136
+ -10000 306 508 575 579 776 111 950 401 139
+ -10000 728 389 639 74 67 921 227 736 184
+ -10000 310 53 621 562 479 828 771 186 97
+ -10000 852 321 201 825 495 507 290 897 189
+ -10000 399 940 507 438 47 886 165 250 81
+ -10000 489 970 166 954 67 117 210 997 742
+ -10000 618 743 670 842 345 729 843 247 752
+ -10000 917 158 647 190 1000 134 790 905 849
+ -10000 693 193 215 537 59 100 865 392 846
+ -10000 981 816 924 674 987 373 407 395 396
+ -10000 662 907 246 997 635 866 682 693 358
+ -10000 219 428 642 29 806 2 289 698 750
+ -10000 823 623 163 273 460 453 681 333 640
+ -10000 953 798 809 610 848 360 867 956 49
+ -10000 151 917 624 802 92 412 793 970 513
+ -10000 324 925 782 990 986 71 960 162 257
+ -10000 47 749 18 53 28 686 635 809 429
+ -10000 68 442 926 73 34 313 960 272 728
+ -10000 675 417 124 753 805 502 303 89 893
+ -10000 394 835 527 679 261 774 63 362 767
+ -10000 780 639 724 81 104 146 287 73 51
+ -10000 943 389 386 995 622 751 867 681 611
+ -10000 255 366 776 837 727 166 987 71 704
+ -10000 957 107 960 273 781 99 398 15 82
+ -10000 928 733 478 67 926 172 152 326 3
+ -10000 564 152 162 692 880 808 498 970 661
+ -10000 717 404 543 82 832 785 404 420 184
+ -10000 126 364 350 708 846 699 549 202 606
+ -10000 525 12 837 665 635 610 499 410 824
+ -10000 770 250 847 822 729 463 10 605 468
+ -10000 198 472 609 910 904 290 195 906 489
+ -10000 188 394 111 28 193 784 51 870 672
+ -10000 199 333 198 757 195 14 581 744 3
+ -10000 937 756 772 248 35 353 614 233 838
+ -10000 336 900 970 256 336 508 488 788 77
+ -10000 610 474 943 471 302 91 461 497 172
+ -10000 450 410 864 18 975 437 85 980 90
+ -10000 102 386 968 977 884 435 285 103 594
+ -10000 116 698 841 505 813 318 456 767 700
+ -10000 750 370 121 771 12 79 783 347 373
+ -10000 313 178 409 375 928 344 490 583 796
+ -10000 545 36 788 432 756 687 462 74 434
+ -10000 635 818 805 20 992 191 617 953 530
+ -10000 67 926 846 199 958 680 118 541 283
+ -10000 217 977 13 238 449 769 301 927 985
+ -10000 791 660 657 352 73 800 476 616 859
+ -10000 527 498 963 59 693 1000 276 703 729
+ -10000 551 950 102 71 833 0 435 815 48
+ -10000 987 174 99 993 753 330 537 828 503
+ -10000 151 139 132 882 26 4 62 845 54
+ -10000 925 863 277 27 445 58 855 621 677
+ -10000 433 72 897 49 404 896 958 553 421
+ -10000 203 624 166 190 611 892 853 671 914
+ -10000 620 152 229 41 310 102 61 412 21
+ -10000 153 917 826 728 275 897 458 972 593
+ -10000 196 903 769 608 426 838 275 743 899
+ -10000 98 555 771 784 143 467 672 762 280
+ -10000 675 452 511 92 461 559 195 47 724
+ -10000 338 889 197 53 284 255 782 805 415
+ -10000 867 459 911 83 395 162 144 655 390
+ -10000 562 462 246 109 993 217 890 27 862
+ -10000 444 1000 469 32 384 971 967 713 865
+ -10000 917 947 84 885 156 364 90 90 377
+ -10000 357 215 260 310 567 279 198 995 145
+ -10000 682 409 952 246 690 173 581 328 855
+ -10000 396 752 94 396 53 949 464 175 163
+ -10000 654 427 329 668 99 590 868 39 86
+ -10000 888 109 195 486 908 184 230 160 547
+ -10000 500 184 807 268 860 261 901 735 594
+ -10000 391 442 73 710 68 21 387 598 88
+ -10000 211 128 330 581 383 528 444 435 749
+ -10000 286 617 896 553 236 868 100 734 927
+ -10000 509 731 570 870 92 461 130 418 873
+ -10000 330 875 485 249 622 787 810 379 783
+ -10000 500 427 667 451 237 680 295 673 372
+ -10000 748 196 304 854 276 855 835 554 76
+ -10000 508 950 332 886 106 551 776 123 481
+ -10000 474 353 96 692 873 532 543 534 994
+ -10000 588 148 845 975 206 813 486 218 20
+ -10000 952 10 377 160 304 49 632 785 430
+ -10000 845 708 539 424 437 153 881 779 272
+ -10000 670 934 257 832 943 371 645 828 194
+ -10000 108 402 116 354 5 72 165 915 285
+ -10000 707 640 241 625 708 305 779 18 674
+ -10000 87 839 824 415 628 676 321 405 491
+ -10000 557 669 463 500 105 36 812 185 615
+ -10000 577 198 424 477 143 682 801 398 355
+ -10000 99 0 473 598 664 464 854 540 195
+ -10000 819 869 58 249 497 625 769 63 36
+ -10000 371 439 375 787 193 831 536 164 728
+ -10000 377 551 940 678 45 702 489 674 756
+ -10000 24 706 143 847 964 505 600 556 130
+ -10000 672 834 242 214 835 124 942 962 846
+ -10000 728 225 413 228 841 616 243 871 927
+ -10000 894 503 823 184 183 546 627 37 448
+ -10000 149 181 603 500 817 852 778 249 460
+ -10000 11 894 891 853 628 258 694 669 17
+ -10000 455 446 42 988 158 175 789 628 422
+ -10000 766 595 649 910 156 319 702 609 694
+ -10000 785 675 485 605 635 788 234 825 325
+ -10000 451 177 572 524 716 334 225 562 632
+ -10000 813 118 254 690 458 257 552 613 595
+ -10000 740 680 887 94 850 361 779 522 422
+ -10000 806 187 139 959 484 723 23 379 772
+ -10000 207 523 733 960 211 565 199 475 761
+ -10000 283 533 359 348 601 966 821 961 611
+ -10000 358 137 70 535 500 401 178 35 433
+ -10000 720 131 832 933 755 663 983 738 811
+ -10000 266 972 954 615 43 290 698 484 6
+ -10000 439 612 496 228 990 691 82 47 41
+ -10000 389 27 998 706 334 989 922 920 581
+ -10000 94 530 374 502 502 957 500 831 192
+ -10000 767 84 661 350 718 93 678 754 949
+ -10000 550 161 694 661 707 149 366 626 986
+ -10000 616 572 788 113 903 57 605 906 245
+ -10000 654 181 664 718 73 272 431 274 805
+ -10000 292 395 199 289 55 123 885 971 330
+ -10000 479 807 745 174 492 130 111 782 338
+ -10000 631 124 206 687 392 102 564 579 472
+ -10000 594 267 510 694 646 160 921 228 122
+ -10000 212 543 644 910 912 337 434 767 153
+ -10000 487 894 437 956 289 803 158 859 729
+ -10000 273 61 585 89 440 81 494 96 713
+ -10000 947 573 130 134 121 59 728 865 85
+ -10000 242 754 927 337 731 780 826 970 611
+ -10000 945 930 625 967 801 491 433 613 199
+ -10000 452 498 748 235 644 479 953 37 472
+ -10000 401 53 175 111 622 817 556 970 674
+ -10000 291 480 988 846 604 404 890 745 972
+ -10000 927 753 897 27 542 37 825 954 649
+ -10000 400 207 342 320 191 477 628 699 314
+ -10000 627 773 182 789 653 129 955 512 745
+ -10000 741 459 550 897 91 929 519 42 638
+ -10000 50 241 745 298 43 368 351 507 638
+ -10000 694 843 32 225 89 976 206 452 469
+ -10000 433 286 868 15 724 404 678 62 184
+ -10000 419 311 778 358 96 305 265 247 538
+ -10000 887 750 50 558 483 600 330 173 623
+ -10000 155 887 27 54 992 890 121 997 416
+ -10000 217 777 397 770 160 466 22 9 322
+ -10000 838 175 247 432 407 322 125 653 354
+ -10000 277 706 450 787 775 326 264 959 887
+ -10000 592 69 232 877 313 509 308 365 377
+ -10000 393 466 87 878 63 925 454 866 351
+ -10000 123 575 324 308 696 553 476 1000 279
+ -10000 182 624 920 261 779 230 350 418 40
+ -10000 372 63 282 531 327 372 698 374 478
+ -10000 797 948 422 176 247 221 283 300 248
+ -10000 142 250 642 262 19 704 890 145 823
+ -10000 957 660 577 23 348 568 729 137 293
+ -10000 504 143 343 495 857 274 381 826 890
+ -10000 382 175 782 740 537 883 560 235 604
+ -10000 629 673 985 746 467 831 194 252 667
+ -10000 392 751 153 244 807 881 475 443 699
+ -10000 550 245 413 338 638 196 991 987 186
+ -10000 134 64 728 238 213 765 876 4 979
+ -10000 267 3 246 681 405 96 487 344 528
+ -10000 954 960 896 30 502 843 593 9 454
+ -10000 831 514 319 929 972 413 60 607 684
+ -10000 794 367 859 503 888 264 215 336 690
+ -10000 469 326 298 269 606 281 984 761 732
+ -10000 469 50 783 605 861 694 654 909 414
+ -10000 679 152 287 322 592 690 57 47 827
+ -10000 585 541 122 773 666 521 27 470 818
+ -10000 581 874 357 103 309 91 396 913 581
+ -10000 872 101 5 381 351 44 440 174 277
+ -10000 530 333 897 999 586 64 318 495 413
+ -10000 829 893 560 836 459 135 344 98 737
+ -10000 381 387 740 934 786 415 122 693 508
+ -10000 397 37 903 411 594 363 18 979 297
+ -10000 63 77 776 566 149 906 896 738 489
+ -10000 700 404 505 234 486 19 189 680 602
+ -10000 413 920 118 737 880 518 271 190 472
+ -10000 425 750 637 728 973 572 413 224 497
+ -10000 632 744 967 336 535 130 216 959 602
+ -10000 106 312 595 223 90 621 683 958 6
+ -10000 130 605 853 300 388 399 668 918 166
+ -10000 183 348 328 990 82 350 566 919 197
+ -10000 838 103 126 297 315 220 814 946 201
+ -10000 884 273 309 313 201 112 239 231 665
+ -10000 117 587 584 248 491 732 528 243 205
+ -10000 24 406 307 781 778 617 277 343 117
+ -10000 301 168 470 123 527 397 802 366 780
+ -10000 631 972 726 496 799 503 630 763 409
+ -10000 502 747 73 584 88 797 350 746 458
+ -10000 301 481 897 524 959 864 744 75 694
+ -10000 576 82 239 248 964 384 947 413 302
+ -10000 315 339 708 605 810 334 236 935 449
+ -10000 515 138 994 293 117 142 787 533 122
+ -10000 78 317 552 287 957 72 5 285 546
+ -10000 352 598 151 310 516 62 718 36 854
+ -10000 854 813 689 188 603 510 212 685 256
+ -10000 267 435 795 774 919 715 565 696 778
+ -10000 586 634 601 34 687 768 823 785 753
+ -10000 950 925 278 254 42 358 318 477 646
+ -10000 604 892 676 447 152 500 864 792 91
+ -10000 99 872 384 946 608 334 245 63 656
+ -10000 579 835 581 320 372 822 390 593 347
+ -10000 931 332 311 594 907 95 861 766 623
+ -10000 737 211 541 757 38 366 148 957 776
+ -10000 175 197 880 780 782 854 959 925 129
+ -10000 297 754 866 46 414 12 411 111 28
+ -10000 719 267 327 852 876 984 737 596 45
+ -10000 782 59 744 731 189 304 563 666 176
+ -10000 409 408 556 535 608 523 193 431 773
+ -10000 474 323 961 496 243 788 8 337 686
+ -10000 99 365 11 398 856 835 371 568 603
+ -10000 648 336 891 320 220 939 291 90 865
+ -10000 87 64 486 483 896 415 110 135 47
+ -10000 563 135 778 428 387 90 518 377 378
+ -10000 557 693 311 638 57 961 167 90 26
+ -10000 818 28 893 667 682 680 978 428 489
+ -10000 542 52 64 626 525 987 837 113 179
+ -10000 563 449 438 95 659 80 906 25 603
+ -10000 592 267 67 400 929 587 149 512 398
+ -10000 423 57 554 187 977 978 453 858 152
+ -10000 181 479 368 715 856 772 428 628 873
+ -10000 894 329 743 130 183 467 758 759 686
+ -10000 255 398 653 489 587 447 175 981 651
+ -10000 991 20 927 526 636 326 467 769 530
+ -10000 289 320 425 377 282 902 360 138 384
+ -10000 488 540 385 830 402 117 728 820 937
+ -10000 875 642 323 652 91 606 918 772 216
+ -10000 882 616 547 836 673 334 229 196 586
+ -10000 14 274 533 93 530 375 139 374 815
+ -10000 245 882 858 476 987 108 723 719 235
+ -10000 405 793 884 539 621 418 512 35 341
+ -10000 545 272 988 928 507 68 480 725 959
+ -10000 508 988 867 760 310 84 371 541 451
+ -10000 630 422 932 962 252 461 928 967 217
+ -10000 352 795 405 417 154 762 806 844 693
+ -10000 127 221 981 581 275 320 991 261 493
+ -10000 658 414 923 74 742 425 258 901 15
+ -10000 153 792 974 687 269 150 188 152 295
+ -10000 532 859 229 158 227 193 726 372 253
+ -10000 232 634 618 438 263 146 759 278 346
+ -10000 326 1000 775 226 894 208 175 555 204
+ -10000 861 851 790 452 21 798 756 635 492
+ -10000 120 403 714 841 47 68 653 597 883
+ -10000 276 341 743 104 555 235 158 332 25
+ -10000 210 379 167 930 855 158 196 745 515
+ -10000 938 322 972 934 998 187 175 437 421
+ -10000 991 368 363 934 971 726 748 53 791
+ -10000 967 858 966 169 590 193 92 25 691
+ -10000 276 759 897 1000 783 783 7 69 672
+ -10000 988 37 317 81 476 607 537 275 6
+ -10000 410 734 771 237 122 424 283 801 226
+ -10000 306 370 13 884 842 488 268 722 603
+ -10000 100 739 171 274 384 757 729 434 172
+ -10000 384 456 755 244 694 561 84 341 731
+ -10000 647 172 159 885 523 32 25 67 48
+ -10000 197 267 466 138 572 764 761 466 170
+ -10000 358 104 23 290 88 752 998 918 839
+ -10000 577 940 341 906 851 760 352 218 171
+ -10000 792 2 139 309 977 448 808 484 232
+ -10000 714 157 469 339 86 672 723 206 427
+ -10000 433 227 795 498 344 707 296 846 942
+ -10000 951 708 453 864 332 339 901 312 587
+ -10000 703 871 517 825 631 341 896 616 327
+ -10000 663 976 118 795 518 383 668 982 276
+ -10000 554 291 195 37 655 544 233 307 471
+ -10000 708 1000 983 997 363 808 863 654 102
+ -10000 477 282 10 958 968 531 209 844 611
+ -10000 506 437 203 265 137 376 687 482 235
+ -10000 601 103 368 912 549 398 209 114 625
+ -10000 138 509 486 781 950 534 876 527 111
+ -10000 520 790 565 578 177 760 408 93 816
+ -10000 976 554 787 761 165 527 547 744 638
+ -10000 891 207 144 817 574 219 895 968 870
+ -10000 176 292 338 731 968 271 444 229 348
+ -10000 976 482 646 358 657 123 787 604 789
+ -10000 405 976 765 667 41 404 389 596 815
+ -10000 489 820 446 106 56 341 473 612 936
+ -10000 388 400 77 398 993 842 662 348 629
+ -10000 373 821 583 410 865 946 150 996 796
+ -10000 614 11 786 49 52 768 262 3 395
+ -10000 955 43 739 748 700 590 697 890 384
+ -10000 488 194 447 7 417 619 320 28 811
+ -10000 706 326 60 392 563 644 527 234 591
+ -10000 983 311 387 119 940 681 398 783 685
+ -10000 609 931 631 934 444 979 469 545 12
+ -10000 833 487 699 201 238 170 207 135 110
+ -10000 274 230 348 795 561 633 0 278 85
+ -10000 437 83 873 43 343 586 84 450 784
+ -10000 716 963 45 235 641 987 24 163 857
+ -10000 133 744 592 227 540 866 626 170 641
+ -10000 271 262 679 554 986 768 310 619 136
+ -10000 31 973 646 367 439 994 65 896 302
+ -10000 471 762 16 102 110 70 851 244 554
+ -10000 360 181 823 667 380 619 438 392 998
+ -10000 35 427 127 224 531 373 952 576 483
+ -10000 509 759 904 93 580 517 373 810 127
+ -10000 830 7 987 425 274 760 65 718 995
+ -10000 580 548 123 652 851 242 612 168 372
+ -10000 452 130 256 931 68 96 353 345 662
+ -10000 772 838 69 993 819 829 828 934 885
+ -10000 861 247 322 469 480 196 296 524 571
+ -10000 819 108 437 241 471 146 463 125 646
+ -10000 474 82 501 357 402 443 555 561 591
+ -10000 471 711 374 878 889 201 472 63 42
+ -10000 293 700 880 706 641 427 945 849 26
+ -10000 167 382 665 2 516 723 88 768 603
+ -10000 100 762 774 419 75 136 653 302 133
+ -10000 293 352 105 944 162 112 172 640 403
+ -10000 139 121 336 706 137 592 953 209 902
+ -10000 460 15 799 559 987 170 637 134 769
+ -10000 475 277 497 67 847 62 364 852 879
+ -10000 127 825 766 930 661 983 391 187 572
+ -10000 437 709 404 165 867 32 787 268 553
+ -10000 480 168 175 988 967 455 178 66 272
+ -10000 203 958 953 848 311 827 430 660 903
+ -10000 309 818 732 655 351 738 81 242 858
+ -10000 140 924 49 448 580 438 950 186 274
+ -10000 383 512 257 182 339 475 694 990 571
+ -10000 196 242 34 43 716 515 68 992 197
+ -10000 747 247 228 378 830 816 321 370 939
+ -10000 440 140 974 570 819 674 612 323 583
+ -10000 552 955 393 42 172 908 451 591 962
+ -10000 16 778 556 432 778 279 954 848 699
+ -10000 671 132 113 433 29 234 23 290 650
+ -10000 231 190 790 486 972 601 82 930 441
+ -10000 287 907 628 891 322 261 572 870 883
+ -10000 60 266 748 386 625 295 627 428 914
+ -10000 648 224 23 785 171 937 768 612 679
+ -10000 82 516 941 104 97 624 17 664 216
+ -10000 239 203 970 619 396 991 56 869 551
+ -10000 579 139 975 826 95 616 674 773 834
+ -10000 430 318 213 720 287 747 849 395 407
+ -10000 519 983 665 531 418 469 397 242 2
+ -10000 677 948 777 827 934 745 857 373 293
+ -10000 340 675 430 588 875 87 402 111 282
+ -10000 643 150 349 503 510 531 995 154 396
+ -10000 570 681 970 209 551 167 383 843 87
+ -10000 115 390 984 402 947 822 859 433 760
+ -10000 776 176 670 27 850 709 977 250 955
+ -10000 354 429 688 406 484 253 303 67 736
+ -10000 842 174 6 575 579 933 563 93 541
+ -10000 925 40 684 928 749 684 224 355 214
+ -10000 221 739 406 512 727 506 914 402 31
+ -10000 720 167 544 348 852 953 848 247 346
+ -10000 358 402 551 941 409 580 624 984 880
+ -10000 844 983 4 290 312 538 260 635 493
+ -10000 91 386 237 51 893 88 626 770 488
+ -10000 369 982 640 24 2 305 641 457 736
+ -10000 44 742 885 179 562 362 6 48 684
+ -10000 786 156 887 213 745 500 957 216 84
+ -10000 937 343 498 991 157 552 42 502 355
+ -10000 628 453 389 434 447 11 438 960 739
+ -10000 835 109 64 187 727 417 705 1000 78
+ -10000 311 729 226 754 295 442 575 550 524
+ -10000 576 441 540 525 477 542 350 616 154
+ -10000 623 172 443 586 763 865 589 881 373
+ -10000 662 742 861 764 57 969 116 726 928
+ -10000 80 953 614 624 886 425 313 572 813
+ -10000 280 657 17 423 991 353 23 911 808
+ -10000 631 510 313 914 997 334 107 636 323
+ -10000 214 422 674 722 447 874 633 572 415
+ -10000 143 947 291 744 836 743 852 268 318
+ -10000 695 716 294 358 461 92 72 86 721
+ -10000 761 167 805 249 46 664 721 181 375
+ -10000 432 601 741 275 711 640 926 227 843
+ -10000 660 920 229 140 353 241 356 541 842
+ -10000 910 970 209 517 962 143 340 236 748
+ -10000 260 454 216 196 403 962 39 327 380
+ -10000 292 819 9 798 987 621 423 200 381
+ -10000 457 431 353 910 74 82 79 492 787
+ -10000 437 195 991 962 61 668 638 161 755
+ -10000 847 9 661 610 799 184 280 327 674
+ -10000 431 94 471 406 327 611 626 46 375
+ -10000 17 741 746 932 203 499 774 34 352
+ -10000 1 742 527 744 922 409 549 272 711
+ -10000 830 374 223 618 526 257 846 8 998
+ -10000 888 926 683 678 608 547 90 730 291
+ -10000 614 576 282 720 558 516 179 515 801
+ -10000 856 215 550 225 607 319 664 721 829
+ -10000 329 49 168 298 594 875 935 9 398
+ -10000 755 254 129 883 5 442 11 357 742
+ -10000 184 891 269 94 48 115 634 664 16
+ -10000 935 203 554 770 901 320 271 498 304
+ -10000 808 479 437 348 385 577 318 868 443
+ -10000 358 425 110 445 554 975 474 950 488
+ -10000 115 449 728 299 611 251 900 582 254
+ -10000 272 990 936 569 743 580 958 905 964
+ -10000 414 473 290 959 8 820 599 693 840
+ -10000 175 348 511 205 511 999 613 302 874
+ -10000 553 233 371 872 882 424 589 791 442
+ -10000 42 22 970 984 622 18 88 536 270
+ -10000 93 528 143 441 224 247 183 284 608
+ -10000 973 415 887 459 181 20 752 333 715
+ -10000 595 223 633 718 160 415 259 35 579
+ -10000 792 660 738 398 423 684 676 711 1
+ -10000 198 900 168 919 64 720 570 762 135
+ -10000 372 859 501 796 170 668 831 973 240
+ -10000 179 72 674 941 210 464 487 364 996
+ -10000 509 524 922 236 946 455 986 582 0
+ -10000 628 48 254 982 335 474 997 499 140
+ -10000 115 7 298 716 94 433 813 256 940
+ -10000 93 775 297 731 870 484 230 747 878
+ -10000 55 133 618 225 257 925 672 284 191
+ -10000 494 51 948 336 434 799 899 642 472
+ -10000 588 772 899 356 864 720 379 315 842
+ -10000 439 679 533 773 500 817 719 732 556
+ -10000 121 978 160 989 932 130 414 242 599
+ -10000 980 315 681 897 811 11 444 451 341
+ -10000 40 927 458 136 589 713 152 285 179
+ -10000 361 972 821 235 653 883 394 333 607
+ -10000 995 203 371 197 360 254 558 896 871
+ -10000 582 113 910 701 432 783 356 947 459
+ -10000 621 175 551 229 991 524 420 183 174
+ -10000 329 960 552 542 618 656 829 335 29
+ -10000 23 648 482 741 735 693 568 584 15
+ -10000 788 329 919 722 369 70 929 518 465
+ -10000 314 559 58 236 95 950 555 466 873
+ -10000 443 272 379 701 667 892 553 757 853
+ -10000 654 625 131 765 699 262 78 540 671
+ -10000 345 570 226 290 291 570 45 217 953
+ -10000 29 548 487 545 772 671 316 173 604
+ -10000 363 127 406 413 347 417 100 282 722
+ -10000 850 703 243 871 287 537 614 352 871
+ -10000 135 416 39 722 869 988 12 805 235
+ -10000 950 410 195 963 694 802 608 684 465
+ -10000 742 705 145 768 516 7 935 64 12
+ -10000 16 998 53 280 775 703 385 225 580
+ -10000 403 184 474 840 535 448 296 451 880
+ -10000 195 428 290 270 144 667 836 746 118
+ -10000 253 228 525 831 140 325 620 113 614
+ -10000 930 431 424 683 884 783 348 20 279
+ -10000 134 134 277 418 609 204 481 981 48
+ -10000 611 225 431 434 176 475 145 190 91
+ -10000 461 846 875 465 457 541 326 225 310
+ -10000 376 150 899 287 138 306 29 332 457
+ -10000 245 48 387 211 111 764 37 460 992
+ -10000 838 322 994 498 134 126 215 301 533
+ -10000 496 120 368 498 873 373 719 781 593
+ -10000 661 673 142 317 483 564 259 628 843
+ -10000 608 706 90 187 607 795 857 710 657
+ -10000 296 588 380 540 252 82 382 654 400
+ -10000 811 728 348 570 320 215 518 490 549
+ -10000 613 263 717 880 452 855 787 451 95
+ -10000 675 110 611 993 527 521 764 470 378
+ -10000 767 64 833 355 752 680 914 682 863
+ -10000 745 214 36 46 356 682 799 388 489
+ -10000 262 657 407 418 675 627 591 519 925
+ -10000 915 162 225 382 970 205 152 560 683
+ -10000 781 757 701 228 540 410 118 997 377
+ -10000 999 200 126 897 165 455 56 990 936
+ -10000 424 84 432 539 4 303 551 122 737
+ -10000 943 844 978 404 981 50 75 790 460
+ -10000 17 344 380 743 363 120 887 8 598
+ -10000 324 930 929 873 164 27 775 719 687
+ -10000 740 741 872 352 290 690 547 562 333
+ -10000 463 86 682 407 98 783 696 910 753
+ -10000 893 96 300 33 462 419 971 205 99
+ -10000 196 837 373 895 965 126 449 23 834
+ -10000 671 219 454 875 774 378 327 745 515
+ -10000 500 536 737 350 426 608 25 338 955
+ -10000 984 65 989 102 135 906 890 350 626
+ -10000 603 435 42 879 624 582 590 143 20
+ -10000 808 248 419 258 368 351 735 508 216
+ -10000 775 448 945 840 372 133 263 999 560
+ -10000 815 676 397 578 760 773 98 718 559
+ -10000 842 223 299 628 426 613 537 730 278
+ -10000 60 180 334 151 322 414 365 173 209
+ -10000 514 578 212 326 158 282 111 695 868
+ -10000 551 636 234 608 621 614 301 942 506
+ -10000 889 938 800 1000 90 750 898 431 456
+ -10000 855 138 845 575 457 998 919 829 744
+ -10000 928 35 329 338 351 412 452 145 69
+ -10000 980 486 417 648 414 745 126 304 35
+ -10000 152 248 296 373 819 7 9 302 729
+ -10000 590 844 377 720 789 165 745 79 449
+ -10000 0 752 865 17 495 736 480 317 389
+ -10000 852 946 742 241 750 375 18 304 843
+ -10000 801 209 250 634 11 528 957 826 367
+ -10000 555 55 609 781 200 925 844 837 622
+ -10000 70 292 284 240 221 540 957 727 581
+ -10000 752 800 294 624 302 960 109 143 372
+ -10000 641 461 761 289 654 569 538 660 203
+ -10000 751 880 917 783 474 262 678 168 396
+ -10000 197 520 354 659 601 732 991 281 575
+ -10000 397 204 317 533 654 708 449 322 871
+ -10000 785 328 445 100 299 104 3 166 217
+ -10000 525 786 494 231 399 413 680 523 227
+ -10000 867 987 906 852 928 945 870 847 553
+ -10000 704 770 127 389 570 300 454 253 968
+ -10000 797 290 86 325 962 81 148 426 722
+ -10000 592 41 688 206 523 642 403 539 330
+ -10000 769 624 746 943 241 113 38 118 552
+ -10000 974 62 11 541 181 498 716 744 376
+ -10000 866 586 260 688 987 217 768 105 384
+ -10000 935 378 144 209 456 540 846 536 50
+ -10000 938 571 70 496 237 397 888 244 46
+ -10000 608 408 411 928 766 126 575 18 290
+ -10000 982 22 630 890 282 834 497 217 440
+ -10000 163 693 962 977 820 385 940 902 641
+ -10000 559 824 262 617 367 92 690 104 581
+ -10000 563 138 325 68 960 740 720 328 663
+ -10000 853 86 841 324 458 683 605 707 603
+ -10000 783 291 723 833 199 15 762 851 139
+ -10000 306 19 881 662 635 753 134 202 549
+ -10000 260 494 382 684 665 705 577 240 322
+ -10000 492 401 83 759 562 527 172 480 784
+ -10000 30 167 678 10 670 767 220 628 723
+ -10000 416 665 728 226 727 299 744 380 642
+ -10000 309 688 271 333 529 372 35 515 305
+ -10000 331 105 805 795 106 374 250 496 410
+ -10000 580 824 593 343 16 233 294 677 924
+ -10000 912 497 106 433 695 788 534 668 37
+ -10000 686 314 321 161 952 46 699 354 383
+ -10000 694 366 919 436 525 254 209 993 272
+ -10000 27 438 580 923 386 163 536 969 419
+ -10000 946 289 773 258 832 549 628 27 45
+ -10000 962 822 199 566 548 878 283 93 902
+ -10000 868 618 856 340 324 962 643 988 729
+ -10000 863 642 143 156 918 798 960 438 968
+ -10000 672 409 391 16 215 320 325 709 493
+ -10000 821 119 758 140 495 957 518 99 193
+ -10000 155 511 210 60 188 479 604 321 892
+ -10000 81 264 658 455 280 32 49 342 394
+ -10000 334 963 206 884 949 33 461 881 18
+ -10000 176 556 239 299 94 93 573 730 137
+ -10000 524 38 748 707 18 989 989 44 409
+ -10000 947 68 612 318 430 574 297 131 485
+ -10000 928 549 934 411 733 286 505 564 654
+ -10000 336 555 533 418 412 562 13 117 388
+ -10000 162 823 80 695 305 253 66 490 919
+ -10000 656 2 973 386 868 511 788 385 409
+ -10000 794 363 460 865 304 707 807 983 457
+ -10000 554 410 435 417 251 907 328 708 131
+ -10000 159 439 730 364 745 63 965 477 336
+ -10000 751 823 458 626 281 596 3 93 21
+ -10000 27 147 622 6 585 241 272 241 220
+ -10000 153 569 314 407 440 742 80 931 652
+ -10000 329 280 832 996 809 958 84 340 816
+ -10000 123 373 409 819 1 84 918 789 243
+ -10000 314 251 483 463 148 477 568 15 60
+ -10000 179 5 879 302 240 827 181 766 977
+ -10000 396 147 847 555 770 626 473 21 900
+ -10000 932 477 258 465 913 45 136 883 420
+ -10000 320 161 619 943 425 197 232 497 466
+ -10000 506 701 729 663 903 584 212 231 400
+ -10000 326 453 391 430 636 829 508 57 533
+ -10000 422 271 120 159 245 876 499 659 731
+ -10000 869 67 114 871 268 973 980 209 84
+ -10000 588 354 463 886 414 681 514 527 15
+ -10000 612 177 286 752 586 377 775 248 721
+ -10000 636 888 769 240 304 470 178 355 123
+ -10000 669 802 354 637 285 602 699 53 275
+ -10000 765 680 427 624 321 125 86 480 746
+ -10000 110 170 825 327 481 319 852 842 22
+ -10000 667 604 422 336 148 863 858 805 301
+ -10000 166 531 908 356 742 592 884 940 546
+ -10000 209 838 397 936 222 425 875 957 904
+ -10000 144 996 610 158 736 498 933 541 955
+ -10000 635 412 369 141 347 213 99 405 998
+ -10000 514 654 348 454 781 317 660 29 63
+ -10000 881 165 907 210 310 951 627 885 801
+ -10000 440 429 19 94 930 5 570 886 753
+ -10000 974 889 404 539 858 238 790 27 16
+ -10000 787 690 574 315 452 173 412 707 286
+ -10000 359 877 268 966 823 362 519 172 123
+ -10000 354 952 790 166 184 938 946 456 113
+ -10000 148 889 577 645 48 633 323 563 537
+ -10000 149 515 36 375 102 528 770 87 363
+ -10000 138 513 336 732 401 170 138 379 881
+ -10000 770 63 889 197 973 877 430 974 462
+ -10000 664 374 897 127 393 389 386 719 802
+ -10000 552 448 497 488 150 141 120 115 724
+ -10000 205 768 557 594 428 430 66 902 47
+ -10000 520 186 749 405 834 773 192 941 892
+ -10000 288 305 801 971 594 318 338 594 237
+ -10000 643 373 213 215 983 482 864 483 816
+ -10000 361 896 929 867 34 640 440 222 639
+ -10000 242 724 195 829 379 3 646 79 221
+ -10000 328 807 533 229 20 113 334 530 411
+ -10000 803 855 34 9 209 938 192 472 440
+ -10000 760 114 390 452 156 872 802 912 72
+ -10000 140 921 327 650 276 45 946 240 299
+ -10000 812 637 784 441 172 521 903 477 729
+ -10000 183 76 785 603 687 637 472 283 137
+ -10000 354 902 526 712 526 8 929 596 439
+ -10000 584 23 545 126 831 518 392 727 329
+ -10000 960 861 193 29 75 981 264 971 420
+ -10000 80 534 865 317 589 929 432 765 171
+ -10000 83 354 365 473 67 452 880 847 443
+ -10000 519 815 726 491 619 193 125 711 654
+ -10000 636 276 809 151 800 683 559 74 982
+ -10000 621 241 974 339 529 400 122 797 111
+ -10000 277 753 282 549 297 938 473 655 941
+ -10000 787 731 351 843 506 760 487 206 65
+ -10000 397 356 758 439 717 549 361 697 811
+ -10000 952 762 288 750 758 4 540 571 394
+ -10000 39 428 303 561 155 819 840 969 76
+ -10000 208 115 879 933 927 267 672 203 928
+ -10000 901 561 380 806 382 104 936 349 988
+ -10000 194 231 382 235 624 347 305 30 102
+ -10000 540 974 106 36 603 770 478 54 781
+ -10000 3 845 447 323 312 87 287 626 134
+ -10000 841 238 311 384 441 416 569 110 34
+ -10000 832 657 362 526 969 939 795 417 937
+ -10000 737 379 73 880 172 99 217 994 554
+ -10000 72 777 277 371 737 840 201 566 358
+ -10000 864 133 119 839 850 544 713 344 966
+ -10000 71 136 746 853 92 200 466 49 810
+ -10000 865 370 248 976 452 508 708 930 89
+ -10000 611 335 51 34 612 406 751 438 418
+ -10000 914 556 587 714 526 436 34 408 385
+ -10000 48 567 795 724 250 915 568 377 325
+ -10000 735 641 36 690 453 501 891 142 707
+ -10000 111 607 795 814 51 435 237 481 964
+ -10000 583 849 447 562 981 196 996 161 734
+ -10000 696 681 208 721 744 117 591 646 782
+ -10000 801 319 671 670 813 343 969 564 933
+ -10000 724 432 451 685 764 766 952 109 181
+ -10000 797 60 720 560 474 699 551 800 274
+ -10000 976 260 938 259 994 887 387 671 86
+ -10000 726 87 178 851 978 979 692 739 59
+ -10000 285 389 510 308 613 367 247 754 56
+ -10000 741 754 478 214 535 672 376 941 986
+ -10000 708 583 624 626 280 742 818 938 479
+ -10000 407 676 494 595 365 704 455 989 756
+ -10000 258 533 754 991 88 721 833 99 205
+ -10000 52 494 380 865 766 199 382 106 985
+ -10000 237 382 681 104 13 248 450 643 261
+ -10000 740 180 554 586 505 214 302 188 202
+ -10000 958 958 700 400 896 718 493 52 927
+ -10000 778 686 394 489 318 214 210 387 210
+ -10000 911 392 71 971 741 278 783 586 98
+ -10000 528 443 128 616 707 545 291 580 208
+ -10000 65 492 164 797 932 929 269 769 470
+ -10000 68 259 598 501 445 55 706 811 42
+ -10000 391 124 516 957 684 360 449 122 468
+ -10000 898 328 421 915 779 145 315 196 687
+ -10000 578 79 114 944 692 697 67 746 45
+ -10000 407 322 29 274 695 370 609 202 40
+ -10000 643 300 989 682 945 375 542 846 397
+ -10000 475 60 790 657 34 256 806 110 277
+ -10000 446 360 667 295 727 748 34 739 359
+ -10000 191 947 206 349 731 177 367 274 733
+ -10000 132 585 50 527 690 148 944 880 178
+ -10000 926 246 374 869 899 13 441 508 88
+ -10000 719 150 970 558 794 860 196 191 510
+ -10000 297 637 482 251 342 658 333 611 863
+ -10000 532 598 996 500 625 891 847 544 65
+ -10000 161 2 252 680 730 331 356 895 660
+ -10000 213 842 778 3 271 288 411 729 794
+ -10000 480 74 905 107 292 866 774 717 613
+ -10000 47 605 70 830 924 606 494 437 638
+ -10000 838 794 97 91 455 273 880 746 831
+ -10000 235 386 532 988 889 86 133 476 486
+ -10000 586 402 389 422 455 786 477 650 332
+ -10000 699 34 578 648 182 252 516 608 622
+ -10000 306 448 912 903 661 275 631 530 659
+ -10000 827 725 822 983 27 868 86 57 986
+ -10000 530 998 153 510 312 171 888 195 195
+ -10000 57 509 365 160 476 798 557 216 523
+ -10000 831 23 880 197 353 261 144 78 939
+ -10000 302 970 802 461 861 561 533 253 32
+ -10000 705 645 300 540 47 631 672 838 197
+ -10000 892 487 52 358 890 126 571 43 786
+ -10000 117 879 60 158 768 275 544 495 936
+ -10000 216 409 233 267 18 132 215 338 571
+ -10000 607 505 928 926 931 423 430 202 152
+ -10000 933 323 861 4 532 52 787 278 242
+ -10000 347 710 57 60 637 104 196 962 863
+ -10000 96 339 717 839 447 369 584 793 855
+ -10000 442 316 501 947 609 599 840 463 123
+ -10000 168 798 798 304 955 946 749 986 301
+ -10000 806 367 500 494 196 178 440 748 573
+ -10000 917 265 452 704 271 656 935 671 125
+ -10000 400 490 470 26 759 897 15 264 760
+ -10000 736 754 373 397 123 490 311 851 832
+ -10000 280 779 459 413 171 79 578 213 232
+ -10000 240 620 597 352 540 478 905 198 748
+ -10000 457 961 838 622 716 461 398 874 995
+ -10000 482 204 291 437 344 959 566 225 381
+ -10000 409 176 816 769 290 19 325 705 971
+ -10000 129 233 986 619 499 776 807 98 155
+ -10000 537 548 806 387 633 484 214 682 960
+ -10000 195 857 123 831 573 930 414 378 17
+ -10000 656 145 467 754 157 760 857 135 751
+ -10000 626 389 826 513 81 334 845 77 802
+ -10000 653 314 780 402 307 714 252 384 880
+ -10000 53 868 340 965 848 448 452 189 912
+ -10000 165 118 750 323 486 142 213 840 288
+ -10000 548 421 924 489 758 24 263 347 374
+ -10000 956 265 114 153 367 602 448 987 946
+ -10000 981 255 490 854 628 320 49 359 350
+ -10000 147 383 294 87 26 207 378 421 187
+ -10000 549 107 197 472 746 843 761 830 774
+ -10000 762 594 554 29 987 248 1000 946 95
+ -10000 505 541 428 782 662 471 574 609 134
+ -10000 97 463 716 959 447 585 499 733 128
+ -10000 491 464 311 468 57 728 358 425 765
+ -10000 490 579 626 260 268 409 291 61 155
+ -10000 3 119 143 430 284 888 976 777 719
+ -10000 900 703 976 453 672 48 161 134 892
+ -10000 462 717 457 857 215 36 8 555 913
+ -10000 27 786 659 680 607 878 754 505 269
+ -10000 65 478 255 857 2 935 279 738 781
+ -10000 315 917 481 154 817 652 711 909 121
+ -10000 727 433 734 437 257 532 353 459 953
+ -10000 863 924 373 792 960 999 747 669 165
+ -10000 4 144 799 919 230 494 127 316 414
+ -10000 902 861 573 593 485 834 581 237 618
+ -10000 179 239 958 821 792 914 528 794 473
+ -10000 720 243 928 942 405 387 828 462 544
+ -10000 562 173 466 41 761 168 540 402 276
+ -10000 220 220 132 47 352 991 335 505 679
+ -10000 155 743 309 913 819 144 19 887 171
+ -10000 579 662 636 579 754 402 309 739 373
+ -10000 925 220 111 219 910 998 893 273 572
+ -10000 572 208 548 241 968 87 882 401 278
+ -10000 559 375 341 953 362 177 526 674 17
+ -10000 888 738 352 556 994 371 628 790 712
+ -10000 5 819 570 981 114 310 396 218 184
+ -10000 711 820 378 792 678 641 641 943 56
+ -10000 704 582 583 335 249 241 843 842 255
+ -10000 610 993 74 799 477 402 98 38 583
+ -10000 110 269 669 275 726 18 32 675 378
+ -10000 60 840 657 413 626 145 932 773 386
+ -10000 708 243 54 15 701 835 991 961 763
+ -10000 874 605 527 493 946 735 98 872 206
+ -10000 654 424 456 709 804 46 160 882 579
+ -10000 173 463 753 85 180 634 813 833 559
+ -10000 460 751 901 739 617 447 537 275 773
+ -10000 978 239 483 643 293 129 613 461 378
+ -10000 306 295 266 458 486 822 719 355 822
+ -10000 834 331 323 693 344 133 427 405 881
+ -10000 735 147 101 23 745 414 134 35 501
+ -10000 377 556 783 143 859 699 474 242 449
+ -10000 455 655 598 941 814 591 791 216 249
+ -10000 617 800 60 841 0 661 253 576 984
+ -10000 355 330 303 969 613 623 37 864 922
+ -10000 127 449 995 607 457 972 554 314 565
+ -10000 620 983 518 69 845 321 765 76 448
+ -10000 738 30 152 833 589 327 265 785 260
+ -10000 885 768 177 433 586 15 529 424 495
+ -10000 278 444 320 394 178 372 33 114 771
+ -10000 562 572 45 429 889 212 715 12 453
+ -10000 568 49 128 543 619 291 310 102 63
+ -10000 58 661 519 731 376 394 705 607 521
+ -10000 443 752 834 708 758 242 650 848 67
+ -10000 515 675 824 869 747 343 210 127 493
+ -10000 132 965 375 112 543 370 368 501 336
+ -10000 362 928 803 910 676 599 548 155 302
+ -10000 772 695 654 130 952 518 685 358 616
+ -10000 705 88 10 184 285 284 273 386 431
+ -10000 824 291 321 398 228 642 126 18 221
+ -10000 731 942 859 501 627 652 840 808 216
+ -10000 929 268 70 605 414 399 409 755 610
+ -10000 15 664 360 361 562 631 75 231 778
+ -10000 405 128 601 557 788 943 817 916 747
+ -10000 85 333 457 448 960 893 191 741 457
+ -10000 120 524 55 1 341 914 338 551 57
+ -10000 86 161 239 142 287 503 544 67 780
+ -10000 134 371 675 72 868 46 987 37 774
+ -10000 158 447 349 813 110 319 985 360 923
+ -10000 794 399 134 676 686 474 564 248 231
+ -10000 388 97 977 778 909 346 875 525 10
+ -10000 964 845 22 606 508 50 294 690 640
+ -10000 439 101 332 520 248 992 529 392 986
+ -10000 860 297 688 161 689 19 659 744 789
+ -10000 755 487 837 383 268 628 476 690 966
+ -10000 169 643 960 291 627 583 929 817 995
+ -10000 506 29 106 165 350 20 890 419 959
+ -10000 898 804 258 137 530 911 895 801 729
+ -10000 418 959 567 363 717 597 990 848 992
+ -10000 201 291 98 402 6 314 220 835 639
+ -10000 169 810 847 814 424 97 73 381 610
+ -10000 790 677 119 247 339 197 653 653 709
+ -10000 808 2 710 871 897 938 572 769 459
+ -10000 509 43 814 747 949 433 710 7 939
+ -10000 832 504 850 455 853 131 124 618 419
+ -10000 431 689 922 644 593 853 673 123 101
+ -10000 91 425 275 355 433 726 803 720 818
+ -10000 109 551 829 80 696 186 575 238 73
+ -10000 137 404 89 452 884 46 746 638 670
+ -10000 251 814 387 217 774 999 969 116 676
+ -10000 75 794 702 671 127 661 163 539 488
+ -10000 159 356 949 458 284 481 418 783 886
+ -10000 220 79 655 502 861 616 734 738 141
+ -10000 502 97 294 195 34 885 105 3 374
+ -10000 109 87 177 893 83 670 593 322 494
+ -10000 552 210 676 676 303 382 891 406 707
+ -10000 692 559 883 662 982 598 868 349 159
+ -10000 117 733 440 400 364 524 863 73 260
+ -10000 15 933 726 240 478 575 784 456 862
+ -10000 686 525 140 369 15 292 748 577 474
+ -10000 466 647 850 649 106 76 540 616 6
+ -10000 198 507 441 426 662 869 849 735 41
+ -10000 952 928 867 304 407 488 837 23 519
+ -10000 639 577 912 173 314 717 599 369 586
+ -10000 254 824 296 372 474 174 295 628 28
+ -10000 689 454 654 784 577 332 812 614 879
+ -10000 466 598 899 95 91 914 302 963 33
+ -10000 276 847 506 328 420 712 372 614 144
+ -10000 348 688 315 120 326 662 657 886 764
+ -10000 341 880 314 655 373 304 71 335 892
+ -10000 390 608 517 849 681 411 484 120 328
+ -10000 550 110 538 416 797 465 952 211 78
+ -10000 692 53 782 813 343 628 934 802 627
+ -10000 447 901 584 304 656 108 788 506 308
+ -10000 89 293 294 411 108 346 57 919 687
+ -10000 636 808 495 305 44 153 768 957 964
+ -10000 623 873 71 622 394 666 624 123 235
+ -10000 70 809 338 412 362 236 279 145 999
+ -10000 624 450 946 862 472 59 641 365 47
+ -10000 669 259 634 704 464 340 225 571 103
+ -10000 141 7 306 874 931 742 490 321 980
+ -10000 808 116 99 63 827 883 250 866 750
+ -10000 196 445 768 929 634 957 992 749 36
+ -10000 980 373 785 752 147 649 38 725 998
+ -10000 919 491 340 628 385 958 540 279 999
+ -10000 146 259 473 729 730 305 67 188 378
+ -10000 341 343 579 115 82 493 774 706 698
+ -10000 646 130 896 462 499 331 236 26 168
+ -10000 143 567 34 394 691 377 298 810 708
+ -10000 945 77 207 760 741 389 422 755 652
+ -10000 499 763 18 696 38 222 93 563 414
+ -10000 307 36 653 890 524 996 908 694 587
+ -10000 799 909 369 361 709 57 126 133 591
+ -10000 225 166 348 567 521 894 636 148 290
+ -10000 544 413 684 798 443 48 82 743 807
+ -10000 293 778 603 221 998 443 22 288 910
+ -10000 85 785 295 380 635 452 381 901 686
+ -10000 614 77 806 144 538 284 281 231 154
+ -10000 936 146 866 905 163 542 152 994 21
+ -10000 396 728 802 690 330 115 374 725 339
+ -10000 896 307 876 391 624 949 932 798 263
+ -10000 852 33 706 896 265 557 232 828 133
+ -10000 62 692 23 39 797 389 395 230 135
+ -10000 577 181 62 454 173 986 48 965 749
+ -10000 265 794 573 674 535 611 656 287 342
+ -10000 908 539 437 833 432 577 75 496 913
+ -10000 423 976 169 631 764 976 343 865 303
+ -10000 315 341 563 710 765 34 324 221 262
+ -10000 44 593 109 232 372 604 84 482 804
+ -10000 973 912 606 502 633 241 906 338 818
+ -10000 547 264 540 35 141 103 160 843 910
+ -10000 583 536 671 386 350 100 959 612 885
+ -10000 857 95 332 242 988 513 616 11 555
+ -10000 387 231 183 451 393 85 766 252 160
+ -10000 372 469 487 362 953 462 528 171 222
+ -10000 630 856 199 214 345 171 736 560 660
+ -10000 107 375 128 394 170 346 738 234 601
+ -10000 142 378 728 209 427 953 20 868 279
+ -10000 434 699 178 191 506 303 723 605 334
+ -10000 748 469 739 763 476 192 711 23 879
+ -10000 521 229 151 847 857 431 297 682 715
+ -10000 527 249 38 926 972 177 541 65 534
+ -10000 130 522 375 977 24 489 842 678 943
+ -10000 633 243 490 703 209 626 884 928 504
+ -10000 346 565 791 909 486 375 202 849 158
+ -10000 134 755 336 475 479 284 940 110 924
+ -10000 558 956 330 102 562 674 696 730 178
+ -10000 586 781 935 660 328 456 401 518 647
+ -10000 922 300 857 570 479 850 890 213 239
+ -10000 158 922 113 603 742 678 190 200 587
+ -10000 355 136 904 102 209 691 684 516 343
+ -10000 452 687 484 889 701 707 260 752 879
+ -10000 317 735 579 380 791 818 461 225 228
+ -10000 907 157 273 751 20 538 680 795 760
+ -10000 736 365 658 294 208 311 24 48 6
+ -10000 230 662 108 941 195 785 326 228 975
+ -10000 238 99 656 557 346 515 942 665 946
+ -10000 364 551 938 16 126 849 618 671 472
+ -10000 599 568 861 336 496 137 375 855 391
+ -10000 520 559 253 297 122 433 923 848 494
+ -10000 244 956 734 823 242 636 542 517 184
+ -10000 665 404 473 319 198 871 524 972 463
+ -10000 521 847 848 679 635 391 642 157 215
+ -10000 708 673 355 996 11 271 498 9 721
+ -10000 230 561 892 161 1000 272 494 599 255
+ -10000 471 180 496 937 220 677 596 458 456
+ -10000 372 447 54 841 386 313 698 879 727
+ -10000 301 853 407 316 489 229 103 468 130
+ -10000 533 537 78 90 31 296 342 250 607
+ -10000 235 614 476 105 828 273 154 445 961
+ -10000 647 958 434 986 456 839 9 158 955
+ -10000 693 652 910 270 561 594 707 489 430
+ -10000 370 812 866 66 784 496 524 370 328
+ -10000 945 785 770 659 783 783 589 250 434
+ -10000 277 235 208 466 718 25 242 316 727
+ -10000 213 948 846 723 972 498 487 902 772
+ -10000 524 245 81 405 232 988 762 543 656
+ -10000 650 256 731 824 216 1 619 539 423
+ -10000 160 492 553 979 535 236 154 877 22
+ -10000 641 145 519 696 541 757 416 284 989
+ -10000 668 460 592 813 219 237 78 414 435
+ -10000 381 37 11 984 823 160 888 590 612
+ -10000 762 346 785 135 800 144 89 489 567
+ -10000 593 660 965 973 482 625 511 142 979
+ -10000 317 353 61 335 839 671 838 393 514
+ -10000 590 989 560 266 298 962 562 837 470
+ -10000 246 389 456 436 356 493 900 220 1000
+ -10000 232 555 887 836 696 759 755 672 616
+ -10000 734 194 311 86 969 654 718 846 472
+ -10000 474 360 189 433 352 705 362 233 20
+ -10000 943 292 358 36 164 59 254 291 808
+ -10000 307 221 957 249 666 551 22 36 473
+ -10000 525 787 179 775 66 297 187 587 592
+ -10000 759 86 533 43 316 592 500 160 303
+ -10000 981 402 574 439 611 372 831 398 1
+ -10000 125 116 567 245 641 121 412 877 690
+ -10000 674 71 935 389 828 467 960 819 94
+ -10000 386 902 740 612 520 191 286 820 340
+ -10000 811 425 58 78 702 801 581 26 76
+ -10000 720 187 397 683 416 158 509 474 202
+ -10000 477 556 714 232 558 787 142 820 210
+ -10000 706 591 529 731 168 249 575 98 389
+ -10000 393 768 650 660 570 612 48 589 814
+ -10000 161 950 267 141 545 868 81 980 880
+ -10000 772 496 416 636 861 153 102 363 160
+ -10000 122 65 702 805 365 874 400 780 964
+ -10000 843 773 156 942 865 256 44 768 892
+ -10000 683 106 378 328 627 391 64 775 91
+ -10000 212 973 124 119 826 698 192 152 876
+ -10000 31 48 12 990 258 400 998 55 735
+ -10000 124 734 945 651 217 382 161 230 644
+ -10000 808 586 504 930 406 572 523 277 661
+ -10000 313 890 338 754 604 330 50 125 865
+ -10000 806 870 160 956 951 224 186 624 820
+ -10000 657 470 746 295 279 80 336 407 487
+ -10000 742 118 881 144 398 783 142 499 629
+ -10000 64 629 114 659 315 445 118 681 582
+ -10000 69 419 406 714 532 697 491 470 570
+ -10000 966 609 609 514 384 24 632 617 17
+ -10000 531 18 214 874 805 507 78 500 307
+ -10000 791 147 665 422 439 496 686 657 492
+ -10000 430 306 451 576 568 81 100 231 818
+ -10000 935 286 187 538 92 744 998 422 946
+ -10000 579 863 599 522 408 816 238 595 478
+ -10000 34 377 216 935 610 969 747 896 15
+ -10000 401 985 463 9 780 408 806 484 862
+ -10000 205 600 818 118 883 270 388 570 150
+ -10000 382 849 651 74 896 74 805 862 95
+ -10000 515 520 805 839 417 390 2 251 241
+ -10000 543 107 152 414 420 699 918 829 671
+ -10000 767 294 694 945 583 441 412 997 882
+ -10000 76 909 765 94 118 139 856 448 753
+ -10000 686 857 784 800 565 713 534 590 379
+ -10000 680 779 614 935 150 327 472 612 758
+ -10000 622 242 594 770 950 981 28 345 392
+ -10000 679 407 135 759 374 642 227 968 510
+ -10000 652 309 816 221 82 139 692 375 49
+ -10000 831 247 361 434 445 654 725 279 650
+ -10000 575 469 632 406 56 761 81 238 717
+ -10000 211 903 591 814 766 620 188 861 80
+ -10000 446 305 887 165 680 154 178 768 74
+ -10000 313 425 507 646 285 441 244 888 340
+ -10000 617 999 252 189 70 913 265 993 812
+ -10000 520 972 192 187 849 593 93 32 855
+ -10000 453 369 87 264 536 928 754 576 655
+ -10000 181 779 995 33 831 827 745 61 26
+ -10000 77 977 798 28 909 212 307 158 672
+ -10000 738 618 24 762 18 248 564 269 45
+ -10000 883 635 64 599 613 232 205 694 287
+ -10000 358 115 355 449 71 768 615 986 139
+ -10000 39 405 843 41 352 531 58 884 118
+ -10000 920 365 683 324 665 235 648 692 528
+ -10000 842 253 998 498 259 736 82 700 731
+ -10000 199 122 756 403 77 69 780 177 278
+ -10000 901 152 719 40 830 347 706 960 662
+ -10000 82 553 261 988 898 739 339 343 13
+ -10000 75 863 79 684 935 566 411 802 360
+ -10000 965 279 547 87 156 167 187 57 888
+ -10000 701 574 975 54 108 535 59 452 318
+ -10000 560 316 558 506 278 780 935 768 86
+ -10000 856 264 452 959 939 799 529 12 710
+ -10000 268 736 746 435 132 424 416 441 151
+ -10000 855 481 239 463 487 835 342 325 359
+ -10000 97 840 499 486 52 508 892 415 265
+ -10000 751 399 812 618 22 673 616 673 927
+ -10000 438 492 542 650 10 799 571 163 724
+ -10000 56 29 570 787 232 147 54 340 706
+ -10000 926 295 373 589 530 629 1 319 378
+ -10000 401 362 923 405 528 655 416 656 608
+ -10000 304 92 739 82 213 101 397 529 104
+ -10000 377 194 583 398 730 964 102 17 17
+ -10000 433 293 762 558 514 344 515 318 750
+ -10000 796 957 561 812 744 470 798 325 735
+ -10000 755 454 4 169 132 860 754 347 185
+ -10000 340 307 378 128 640 164 169 901 450
+ -10000 127 16 732 760 639 666 964 621 296
+ -10000 76 834 987 990 73 125 601 388 707
+ -10000 722 209 174 887 562 460 376 817 132
+ -10000 525 489 177 317 723 479 970 237 535
+ -10000 504 630 653 718 377 315 482 55 218
+ -10000 631 838 12 868 589 279 536 121 91
+ -10000 695 350 867 434 40 424 236 829 723
+ -10000 149 694 348 377 785 793 171 892 515
+ -10000 656 133 348 302 25 543 898 762 984
+ -10000 926 200 54 474 466 842 299 802 68
+ -10000 665 77 743 27 959 295 192 119 281
+ -10000 941 648 97 660 700 562 15 842 349
+ -10000 100 827 179 912 457 57 249 398 48
+ -10000 415 915 229 869 186 89 907 819 305
+ -10000 906 616 462 993 239 873 927 150 595
+ -10000 747 374 834 359 792 9 125 669 697
+ -10000 205 120 633 98 827 661 215 863 276
+ -10000 643 507 601 352 27 986 529 993 49
+ -10000 353 499 448 922 404 437 863 529 950
+ -10000 534 877 819 193 26 808 225 704 500
+ -10000 974 339 815 328 591 445 139 245 998
+ -10000 108 608 166 357 55 562 93 96 511
+ -10000 416 820 40 35 831 801 752 466 480
+ -10000 265 242 36 647 830 851 386 22 235
+ -10000 737 39 304 14 649 76 797 507 386
+ -10000 946 682 750 925 812 817 935 539 984
+ -10000 3 66 671 440 706 110 96 154 164
+ -10000 617 283 422 230 166 825 321 931 73
+ -10000 899 80 775 165 462 498 546 461 336
+ -10000 987 175 495 553 431 913 354 606 113
+ -10000 771 429 521 233 480 546 314 972 752
+ -10000 532 287 69 538 6 319 41 156 328
+ -10000 63 900 735 783 321 172 124 268 176
+ -10000 708 444 27 110 429 723 540 720 457
+ -10000 105 522 134 339 540 772 429 649 954
+ -10000 727 857 657 608 292 904 206 222 335
+ -10000 499 90 248 680 424 361 377 305 673
+ -10000 13 930 285 403 636 678 703 879 850
+ -10000 402 790 245 334 98 1000 503 671 471
+ -10000 441 475 161 344 742 125 117 977 646
+ -10000 152 326 182 77 100 636 798 689 153
+ -10000 856 593 807 975 251 437 883 874 230
+ -10000 484 666 135 97 205 850 285 260 551
+ -10000 761 756 384 667 872 235 408 781 555
+ -10000 1000 134 744 857 325 664 428 651 707
+ -10000 737 288 901 871 356 765 734 925 65
+ -10000 526 556 492 214 596 682 79 807 352
+ -10000 778 825 100 680 591 834 712 70 323
+ -10000 19 88 756 565 43 677 215 950 433
+ -10000 669 296 821 397 855 17 528 617 203
+ -10000 434 645 581 275 518 653 493 739 769
+ -10000 729 217 472 850 39 651 212 979 140
+ -10000 741 611 81 556 500 286 728 583 362
+ -10000 40 62 442 462 944 49 446 282 636
+ -10000 895 457 301 786 157 935 430 459 374
+ -10000 42 839 607 441 69 913 367 305 926
+ -10000 483 530 478 883 522 387 470 87 972
+ -10000 676 760 536 291 12 826 371 584 479
+ -10000 163 241 839 423 494 349 418 245 131
+ -10000 197 987 97 60 112 78 106 958 9
+ -10000 552 602 908 324 736 551 699 758 231
+ -10000 899 985 501 277 310 666 306 546 312
+ -10000 550 728 156 905 544 306 630 763 986
+ -10000 895 30 919 333 96 23 895 497 751
+ -10000 678 25 349 928 46 649 412 975 841
+ -10000 97 135 357 653 351 125 674 955 497
+ -10000 927 852 154 751 864 874 717 782 771
+ -10000 184 393 402 502 342 44 985 227 796
+ -10000 336 90 67 541 884 370 194 311 780
+ -10000 509 758 984 608 301 675 763 345 23
+ -10000 28 707 880 111 369 53 718 648 619
+ -10000 596 665 163 682 367 619 889 629 33
+ -10000 357 721 932 384 258 494 783 678 52
+ -10000 290 190 690 159 962 371 605 743 96
+ -10000 159 466 883 416 586 979 470 648 37
+ -10000 151 543 414 416 49 750 830 24 982
+ -10000 372 320 571 88 825 915 490 838 648
+ -10000 498 345 864 536 971 973 309 704 320
+ -10000 353 745 4 158 19 598 618 367 373
+ -10000 454 595 874 199 629 541 99 901 389
+ -10000 930 512 342 154 896 942 38 677 861
+ -10000 190 835 836 387 675 568 516 156 411
+ -10000 302 576 692 433 841 761 698 562 157
+ -10000 208 84 943 301 138 190 848 221 271
+ -10000 590 323 514 640 152 212 489 679 307
+ -10000 293 878 7 293 812 579 689 258 650
+ -10000 1000 493 981 679 692 647 796 165 218
+ -10000 957 622 49 415 363 71 948 256 948
+ -10000 690 192 528 886 786 809 104 152 346
+ -10000 828 933 604 242 435 418 385 505 242
+ -10000 864 463 78 722 233 331 661 808 533
+ -10000 867 258 402 892 159 375 362 614 796
+ -10000 253 660 664 19 616 818 94 212 362
+ -10000 567 633 617 479 795 998 958 236 349
+ -10000 888 334 927 786 4 340 560 258 58
+ -10000 976 784 983 894 610 769 968 124 797
+ -10000 404 263 878 640 359 787 508 656 551
+ -10000 389 688 277 798 52 823 260 870 263
+ -10000 864 869 740 946 929 794 898 284 329
+ -10000 244 567 185 827 372 615 187 902 866
+ -10000 474 256 593 349 325 410 414 831 684
+ -10000 822 705 434 39 287 362 618 436 468
+ -10000 897 458 74 121 822 610 648 50 246
+ -10000 450 954 390 523 411 899 632 875 426
+ -10000 373 391 187 182 403 562 513 398 470
+ -10000 42 526 675 272 789 958 632 10 392
+ -10000 38 282 708 251 404 153 765 795 775
+ -10000 748 302 177 869 402 572 71 666 486
+ -10000 656 144 361 479 194 392 514 850 376
+ -10000 1 531 353 246 330 939 133 825 284
+ -10000 999 673 903 624 458 779 598 876 717
+ -10000 520 509 549 875 945 581 33 9 241
+ -10000 327 147 963 890 266 414 944 157 327
+ -10000 690 480 215 80 39 13 709 966 306
+ -10000 284 540 864 487 965 676 713 645 128
+ -10000 897 834 890 572 161 717 902 588 729
+ -10000 938 680 101 205 314 249 862 868 626
+ -10000 768 633 386 676 630 891 611 827 986
+ -10000 321 933 961 28 361 610 574 143 360
+ -10000 421 550 358 731 38 840 852 860 627
+ -10000 347 297 3 490 231 53 557 639 638
+ -10000 172 311 502 670 849 175 791 171 886
+ -10000 29 423 381 872 495 105 420 241 671
+ -10000 528 349 213 572 53 68 767 189 557
+ -10000 17 211 702 940 538 768 150 293 740
+ -10000 252 524 345 737 834 20 386 303 255
+ -10000 973 626 312 705 6 764 428 770 226
+ -10000 477 949 854 444 163 892 273 85 80
+ -10000 902 637 468 901 29 432 558 693 963
+ -10000 643 727 315 190 972 530 402 158 347
+ -10000 821 708 790 593 834 644 785 761 910
+ -10000 789 382 863 183 178 554 91 669 649
+ -10000 216 989 391 617 473 394 743 466 446
+ -10000 430 237 428 100 141 677 706 531 645
+ -10000 936 936 599 946 961 228 667 395 969
+ -10000 995 567 723 607 708 745 649 585 417
+ -10000 148 114 696 206 904 891 113 674 421
+ -10000 771 49 817 854 770 975 45 123 688
+ -10000 624 383 870 406 118 310 891 439 332
+ -10000 721 791 580 760 944 394 460 572 151
+ -10000 753 141 40 675 757 453 114 423 480
+ -10000 705 827 139 848 962 43 933 110 327
+ -10000 299 56 244 16 324 918 992 292 597
+ -10000 326 236 916 508 661 487 175 331 71
+ -10000 68 977 271 710 813 828 654 349 827
+ -10000 424 435 374 80 894 337 787 696 438
+ -10000 481 249 954 684 327 468 309 169 540
+ -10000 944 737 818 221 30 366 990 150 194
+ -10000 284 39 58 342 668 197 58 329 886
+ -10000 281 133 637 900 523 118 918 254 372
+ -10000 295 865 278 684 557 580 645 797 993
+ -10000 695 426 611 944 817 265 959 493 754
+ -10000 671 890 228 769 495 59 840 949 58
+ -10000 255 613 243 931 177 834 557 917 247
+ -10000 121 348 583 944 625 495 685 862 1
+ -10000 549 594 14 414 767 499 915 199 573
+ -10000 944 439 215 689 783 25 678 4 601
+ -10000 299 836 33 855 150 383 586 838 48
+ -10000 910 206 949 193 611 467 784 525 971
+ -10000 637 462 970 745 147 884 670 963 61
+ -10000 675 706 423 846 983 967 243 931 647
+ -10000 73 723 82 702 631 427 357 669 185
+ -10000 166 39 500 207 284 762 727 590 638
+ -10000 474 307 516 709 260 194 270 798 333
+ -10000 21 914 945 702 587 80 590 665 902
+ -10000 38 738 912 38 566 330 619 545 409
+ -10000 778 496 377 320 64 933 852 592 175
+ -10000 756 195 507 66 317 473 467 715 684
+ -10000 95 894 429 416 974 925 173 174 75
+ -10000 979 985 777 457 716 807 82 754 328
+ -10000 263 883 782 529 652 540 175 403 124
+ -10000 706 992 922 670 843 754 96 836 835
+ -10000 720 71 690 477 370 680 751 449 464
+ -10000 601 368 147 722 856 132 898 610 974
+ -10000 247 386 623 516 876 792 855 41 382
+ -10000 307 982 298 747 126 709 580 335 917
+ -10000 926 136 219 638 37 522 118 746 437
+ -10000 876 748 882 455 718 987 585 392 130
+ -10000 219 332 664 806 831 672 723 472 405
+ -10000 583 840 696 273 584 810 501 64 814
+ -10000 356 225 445 366 360 463 828 88 189
+ -10000 44 268 974 480 461 622 88 414 242
+ -10000 893 294 745 268 135 849 424 684 773
+ -10000 191 899 802 835 25 551 373 760 654
+ -10000 961 240 61 879 58 539 881 328 45
+ -10000 848 639 686 297 190 594 808 681 940
+ -10000 684 239 365 163 194 859 670 759 898
+ -10000 523 172 373 266 45 711 484 624 659
+ -10000 427 610 482 336 786 60 714 815 27
+ -10000 969 662 804 101 3 579 15 776 140
+ -10000 578 524 316 770 653 876 570 836 618
+ -10000 777 416 542 640 798 81 170 112 974
+ -10000 2 494 200 456 989 236 400 440 950
+ -10000 360 230 416 668 779 539 919 23 369
+ -10000 805 689 770 768 450 259 227 376 485
+ -10000 873 656 382 695 343 785 381 92 403
+ -10000 813 122 891 187 701 763 662 720 731
+ -10000 506 363 366 256 799 950 724 167 532
+ -10000 662 412 869 827 638 973 195 157 482
+ -10000 725 755 624 951 73 173 698 135 510
+ -10000 472 577 443 927 672 334 198 724 448
+ -10000 324 90 991 623 44 542 134 658 574
+ -10000 459 49 703 423 844 779 30 425 721
+ -10000 493 972 418 24 113 653 307 705 238
+ -10000 149 469 855 603 428 119 657 354 297
+ -10000 457 446 147 715 539 967 755 837 593
+ -10000 990 998 406 457 906 785 159 703 977
+ -10000 433 724 247 83 845 160 218 336 278
+ -10000 755 228 842 232 288 230 60 615 152
+ -10000 611 621 152 808 838 874 474 635 242
+ -10000 600 120 542 719 222 47 34 354 963
+ -10000 965 724 958 287 124 803 51 712 959
+ -10000 654 286 786 57 383 847 382 15 485
+ -10000 184 152 455 397 569 225 138 263 945
+ -10000 549 691 397 941 178 553 792 518 203
+ -10000 169 390 699 30 457 54 975 418 808
+ -10000 122 775 517 822 868 430 692 560 811
+ -10000 495 726 223 746 192 883 202 798 420
+ -10000 177 633 874 531 549 400 745 939 125
+ -10000 508 800 82 441 791 354 379 288 94
+ -10000 948 907 5 105 518 187 450 37 566
+ -10000 295 871 74 281 497 185 598 208 168
+ -10000 392 492 50 656 813 570 717 549 579
+ -10000 134 748 318 890 195 286 323 427 276
+ -10000 699 561 793 558 282 313 710 447 752
+ -10000 27 100 308 269 318 45 344 761 335
+ -10000 414 636 104 169 966 474 564 188 506
+ -10000 951 277 162 588 688 38 236 822 737
+ -10000 739 551 951 50 74 509 58 388 769
+ -10000 156 806 428 1 161 627 303 3 940
+ -10000 911 350 998 821 650 992 155 382 969
+ -10000 47 936 800 463 36 471 869 182 573
+ -10000 71 167 710 627 522 945 778 372 328
+ -10000 621 281 48 285 567 184 748 127 150
+ -10000 559 998 46 356 927 117 784 17 846
+ -10000 789 714 59 404 615 629 884 582 910
+ -10000 479 94 306 163 98 283 983 29 794
+ -10000 957 887 684 208 312 391 4 149 710
+ -10000 518 71 497 400 982 54 962 391 749
+ -10000 138 287 16 475 93 220 216 494 503
+ -10000 638 699 18 206 67 602 429 760 741
+ -10000 803 412 375 897 734 446 289 850 788
+ -10000 259 933 981 896 404 820 790 152 535
+ -10000 632 125 953 978 109 707 721 629 84
+ -10000 594 45 760 351 884 684 470 135 876
+ -10000 292 365 986 476 436 598 857 604 292
+ -10000 545 989 117 14 613 294 783 167 632
+ -10000 352 549 606 932 678 669 177 71 541
+ -10000 837 383 73 135 714 755 511 891 482
+ -10000 278 675 23 239 572 591 865 827 682
+ -10000 837 220 790 963 570 478 434 801 57
+ -10000 717 656 400 787 129 473 969 172 695
+ -10000 139 977 444 446 415 185 924 141 608
+ -10000 159 866 277 973 199 5 482 762 234
+ -10000 922 869 12 990 616 976 167 47 871
+ -10000 102 168 581 719 266 835 141 644 584
+ -10000 733 621 658 752 634 353 318 642 780
+ -10000 445 268 596 842 307 352 46 193 985
+ -10000 589 706 93 10 0 208 240 941 362
+ -10000 590 104 403 370 639 204 183 99 438
+ -10000 413 671 142 875 122 923 796 272 386
+ -10000 158 603 579 677 582 919 104 743 332
+ -10000 72 893 223 264 915 930 415 402 560
+ -10000 95 964 535 582 421 146 591 727 156
+ -10000 842 513 595 942 273 736 727 253 731
+ -10000 217 936 767 914 320 893 314 299 247
+ -10000 375 376 71 131 740 873 847 228 759
+ -10000 693 285 61 234 361 303 462 24 241
+ -10000 921 792 280 495 775 599 962 521 923
+ -10000 557 671 908 48 702 787 63 371 384
+ -10000 980 634 954 680 587 914 853 66 913
+ -10000 83 722 847 414 66 803 855 52 473
+ -10000 121 530 785 809 723 751 948 138 816
+ -10000 708 634 345 325 41 997 711 617 245
+ -10000 369 100 837 893 123 678 69 358 671
+ -10000 425 936 495 523 842 968 434 507 253
+ -10000 367 552 582 27 854 846 304 318 929
+ -10000 805 712 553 387 568 254 949 393 634
+ -10000 316 347 252 649 760 900 968 726 251
+ -10000 379 178 291 164 861 752 551 478 644
+ -10000 248 181 125 131 233 141 660 412 581
+ -10000 123 513 99 754 324 145 144 792 873
+ -10000 742 228 950 839 293 916 107 661 460
+ -10000 898 766 739 306 653 27 466 101 49
+ -10000 863 932 301 582 67 369 946 821 700
+ -10000 977 205 140 980 524 378 591 527 976
+ -10000 581 567 457 683 743 673 471 798 594
+ -10000 228 305 697 197 711 218 173 274 976
+ -10000 609 853 408 173 969 738 907 560 534
+ -10000 518 514 891 566 649 258 664 169 444
+ -10000 7 569 242 186 880 109 605 702 799
+ -10000 828 987 877 107 457 305 415 885 75
+ -10000 294 37 187 17 724 71 664 820 108
+ -10000 216 66 74 840 763 917 339 991 326
+ -10000 851 86 470 513 711 430 51 889 26
+ -10000 14 529 246 201 216 825 392 414 938
+ -10000 505 236 761 521 449 223 325 36 826
+ -10000 236 658 45 823 496 981 761 775 590
+ -10000 946 609 191 707 516 755 857 260 494
+ -10000 531 979 414 405 521 594 834 435 90
+ -10000 912 11 858 780 625 959 744 410 498
+ -10000 871 244 363 617 389 379 122 241 450
+ -10000 366 866 369 166 599 210 960 773 527
+ -10000 703 161 682 548 732 667 879 862 225
+ -10000 597 168 401 753 757 255 875 554 526
+ -10000 428 715 942 161 241 282 264 362 9
+ -10000 495 252 813 492 973 227 800 308 73
+ -10000 888 891 864 328 469 566 271 883 230
+ -10000 9 319 622 402 440 978 943 589 127
+ -10000 623 772 752 265 244 864 894 504 783
+ -10000 143 81 303 157 236 971 71 752 719
+ -10000 283 236 58 820 262 816 510 241 442
+ -10000 728 369 842 37 598 302 757 371 926
+ -10000 421 732 690 562 528 56 165 252 605
+ -10000 198 658 344 4 600 71 289 299 15
+ -10000 263 1000 737 467 107 442 931 746 974
+ -10000 442 109 235 272 601 208 934 544 924
+ -10000 937 603 476 571 730 726 73 440 804
+ -10000 559 35 245 564 28 397 952 873 385
+ -10000 834 870 949 860 145 464 432 55 756
+ -10000 916 971 882 184 366 313 621 963 741
+ -10000 235 463 29 778 401 169 919 1 305
+ -10000 574 670 140 676 463 980 471 386 96
+ -10000 475 237 439 162 487 900 279 601 753
+ -10000 996 122 413 992 293 249 989 323 926
+ -10000 499 43 86 583 561 248 135 436 622
+ -10000 103 133 507 148 853 433 57 287 603
+ -10000 486 858 434 990 637 286 884 425 200
+ -10000 9 185 263 99 799 697 388 927 938
+ -10000 26 207 10 482 131 607 98 381 749
+ -10000 773 965 665 576 94 80 916 471 1
+ -10000 474 241 333 342 418 122 945 752 159
+ -10000 44 598 274 664 662 28 563 433 179
+ -10000 45 278 511 760 830 549 217 583 968
+ -10000 825 412 111 885 501 257 874 470 115
+ -10000 967 275 692 679 593 727 569 856 571
+ -10000 992 596 903 597 517 920 314 965 795
+ -10000 601 477 198 699 349 596 320 666 559
+ -10000 499 410 146 250 699 848 61 494 911
+ -10000 169 882 563 572 294 948 848 447 77
+ -10000 402 706 404 255 635 641 669 437 39
+ -10000 183 279 641 90 590 250 326 203 707
+ -10000 152 971 307 8 744 954 284 268 847
+ -10000 13 526 366 524 985 909 934 429 416
+ -10000 801 753 856 856 373 795 123 169 37
+ -10000 407 978 117 711 798 131 897 232 717
+ -10000 906 736 500 531 526 149 39 651 561
+ -10000 252 692 807 653 775 987 576 240 437
+ -10000 357 312 59 741 296 327 699 935 826
+ -10000 765 617 322 861 921 6 233 282 46
+ -10000 651 878 12 855 844 729 468 739 726
+ -10000 537 179 393 466 961 683 776 570 3
+ -10000 538 534 381 540 442 461 833 4 281
+ -10000 812 896 4 658 777 575 139 848 314
+ -10000 347 369 913 994 385 156 497 62 381
+ -10000 950 325 172 291 299 81 588 207 729
+ -10000 666 171 922 845 710 214 250 540 53
+ -10000 330 917 871 464 679 625 705 995 145
+ -10000 844 80 949 216 690 582 581 889 750
+ -10000 656 330 825 460 743 156 903 95 312
+ -10000 148 53 384 947 155 982 195 212 236
+ -10000 91 117 633 826 728 85 564 720 449
+ -10000 204 557 906 316 88 250 971 754 315
+ -10000 467 676 809 626 292 116 967 687 376
+ -10000 686 1 921 329 124 391 188 481 400
+ -10000 74 218 586 859 395 832 539 64 771
+ -10000 347 454 83 705 551 593 341 583 427
+ -10000 690 268 892 144 999 51 742 194 547
+ -10000 316 569 169 54 506 12 835 173 771
+ -10000 328 969 756 5 465 385 23 263 598
+ -10000 327 512 540 950 204 764 400 252 886
+ -10000 194 335 872 969 465 474 243 737 941
+ -10000 891 535 298 522 585 791 470 578 458
+ -10000 458 885 53 688 575 83 797 293 600
+ -10000 934 639 456 206 519 521 712 834 363
+ -10000 293 315 137 368 665 924 546 645 892
+ -10000 147 222 407 433 421 712 307 434 664
+ -10000 853 742 931 402 212 881 462 601 130
+ -10000 479 773 408 644 262 508 883 186 708
+ -10000 387 713 897 331 401 85 461 255 565
+ -10000 623 878 432 747 589 886 278 842 798
+ -10000 341 651 801 808 975 714 148 299 115
+ -10000 45 471 549 2 714 784 34 88 562
+ -10000 660 255 623 551 392 592 908 484 23
+ -10000 374 257 364 912 586 718 688 447 501
+ -10000 927 747 963 542 214 190 358 91 62
+ -10000 160 492 219 118 816 752 186 335 934
+ -10000 62 254 933 786 619 719 689 508 727
+ -10000 538 966 350 470 769 189 775 763 482
+ -10000 950 533 599 886 44 984 485 736 978
+ -10000 620 510 564 989 656 126 925 209 11
+ -10000 205 172 299 972 368 906 441 296 867
+ -10000 179 308 179 487 268 438 872 789 46
+ -10000 399 147 968 13 632 194 239 237 881
+ -10000 52 35 172 111 266 581 504 466 4
+ -10000 681 39 366 682 86 888 846 798 62
+ -10000 118 66 723 732 335 784 925 981 510
+ -10000 415 45 668 760 231 298 123 580 920
+ -10000 80 17 33 962 471 840 644 71 676
+ -10000 462 119 761 56 71 555 297 502 35
+ -10000 808 379 617 684 381 338 850 138 67
+ -10000 247 392 958 685 605 562 435 735 605
+ -10000 80 651 851 837 236 45 897 384 857
+ -10000 732 452 294 77 904 901 693 753 811
+ -10000 46 856 829 673 282 298 320 882 951
+ -10000 813 322 429 418 634 568 940 802 120
+ -10000 613 246 96 219 263 739 854 542 80
+ -10000 71 788 211 598 405 218 297 647 349
+ -10000 603 513 820 772 998 301 391 567 87
+ -10000 303 51 833 683 76 40 211 763 684
+ -10000 689 686 214 343 535 661 498 531 293
+ -10000 416 778 109 505 578 8 109 926 637
+ -10000 409 227 857 514 760 818 864 889 76
+ -10000 81 573 640 526 686 806 813 963 648
+ -10000 848 800 871 991 629 452 820 459 375
+ -10000 440 725 75 875 521 302 686 380 895
+ -10000 309 319 133 745 413 84 868 135 972
+ -10000 175 177 896 611 927 886 904 510 677
+ -10000 453 18 805 946 770 103 507 583 499
+ -10000 851 183 492 92 16 525 775 81 5
+ -10000 451 131 110 535 969 623 352 58 737
+ -10000 300 204 908 95 980 416 378 194 354
+ -10000 755 469 968 511 100 781 236 850 158
+ -10000 661 384 513 728 573 779 646 673 541
+ -10000 515 953 311 991 351 511 387 945 538
+ -10000 763 902 366 360 726 318 671 916 459
+ -10000 665 824 879 229 241 783 773 120 484
+ -10000 751 315 686 90 350 664 373 868 456
+ -10000 399 553 762 53 843 718 541 132 633
+ -10000 370 586 372 845 19 794 542 107 939
+ -10000 16 283 174 525 590 536 528 980 540
+ -10000 408 653 314 62 160 306 51 248 693
+ -10000 548 854 435 889 335 165 308 663 453
+ -10000 460 796 63 185 559 574 700 196 284
+ -10000 776 694 161 313 387 918 167 917 527
+ -10000 396 659 800 923 829 899 657 412 524
+ -10000 215 872 55 643 874 809 897 373 310
+ -10000 219 862 601 726 427 683 925 841 391
+ -10000 781 107 110 51 904 589 125 261 656
+ -10000 762 521 821 685 843 305 221 38 734
+ -10000 228 896 572 719 584 275 542 815 55
+ -10000 840 17 301 445 159 883 268 897 990
+ -10000 770 166 290 235 535 276 100 465 309
+ -10000 242 376 12 332 432 871 580 922 778
+ -10000 350 389 301 802 935 283 802 234 363
+ -10000 866 787 652 594 623 395 995 518 746
+ -10000 627 241 458 886 805 159 528 162 802
+ -10000 580 680 272 281 273 150 814 305 231
+ -10000 241 434 837 20 3 478 518 140 38
+ -10000 857 432 951 891 972 996 498 797 58
+ -10000 58 83 19 73 727 13 963 410 739
+ -10000 506 736 397 193 837 58 503 732 669
+ -10000 18 69 149 933 104 809 999 100 188
+ -10000 932 778 898 496 722 169 441 130 356
+ -10000 487 159 238 365 457 724 128 326 806
+ -10000 323 572 728 397 191 937 199 96 619
+ -10000 103 835 145 882 773 871 867 885 345
+ -10000 531 449 884 645 356 545 250 201 374
+ -10000 234 190 283 473 853 863 879 455 323
+ -10000 848 260 293 277 97 757 185 764 259
+ -10000 811 686 273 631 660 621 271 363 428
+ -10000 397 440 779 960 596 389 140 541 888
+ -10000 612 897 254 420 320 304 585 958 614
+ -10000 188 228 31 345 78 219 595 57 401
+ -10000 83 594 349 537 716 608 934 14 231
+ -10000 914 692 488 39 653 404 188 538 495
+ -10000 824 43 639 316 404 450 222 961 755
+ -10000 957 847 512 373 472 914 680 25 452
+ -10000 588 561 813 212 661 884 793 542 485
+ -10000 424 928 628 972 699 252 76 367 761
+ -10000 253 311 154 171 141 208 407 705 973
+ -10000 623 318 805 565 770 923 578 578 907
+ -10000 478 796 58 967 817 882 152 269 780
+ -10000 388 667 420 736 385 763 602 407 886
+ -10000 492 370 782 320 298 868 59 924 593
+ -10000 924 223 399 506 865 561 777 68 958
+ -10000 306 165 960 524 394 907 975 883 585
+ -10000 729 851 184 506 509 130 307 747 46
+ -10000 417 89 256 981 231 486 638 426 943
+ -10000 627 367 341 221 349 318 459 461 803
+ -10000 365 471 777 565 282 209 320 998 583
+ -10000 185 982 119 562 252 700 89 800 644
+ -10000 726 47 608 397 11 129 211 886 398
+ -10000 375 70 349 535 340 723 376 37 285
+ -10000 8 716 640 20 365 434 814 265 982
+ -10000 858 326 205 335 974 335 957 78 910
+ -10000 830 628 681 597 385 670 58 549 343
+ -10000 28 426 289 493 283 624 868 903 468
+ -10000 47 958 654 120 747 652 590 588 328
+ -10000 207 323 491 182 24 569 214 696 732
+ -10000 418 940 109 801 333 531 149 673 937
+ -10000 917 477 869 132 497 13 764 579 329
+ -10000 720 845 648 265 335 4 265 874 329
+ -10000 489 124 122 486 642 930 800 549 911
+ -10000 239 419 486 827 920 683 251 740 576
+ -10000 928 360 928 171 484 53 363 89 817
+ -10000 806 46 930 32 335 935 294 377 551
+ -10000 400 128 110 76 57 429 426 495 871
+ -10000 241 638 676 938 499 868 368 233 243
+ -10000 27 61 90 834 672 617 913 510 50
+ -10000 581 127 160 697 171 168 376 794 197
+ -10000 18 790 104 600 800 326 565 564 42
+ -10000 931 172 420 583 904 198 424 121 998
+ -10000 378 828 86 329 753 583 401 178 503
+ -10000 103 413 448 362 487 213 770 177 698
+ -10000 339 491 47 447 523 953 26 473 675
+ -10000 781 59 680 514 706 174 900 687 756
+ -10000 363 499 217 494 312 885 378 36 301
+ -10000 602 513 800 750 884 157 38 302 443
+ -10000 241 168 740 531 984 434 900 585 342
+ -10000 478 102 436 723 434 167 854 562 124
+ -10000 283 188 494 229 365 452 15 585 223
+ -10000 650 835 101 669 19 815 801 87 641
+ -10000 221 451 549 270 827 404 471 141 715
+ -10000 669 355 230 205 794 944 66 233 758
+ -10000 650 501 585 409 562 76 742 493 959
+ -10000 725 542 148 1 856 483 814 536 177
+ -10000 247 316 312 15 282 160 672 108 24
+ -10000 641 767 64 97 699 488 710 725 76
+ -10000 148 792 78 64 373 1 333 582 992
+ -10000 605 789 583 441 22 906 372 259 812
+ -10000 760 664 934 752 458 859 264 917 31
+ -10000 409 650 306 15 832 414 997 441 203
+ -10000 128 413 938 772 563 126 364 561 749
+ -10000 409 254 812 293 882 606 447 90 376
+ -10000 103 930 554 961 303 176 556 645 758
+ -10000 355 806 618 460 491 985 809 286 330
+ -10000 215 27 792 33 190 32 327 278 512
+ -10000 261 193 211 624 231 259 184 328 335
+ -10000 867 999 345 829 27 322 93 28 961
+ -10000 129 189 820 424 800 550 615 536 851
+ -10000 688 575 349 483 40 454 900 176 0
+ -10000 385 930 933 186 707 844 240 618 395
+ -10000 439 563 18 972 164 38 715 78 585
+ -10000 939 851 635 64 201 696 56 534 924
+ -10000 286 853 815 223 274 644 641 288 313
+ -10000 559 554 64 908 541 137 787 321 712
+ -10000 619 136 506 316 878 498 511 809 124
+ -10000 716 700 511 817 794 329 991 761 635
+ -10000 929 919 189 990 366 111 288 961 88
+ -10000 717 615 635 393 684 660 185 807 174
+ -10000 128 918 976 92 79 335 695 123 199
+ -10000 224 193 633 715 93 474 344 417 138
+ -10000 96 80 859 375 21 43 341 569 262
+ -10000 910 704 733 468 450 366 260 946 403
+ -10000 489 621 231 196 598 908 210 670 327
+ -10000 256 367 11 393 398 723 877 903 253
+ -10000 367 186 186 262 382 833 793 367 257
+ -10000 936 794 467 924 145 714 479 360 611
+ -10000 114 440 855 785 350 737 799 445 7
+ -10000 624 623 313 984 57 583 850 454 705
+ -10000 138 430 131 935 831 4 433 160 938
+ -10000 569 21 524 113 433 386 493 187 966
+ -10000 1 4 873 358 158 728 327 775 379
+ -10000 865 816 287 75 962 603 367 653 538
+ -10000 809 671 490 85 464 943 849 422 375
+ -10000 626 675 155 897 157 317 586 595 312
+ -10000 543 992 928 384 571 665 600 878 263
+ -10000 952 928 863 500 292 57 313 641 245
+ -10000 557 435 19 269 546 225 923 474 143
+ -10000 532 791 765 644 216 231 863 361 352
+ -10000 105 970 762 435 114 150 25 183 88
+ -10000 124 946 463 868 518 722 269 515 590
+ -10000 242 433 257 726 416 406 721 251 829
+ -10000 36 481 189 997 414 245 443 730 872
+ -10000 277 827 274 531 763 58 696 22 201
+ -10000 248 971 610 620 271 683 720 191 408
+ -10000 451 661 222 409 972 999 331 130 353
+ -10000 906 418 767 140 150 437 370 948 569
+ -10000 928 785 344 855 528 981 560 283 537
+ -10000 222 673 957 144 753 381 857 545 222
+ -10000 904 972 644 150 153 285 566 821 134
+ -10000 976 738 814 523 611 574 452 555 170
+ -10000 580 192 775 840 746 566 842 989 791
+ -10000 535 430 708 404 735 141 123 374 931
+ -10000 769 135 957 884 935 429 759 770 534
+ -10000 423 793 199 634 344 19 225 953 286
+ -10000 668 426 313 366 624 616 410 78 453
+ -10000 702 909 231 249 685 650 455 427 856
+ -10000 28 440 9 76 216 860 496 83 595
+ -10000 635 562 543 990 268 349 445 650 272
+ -10000 628 545 934 355 415 1 465 158 249
+ -10000 947 779 196 766 895 443 471 563 844
+ -10000 370 877 639 462 180 413 779 819 519
+ -10000 507 814 223 252 728 454 77 577 114
+ -10000 281 104 53 90 162 335 414 717 274
+ -10000 287 15 621 93 181 724 744 666 510
+ -10000 748 698 742 499 905 154 473 410 601
+ -10000 582 641 295 722 866 185 296 743 487
+ -10000 956 291 704 293 662 395 658 380 487
+ -10000 175 120 969 972 116 214 737 454 225
+ -10000 232 872 710 991 364 927 740 921 903
+ -10000 164 511 625 31 328 584 362 744 286
+ -10000 373 244 775 809 573 206 903 540 804
+ -10000 708 309 463 205 91 143 31 42 319
+ -10000 460 217 939 50 411 299 682 426 836
+ -10000 726 140 145 217 285 244 888 309 885
+ -10000 660 696 931 329 29 901 833 734 860
+ -10000 295 311 72 408 195 225 914 807 644
+ -10000 441 55 839 442 256 695 41 844 413
+ -10000 979 812 569 753 261 980 603 458 862
+ -10000 882 82 265 800 88 446 452 301 441
+ -10000 70 205 472 878 309 844 558 665 355
+ -10000 966 373 303 289 885 56 735 442 409
+ -10000 238 64 149 744 255 524 721 170 668
+ -10000 11 861 104 196 86 465 954 581 683
+ -10000 515 797 916 703 729 750 360 900 673
+ -10000 848 600 916 825 495 100 507 79 117
+ -10000 695 971 113 922 937 156 997 24 791
+ -10000 973 27 787 270 808 709 18 525 148
+ -10000 64 269 14 979 288 372 460 256 0
+ -10000 671 421 827 608 254 251 735 601 230
+ -10000 901 163 859 867 174 838 192 853 67
+ -10000 802 633 876 975 799 46 192 163 986
+ -10000 2 591 328 561 870 163 31 652 263
+ -10000 990 822 327 851 792 162 207 202 794
+ -10000 212 168 653 437 430 244 95 97 738
+ -10000 102 568 757 644 972 304 142 415 823
+ -10000 24 53 411 408 795 868 383 683 534
+ -10000 271 96 373 593 53 609 719 928 593
+ -10000 405 222 932 260 555 412 347 806 715
+ -10000 644 274 808 69 877 974 611 892 263
+ -10000 18 255 148 54 221 303 135 150 639
+ -10000 676 542 568 845 303 825 905 778 136
+ -10000 550 110 362 810 379 967 632 970 525
+ -10000 152 871 263 17 264 247 941 524 740
+ -10000 826 528 522 148 422 39 137 74 432
+ -10000 575 974 743 552 173 424 863 237 548
+ -10000 489 421 790 164 467 796 942 381 847
+ -10000 798 750 201 811 625 925 605 14 754
+ -10000 670 878 524 743 210 996 744 939 979
+ -10000 360 685 897 103 75 245 186 651 819
+ -10000 458 935 640 211 355 858 32 99 647
+ -10000 872 521 127 353 638 476 1 41 759
+ -10000 495 989 429 552 654 75 929 591 645
+ -10000 398 303 425 254 687 850 544 495 657
+ -10000 830 552 991 434 52 289 958 192 368
+ -10000 303 326 157 431 289 145 489 527 358
+ -10000 353 671 427 439 220 725 68 66 311
+ -10000 726 566 638 733 939 394 599 235 317
+ -10000 3 642 623 2 688 623 791 161 953
+ -10000 773 670 489 625 898 211 138 632 695
+ -10000 868 274 331 560 688 692 705 614 969
+ -10000 486 753 804 529 912 566 476 33 267
+ -10000 727 308 981 138 898 783 46 261 296
+ -10000 185 241 472 736 119 738 108 149 607
+ -10000 960 261 168 880 487 613 524 928 198
+ -10000 678 491 387 769 880 413 401 873 355
+ -10000 943 934 559 92 289 427 982 263 851
+ -10000 433 83 108 417 623 174 523 626 524
+ -10000 269 508 917 442 570 971 768 752 489
+ -10000 860 314 219 102 925 308 532 222 124
+ -10000 307 334 991 849 548 44 663 830 274
+ -10000 65 612 319 559 51 90 805 235 652
+ -10000 628 287 150 154 710 327 791 309 9
+ -10000 858 115 73 14 176 524 388 360 727
+ -10000 926 881 702 227 407 803 85 997 753
+ -10000 700 742 642 355 133 256 129 406 756
+ -10000 269 4 187 324 257 99 358 102 96
+ -10000 427 283 794 409 696 917 808 376 957
+ -10000 898 372 27 928 952 461 198 816 396
+ -10000 818 103 455 646 984 264 718 202 852
+ -10000 808 449 311 783 327 440 400 991 224
+ -10000 777 662 545 329 912 7 25 0 50
+ -10000 560 212 684 899 378 629 981 344 207
+ -10000 824 437 944 943 171 807 177 528 638
+ -10000 957 178 664 858 513 590 28 949 619
+ -10000 879 787 493 739 151 244 827 805 228
+ -10000 229 693 460 198 283 875 44 554 818
+ -10000 180 838 281 38 839 565 61 608 764
+ -10000 154 346 878 835 580 647 798 341 947
+ -10000 951 280 180 368 346 111 893 439 212
+ -10000 854 986 340 12 833 491 909 589 653
+ -10000 593 824 31 230 106 303 27 628 529
+ -10000 551 594 306 508 589 256 848 569 505
+ -10000 821 284 403 596 378 827 913 340 584
+ -10000 882 313 391 472 7 252 488 323 484
+ -10000 412 62 359 506 699 238 115 31 39
+ -10000 211 217 641 839 335 125 716 300 109
+ -10000 271 265 855 420 123 100 126 475 571
+ -10000 801 732 843 869 829 828 86 53 933
+ -10000 86 255 699 105 308 188 793 641 484
+ -10000 989 874 861 844 120 814 464 75 790
+ -10000 148 644 651 298 687 409 394 697 672
+ -10000 35 666 863 288 703 355 393 396 670
+ -10000 213 440 163 143 177 591 120 460 868
+ -10000 996 778 878 70 840 444 139 45 777
+ -10000 593 416 241 767 22 784 245 137 20
+ -10000 683 959 834 998 534 51 982 938 47
+ -10000 808 835 480 580 351 610 995 922 556
+ -10000 365 987 542 134 499 929 239 463 15
+ -10000 560 192 370 336 55 67 668 379 898
+ -10000 297 126 538 132 886 576 716 638 255
+ -10000 621 336 906 970 75 279 651 719 657
+ -10000 370 650 626 151 473 160 298 831 419
+ -10000 795 635 397 901 712 875 593 806 744
+ -10000 584 916 179 662 121 386 65 58 910
+ -10000 128 322 262 79 768 329 484 10 381
+ -10000 1000 847 477 711 387 746 382 828 889
+ -10000 691 384 74 520 715 355 332 351 558
+ -10000 452 444 216 415 73 59 18 414 789
+ -10000 213 728 288 907 303 527 129 760 692
+ -10000 798 891 128 27 333 942 181 416 286
+ -10000 534 525 826 956 644 279 91 428 417
+ -10000 905 25 413 933 141 917 186 378 928
+ -10000 803 114 251 112 492 700 789 135 242
+ -10000 948 53 219 182 471 868 82 726 271
+ -10000 867 329 791 100 69 592 392 635 975
+ -10000 669 269 728 761 609 540 152 951 1
+ -10000 341 253 328 68 84 414 961 880 54
+ -10000 926 971 825 329 609 951 600 286 541
+ -10000 761 370 611 163 738 314 756 500 34
+ -10000 735 101 631 119 107 426 464 983 999
+ -10000 411 843 344 798 374 886 33 597 893
+ -10000 65 729 192 416 595 333 955 702 5
+ -10000 308 152 503 606 354 985 942 599 8
+ -10000 182 132 474 606 103 320 81 241 871
+ -10000 855 49 110 359 471 236 594 389 900
+ -10000 959 372 698 518 714 967 773 939 774
+ -10000 161 804 861 594 274 137 137 43 519
+ -10000 368 636 864 679 488 827 734 441 22
+ -10000 423 733 502 915 553 982 216 961 619
+ -10000 905 186 753 516 585 907 552 338 47
+ -10000 433 973 667 202 626 393 988 938 362
+ -10000 879 423 846 249 261 631 397 27 62
+ -10000 24 563 302 142 25 484 38 592 828
+ -10000 412 640 195 7 39 984 628 863 375
+ -10000 983 717 912 754 888 204 458 825 379
+ -10000 746 780 140 503 221 687 609 24 727
+ -10000 21 513 96 501 351 470 891 203 136
+ -10000 84 840 395 492 693 56 669 544 982
+ -10000 512 740 272 291 278 762 274 960 926
+ -10000 978 989 453 689 13 468 71 777 828
+ -10000 747 936 216 530 406 990 306 383 709
+ -10000 698 908 434 310 160 499 78 829 50
+ -10000 23 857 631 184 532 8 363 714 391
+ -10000 590 11 835 899 539 591 305 374 348
+ -10000 617 632 831 452 958 891 370 2 271
+ -10000 116 323 886 717 659 173 687 463 12
+ -10000 661 356 48 179 175 956 417 186 7
+ -10000 166 112 712 672 891 714 520 591 374
+ -10000 677 816 15 290 669 357 856 228 507
+ -10000 806 258 715 397 277 422 324 176 263
+ -10000 983 496 692 822 402 60 746 664 113
+ -10000 467 355 515 185 339 47 465 720 218
+ -10000 911 69 254 499 322 580 792 786 475
+ -10000 467 878 635 427 607 930 877 453 861
+ -10000 284 823 456 916 95 191 966 641 301
+ -10000 495 804 906 603 227 212 878 566 0
+ -10000 673 266 395 207 543 562 416 381 963
+ -10000 128 251 204 367 590 743 437 103 59
+ -10000 378 102 637 143 280 34 500 238 259
+ -10000 373 359 291 985 81 397 601 620 517
+ -10000 338 794 968 498 219 128 320 639 649
+ -10000 524 852 522 561 417 258 842 374 896
+ -10000 351 980 963 722 484 184 537 588 877
+ -10000 58 85 10 213 916 652 300 9 230
+ -10000 239 363 168 299 804 858 741 624 177
+ -10000 905 43 831 355 883 201 805 955 440
+ -10000 754 866 702 980 767 199 726 661 282
+ -10000 726 385 116 960 159 624 158 489 335
+ -10000 584 811 995 409 691 740 521 595 516
+ -10000 446 539 99 46 931 190 794 878 199
+ -10000 626 724 34 901 969 579 712 610 146
+ -10000 130 593 138 88 229 260 860 110 636
+ -10000 351 484 568 487 406 756 50 795 988
+ -10000 424 846 966 750 897 435 503 891 256
+ -10000 502 367 498 350 937 16 101 724 58
+ -10000 569 968 62 201 105 431 101 958 570
+ -10000 715 692 226 585 251 281 184 542 517
+ -10000 271 848 585 471 322 976 855 385 9
+ -10000 705 679 413 434 802 786 335 418 96
+ -10000 58 934 671 789 958 687 917 227 592
+ -10000 898 978 903 264 1000 695 929 838 168
+ -10000 710 973 700 624 774 790 811 106 892
+ -10000 618 869 979 754 21 739 398 457 401
+ -10000 636 341 241 110 583 672 524 780 917
+ -10000 863 695 936 298 570 740 459 654 802
+ -10000 76 589 447 370 925 920 952 67 305
+ -10000 938 412 35 963 615 31 412 761 252
+ -10000 566 214 393 306 778 78 706 487 719
+ -10000 435 381 478 224 610 949 3 640 426
+ -10000 342 441 455 643 261 466 414 119 538
+ -10000 833 982 49 908 854 699 924 36 123
+ -10000 935 420 532 163 662 567 997 122 454
+ -10000 500 220 291 553 676 963 987 537 815
+ -10000 324 75 87 826 743 363 880 372 418
+ -10000 703 485 381 764 313 577 932 21 432
+ -10000 337 472 557 805 460 129 328 454 707
+ -10000 702 852 873 420 535 915 82 772 364
+ -10000 974 330 569 973 465 880 18 200 807
+ -10000 367 885 226 204 451 908 585 72 624
+ -10000 49 157 431 343 572 64 797 234 708
+ -10000 742 552 279 541 782 255 34 590 358
+ -10000 545 791 736 755 827 41 746 764 689
+ -10000 400 51 464 661 687 76 168 127 500
+ -10000 771 440 85 528 1 60 575 729 140
+ -10000 752 622 0 582 97 784 666 395 475
+ -10000 391 928 739 639 913 640 624 830 4
+ -10000 136 994 865 452 939 104 164 660 188
+ -10000 966 763 709 667 75 748 566 44 474
+ -10000 311 74 740 692 586 361 179 292 416
+ -10000 471 988 132 269 95 302 554 561 388
+ -10000 35 456 586 692 448 796 959 670 500
+ -10000 423 669 707 779 379 908 823 236 180
+ -10000 17 360 245 238 88 138 81 242 274
+ -10000 341 470 84 746 448 387 588 367 506
+ -10000 503 869 817 854 585 355 240 215 265
+ -10000 344 372 91 164 362 124 611 141 573
+ -10000 151 633 979 891 238 679 582 493 908
+ -10000 861 977 733 513 852 394 507 748 683
+ -10000 904 523 612 708 81 352 453 361 790
+ -10000 762 124 327 517 613 430 25 205 149
+ -10000 134 220 904 792 973 241 857 834 505
+ -10000 282 122 663 525 986 604 450 792 888
+ -10000 340 956 113 844 343 199 534 527 768
+ -10000 444 956 466 238 422 605 489 371 602
+ -10000 10 60 662 218 403 622 741 390 130
+ -10000 632 415 842 92 464 827 211 359 628
+ -10000 793 535 963 42 881 862 561 84 865
+ -10000 441 96 164 339 422 89 849 386 595
+ -10000 384 298 319 330 809 324 543 528 582
+ -10000 209 124 602 554 953 381 685 468 132
+ -10000 236 732 98 829 197 842 140 663 349
+ -10000 707 677 253 191 250 792 691 126 902
+ -10000 886 919 189 98 322 908 555 57 966
+ -10000 926 286 986 533 572 278 430 983 442
+ -10000 738 903 128 420 560 989 703 182 802
+ -10000 533 797 333 767 766 338 945 791 352
+ -10000 519 62 707 774 358 877 611 811 583
+ -10000 168 912 163 425 43 539 145 267 932
+ -10000 9 137 633 95 464 609 565 569 395
+ -10000 129 111 612 586 910 768 535 325 787
+ -10000 85 405 899 108 19 155 768 566 250
+ -10000 930 878 117 471 529 575 979 905 739
+ -10000 154 1 804 554 530 234 325 675 632
+ -10000 874 790 457 535 189 980 564 291 820
+ -10000 896 882 215 925 864 315 61 512 906
+ -10000 558 333 948 654 424 464 959 475 341
+ -10000 939 31 778 99 307 309 574 810 609
+ -10000 850 296 502 152 736 75 851 9 512
+ -10000 54 262 509 365 745 866 242 440 673
+ -10000 12 309 60 349 847 599 335 852 253
+ -10000 973 603 330 887 509 846 34 309 926
+ -10000 55 759 944 572 126 695 70 457 642
+ -10000 228 74 442 446 467 201 11 166 569
+ -10000 715 250 576 38 866 159 827 9 703
+ -10000 180 694 618 444 252 140 922 405 384
+ -10000 138 257 509 458 329 625 182 705 955
+ -10000 507 827 184 26 36 709 263 779 765
+ -10000 238 273 952 918 18 338 918 827 73
+ -10000 700 711 450 117 179 865 350 849 856
+ -10000 561 7 47 907 103 22 145 986 462
+ -10000 652 127 877 700 821 601 828 230 108
+ -10000 738 896 967 568 427 462 994 471 920
+ -10000 310 901 467 479 488 740 962 500 939
+ -10000 914 679 287 196 140 673 924 638 819
+ -10000 251 557 47 819 307 743 51 712 105
+ -10000 358 252 995 762 893 414 526 850 606
+ -10000 697 302 821 491 179 275 529 910 641
+ -10000 277 536 314 338 493 718 470 300 889
+ -10000 688 674 344 796 602 993 809 823 949
+ -10000 790 91 636 711 970 713 236 121 209
+ -10000 288 736 550 970 213 21 161 343 448
+ -10000 184 883 74 785 533 182 690 335 389
+ -10000 252 774 4 15 145 224 588 521 456
+ -10000 15 188 355 901 257 131 406 485 187
+ -10000 789 474 148 157 237 124 247 392 60
+ -10000 249 852 333 415 338 971 931 459 726
+ -10000 236 163 759 261 337 937 80 562 608
+ -10000 373 609 594 84 361 354 1000 30 167
+ -10000 141 428 207 695 248 917 236 886 871
+ -10000 255 116 374 964 918 660 523 53 594
+ -10000 75 187 427 36 901 995 987 787 513
+ -10000 880 391 534 837 213 5 2 582 431
+ -10000 470 254 561 79 66 49 948 388 517
+ -10000 814 497 704 272 486 74 991 133 630
+ -10000 19 79 709 188 775 674 39 306 452
+ -10000 12 76 97 53 159 290 290 888 662
+ -10000 168 330 268 666 859 591 903 760 9
+ -10000 719 772 160 536 576 896 335 927 971
+ -10000 91 877 738 116 747 981 79 128 732
+ -10000 780 898 810 774 618 813 615 421 458
+ -10000 419 749 503 322 357 877 760 470 861
+ -10000 733 28 266 132 961 645 586 277 792
+ -10000 477 919 449 664 470 724 726 300 447
+ -10000 149 959 164 328 435 724 360 458 516
+ -10000 312 969 946 937 270 424 773 187 718
+ -10000 660 434 11 205 724 801 662 325 897
+ -10000 610 959 402 904 816 32 719 422 771
+ -10000 768 690 134 286 980 808 248 455 172
+ -10000 180 430 489 31 601 361 15 289 523
+ -10000 638 925 377 692 238 359 498 35 761
+ -10000 829 550 415 988 778 935 408 987 364
+ -10000 205 535 566 944 907 897 220 13 403
+ -10000 365 190 208 680 803 989 657 29 271
+ -10000 99 791 864 554 335 838 176 145 937
+ -10000 491 496 204 749 331 212 52 160 935
+ -10000 943 54 816 227 450 774 340 907 14
+ -10000 750 187 476 103 676 715 763 936 580
+ -10000 783 326 663 932 860 174 558 342 198
+ -10000 828 433 357 961 56 630 266 772 843
+ -10000 335 499 102 619 73 307 84 860 910
+ -10000 412 904 987 308 242 958 839 314 573
+ -10000 819 991 454 403 967 548 443 407 143
+ -10000 873 477 239 374 743 534 206 980 308
+ -10000 965 491 722 398 29 860 682 987 95
+ -10000 877 615 830 331 458 275 519 155 647
+ -10000 319 254 463 335 705 616 19 661 773
+ -10000 656 216 93 245 422 730 286 457 214
+ -10000 632 556 285 595 970 690 122 696 979
+ -10000 894 605 854 692 666 465 67 906 836
+ -10000 422 791 526 30 510 531 361 614 883
+ -10000 401 794 737 401 479 420 179 19 891
+ -10000 47 0 654 527 390 630 313 324 259
+ -10000 649 850 626 216 26 724 24 20 942
+ -10000 838 518 965 797 366 757 383 131 151
+ -10000 606 477 715 893 262 588 252 766 256
+ -10000 260 783 542 303 58 684 355 142 114
+ -10000 811 119 302 447 646 633 143 173 858
+ -10000 471 988 130 530 637 733 989 280 37
+ -10000 817 460 957 400 462 132 145 903 109
+ -10000 925 135 551 487 869 663 276 114 288
+ -10000 937 311 856 425 797 516 757 527 37
+ -10000 785 455 25 51 663 196 911 0 205
+ -10000 286 249 267 82 609 971 22 774 86
+ -10000 449 846 970 416 845 51 647 171 375
+ -10000 478 128 665 916 623 692 600 830 14
+ -10000 689 705 663 29 932 806 366 601 691
+ -10000 707 352 490 179 480 680 419 332 432
+ -10000 460 146 624 275 742 149 129 858 346
+ -10000 765 300 869 529 35 409 374 264 68
+ -10000 313 149 858 823 13 969 307 769 143
+ -10000 374 2 957 270 724 797 521 366 465
+ -10000 457 741 87 303 149 657 290 944 338
+ -10000 277 839 151 834 659 57 218 741 774
+ -10000 333 231 404 360 96 565 891 120 640
+ -10000 950 736 155 2 463 107 138 310 93
+ -10000 925 723 37 62 289 943 630 578 351
+ -10000 518 597 817 293 162 370 850 13 172
+ -10000 939 720 993 872 21 211 617 931 885
+ -10000 440 621 902 618 19 214 943 287 690
+ -10000 565 560 42 843 244 516 69 168 402
+ -10000 862 962 79 479 22 141 852 312 209
+ -10000 640 761 105 655 634 180 829 951 530
+ -10000 538 245 441 639 404 94 88 878 255
+ -10000 368 210 496 650 857 14 629 492 561
+ -10000 74 440 97 514 645 697 224 656 554
+ -10000 602 680 893 215 467 74 976 573 334
+ -10000 630 692 268 211 787 792 887 429 730
+ -10000 971 993 672 497 153 253 633 392 682
+ -10000 600 931 841 792 252 569 798 681 303
+ -10000 718 300 503 398 671 252 761 440 989
+ -10000 333 553 569 891 15 314 836 22 734
+ -10000 63 971 926 590 441 958 825 918 636
+ -10000 178 506 249 449 203 164 741 222 1000
+ -10000 42 775 227 176 512 389 364 664 304
+ -10000 321 104 93 39 44 284 420 120 598
+ -10000 781 782 327 195 619 532 840 907 381
+ -10000 639 261 202 282 219 778 313 171 221
+ -10000 612 339 930 192 92 552 405 463 307
+ -10000 579 277 699 643 30 652 481 349 611
+ -10000 91 289 59 94 683 751 587 633 82
+ -10000 335 126 563 416 41 385 739 492 320
+ -10000 764 412 555 291 524 647 123 961 861
+ -10000 425 719 38 593 887 684 902 415 246
+ -10000 287 846 318 719 474 653 300 728 688
+ -10000 37 149 583 249 713 997 57 346 66
+ -10000 366 377 590 950 366 691 991 327 98
+ -10000 965 652 682 81 408 564 174 225 439
+ -10000 953 355 740 562 761 190 949 94 387
+ -10000 875 648 357 320 193 717 576 520 486
+ -10000 645 499 838 218 759 908 397 679 625
+ -10000 830 274 833 533 474 889 425 0 629
+ -10000 649 734 737 822 396 81 32 956 456
+ -10000 352 450 425 830 742 915 226 294 632
+ -10000 609 664 695 658 295 577 842 204 526
+ -10000 449 434 885 743 848 987 177 593 995
+ -10000 152 549 884 699 145 727 953 797 531
+ -10000 394 101 422 84 896 622 284 758 379
+ -10000 526 182 885 478 875 398 576 472 908
+ -10000 676 368 788 600 859 540 334 247 145
+ -10000 406 367 520 68 492 569 144 301 411
+ -10000 248 896 329 907 191 590 996 158 535
+ -10000 926 107 763 121 772 536 681 206 652
+ -10000 705 884 562 41 400 624 759 496 792
+ -10000 645 41 404 666 42 586 263 180 672
+ -10000 964 659 702 797 31 576 252 581 689
+ -10000 271 686 486 981 757 562 741 29 604
+ -10000 659 745 551 663 808 453 595 808 155
+ -10000 925 947 274 264 290 299 968 757 593
+ -10000 395 216 187 469 53 738 345 566 41
+ -10000 302 873 276 869 362 839 284 887 357
+ -10000 632 742 442 940 815 308 806 369 837
+ -10000 896 463 247 819 217 225 681 301 349
+ -10000 498 444 570 521 574 737 359 197 213
+ -10000 593 50 857 4 961 968 177 365 566
+ -10000 924 965 549 176 938 73 0 143 422
+ -10000 148 932 409 602 636 629 572 884 729
+ -10000 910 526 317 759 83 710 813 847 509
+ -10000 711 741 984 441 299 751 713 387 999
+ -10000 731 520 409 235 460 527 170 707 380
+ -10000 706 192 933 235 748 694 966 48 308
+ -10000 892 60 822 373 100 472 179 768 755
+ -10000 805 972 770 557 775 907 129 106 427
+ -10000 818 312 502 992 706 598 234 956 175
+ -10000 495 639 962 402 373 234 829 792 199
+ -10000 490 204 215 391 482 163 937 941 831
+ -10000 30 947 103 753 306 370 969 178 329
+ -10000 236 408 327 852 600 163 972 281 122
+ -10000 417 264 519 75 158 992 210 194 182
+ -10000 603 189 879 952 236 790 975 553 944
+ -10000 336 229 0 210 426 754 242 163 665
+ -10000 955 395 177 884 758 192 384 403 6
+ -10000 848 912 969 641 931 923 925 738 340
+ -10000 169 663 762 573 410 208 461 519 569
+ -10000 394 990 459 237 802 677 987 516 775
+ -10000 703 634 865 125 766 953 38 192 276
+ -10000 904 39 358 560 935 216 116 993 388
+ -10000 195 330 542 316 408 175 279 202 921
+ -10000 105 526 150 843 833 184 387 566 496
+ -10000 489 193 142 531 848 280 315 391 241
+ -10000 450 408 291 690 694 779 735 724 266
+ -10000 139 705 903 701 671 909 399 751 89
+ -10000 109 400 851 659 892 512 530 633 877
+ -10000 926 371 247 786 271 674 877 776 391
+ -10000 396 493 157 117 205 685 605 396 117
+ -10000 755 638 507 135 358 332 583 875 852
+ -10000 414 155 400 546 738 844 104 966 940
+ -10000 109 897 970 423 734 522 565 931 73
+ -10000 279 820 820 153 449 144 408 857 386
+ -10000 194 194 545 721 676 358 476 352 4
+ -10000 935 480 641 950 955 725 182 815 665
+ -10000 907 719 773 243 275 846 899 201 487
+ -10000 377 503 494 195 18 79 402 798 684
+ -10000 120 592 45 497 207 328 606 4 752
+ -10000 10 362 24 534 463 636 738 330 951
+ -10000 862 25 680 220 622 723 96 976 79
+ -10000 631 230 465 919 278 978 359 947 846
+ -10000 555 584 620 656 747 802 954 947 307
+ -10000 832 901 437 808 705 984 313 140 863
+ -10000 227 370 493 498 987 918 771 833 808
+ -10000 954 449 640 97 953 498 793 557 754
+ -10000 89 976 281 365 279 336 220 352 548
+ -10000 223 489 765 883 804 12 187 827 864
+ -10000 283 578 806 733 299 883 361 163 662
+ -10000 421 95 364 63 551 451 854 415 591
+ -10000 932 655 216 36 10 162 454 211 195
+ -10000 339 682 916 748 326 613 380 461 640
+ -10000 182 760 109 499 346 727 24 135 955
+ -10000 229 191 243 653 82 52 754 670 932
+ -10000 622 545 182 630 615 923 726 292 284
+ -10000 715 407 343 57 20 571 805 277 527
+ -10000 227 318 215 448 888 414 194 32 422
+ -10000 81 460 394 455 510 170 310 655 883
+ -10000 729 664 405 738 462 782 643 928 444
+ -10000 157 410 646 79 225 573 443 547 56
+ -10000 294 255 416 362 613 929 571 346 401
+ -10000 342 49 915 505 972 467 327 57 823
+ -10000 142 796 385 86 274 575 603 793 804
+ -10000 376 43 287 893 735 724 385 829 507
+ -10000 306 207 937 891 668 121 187 692 746
+ -10000 693 938 784 490 263 223 266 318 740
+ -10000 728 154 993 649 479 186 194 269 921
+ -10000 521 598 534 364 546 438 369 589 958
+ -10000 996 853 363 110 736 143 906 0 175
+ -10000 314 401 218 400 877 438 276 235 238
+ -10000 125 845 399 963 683 442 337 943 644
+ -10000 700 741 993 641 682 607 992 551 9
+ -10000 264 931 291 911 523 489 202 109 866
+ -10000 668 69 770 932 369 469 60 845 764
+ -10000 362 413 964 271 504 899 713 91 98
+ -10000 714 663 886 226 994 376 444 274 275
+ -10000 834 678 261 821 488 697 481 673 755
+ -10000 17 971 949 786 811 161 626 841 568
+ -10000 849 196 289 659 863 242 411 382 719
+ -10000 223 165 857 740 464 820 540 868 607
+ -10000 873 806 887 282 763 971 125 20 234
+ -10000 717 543 589 269 900 756 967 582 201
+ -10000 329 830 687 769 320 655 318 148 49
+ -10000 441 455 992 190 827 366 28 598 614
+ -10000 605 824 845 364 601 838 150 885 510
+ -10000 618 498 431 170 748 72 700 302 294
+ -10000 456 793 881 276 708 862 961 831 285
+ -10000 424 977 413 313 756 501 721 632 779
+ -10000 754 213 272 683 186 658 691 978 871
+ -10000 78 480 683 317 574 590 708 933 78
+ -10000 556 876 287 805 43 3 470 834 29
+ -10000 415 307 119 731 133 248 240 390 623
+ -10000 107 19 95 314 588 788 682 83 77
+ -10000 257 267 799 651 686 374 351 509 55
+ -10000 853 612 131 285 738 23 76 375 864
+ -10000 92 425 155 628 56 831 655 557 568
+ -10000 683 744 241 672 597 809 925 497 901
+ -10000 557 797 761 813 512 115 139 23 405
+ -10000 191 12 160 211 708 665 960 88 851
+ -10000 37 943 719 490 132 561 708 224 511
+ -10000 966 300 687 926 188 579 583 551 945
+ -10000 329 846 674 653 781 706 309 719 541
+ -10000 458 266 718 195 541 196 319 830 133
+ -10000 84 642 600 524 754 247 195 195 263
+ -10000 483 628 726 909 245 277 588 871 523
+ -10000 133 111 624 466 749 712 524 756 858
+ -10000 501 51 416 39 257 58 805 309 706
+ -10000 223 835 865 567 830 662 465 848 180
+ -10000 2 534 427 42 740 103 92 382 132
+ -10000 781 612 302 768 790 51 100 537 173
+ -10000 269 52 717 392 909 644 853 334 447
+ -10000 908 927 491 943 399 356 132 776 152
+ -10000 540 884 479 512 273 971 1 312 72
+ -10000 170 33 299 798 58 974 524 952 674
+ -10000 240 371 942 325 751 43 694 88 993
+ -10000 225 44 701 567 630 565 705 399 289
+ -10000 516 91 464 148 454 21 75 154 19
+ -10000 769 496 758 493 276 170 324 515 313
+ -10000 446 479 740 568 969 953 578 262 513
+ -10000 93 417 483 214 319 289 637 944 798
+ -10000 103 747 661 349 157 279 108 317 153
+ -10000 856 762 173 879 256 618 96 23 335
+ -10000 478 897 296 591 806 446 739 671 996
+ -10000 387 961 574 439 851 539 222 317 76
+ -10000 270 825 277 513 99 431 157 526 547
+ -10000 200 126 315 69 673 53 335 820 632
+ -10000 923 865 137 559 939 391 196 581 219
+ -10000 331 617 416 109 892 613 84 979 719
+ -10000 253 198 520 324 914 676 59 571 393
+ -10000 956 825 675 858 855 154 485 334 772
+ -10000 421 459 465 302 732 729 609 455 853
+ -10000 277 517 167 216 928 919 168 390 185
+ -10000 320 356 954 694 825 466 477 835 210
+ -10000 770 260 274 912 654 974 829 451 6
+ -10000 63 149 372 85 641 438 724 759 148
+ -10000 912 826 237 55 918 378 428 464 145
+ -10000 511 253 599 906 470 623 825 618 957
+ -10000 19 918 931 11 365 864 186 795 496
+ -10000 477 323 302 608 665 350 45 450 857
+ -10000 132 553 254 233 406 800 945 664 727
+ -10000 216 987 179 302 913 585 440 386 264
+ -10000 880 931 93 135 482 83 142 673 273
+ -10000 346 971 843 279 946 522 625 745 259
+ -10000 622 977 37 426 756 958 713 266 293
+ -10000 496 391 797 938 110 862 469 841 680
+ -10000 443 882 377 272 193 396 561 392 666
+ -10000 769 857 594 868 249 841 615 945 279
+ -10000 372 30 212 34 837 231 266 731 103
+ -10000 997 745 445 363 365 169 614 814 166
+ -10000 297 567 524 156 239 705 151 779 600
+ -10000 114 93 708 663 834 310 256 638 783
+ -10000 357 996 592 520 837 715 590 371 666
+ -10000 847 322 884 96 750 772 906 988 753
+ -10000 602 63 656 587 392 990 490 620 909
+ -10000 578 819 24 702 985 375 772 176 266
+ -10000 352 394 467 185 528 362 225 399 834
+ -10000 772 916 799 294 515 574 100 987 401
+ -10000 385 833 363 430 412 998 783 213 452
+ -10000 163 248 259 509 292 236 930 214 355
+ -10000 396 710 707 540 345 674 309 315 259
+ -10000 877 37 564 250 165 970 959 603 995
+ -10000 366 223 986 206 415 900 606 696 455
+ -10000 408 29 97 590 766 539 444 931 830
+ -10000 808 789 245 38 300 801 566 911 615
+ -10000 408 709 670 885 301 964 670 608 853
+ -10000 138 604 588 670 335 868 246 480 514
+ -10000 422 942 507 58 997 479 807 597 10
+ -10000 464 517 831 191 186 117 304 784 5
+ -10000 496 478 681 128 343 907 568 174 536
+ -10000 92 133 748 283 631 618 949 541 893
+ -10000 570 898 101 779 540 998 25 448 362
+ -10000 297 109 89 93 70 213 987 991 147
+ -10000 732 238 623 823 642 744 585 575 9
+ -10000 105 329 870 445 945 947 452 359 345
+ -10000 468 532 171 499 896 12 963 996 766
+ -10000 557 674 20 971 216 495 875 829 597
+ -10000 868 443 899 539 780 158 543 563 334
+ -10000 590 247 169 161 767 470 648 998 370
+ -10000 173 780 793 952 298 785 651 165 771
+ -10000 407 839 230 976 774 613 725 375 268
+ -10000 973 120 181 746 258 17 425 887 408
+ -10000 283 557 947 541 292 499 932 28 682
+ -10000 590 661 197 254 895 514 209 402 64
+ -10000 695 204 863 454 899 783 81 228 549
+ -10000 709 808 288 658 997 403 5 460 616
+ -10000 422 989 456 44 352 976 748 259 971
+ -10000 22 579 529 517 971 353 808 552 611
+ -10000 815 167 792 105 710 28 931 862 395
+ -10000 827 72 962 839 428 706 78 623 76
+ -10000 871 986 448 557 919 163 972 139 642
+ -10000 993 231 269 272 989 272 469 854 149
+ -10000 746 950 820 277 987 772 500 395 24
+ -10000 877 334 9 388 54 782 905 198 941
+ -10000 492 39 307 905 543 65 650 89 535
+ -10000 989 104 93 588 489 340 612 470 149
+ -10000 732 451 615 155 154 723 490 836 970
+ -10000 352 963 736 432 190 385 17 543 597
+ -10000 473 991 409 505 748 479 890 318 168
+ -10000 550 865 183 385 777 857 49 127 958
+ -10000 799 95 461 113 728 977 593 45 968
+ -10000 50 438 516 268 546 664 389 279 786
+ -10000 725 940 979 461 494 442 938 419 106
+ -10000 905 599 519 199 541 760 871 463 259
+ -10000 109 951 941 861 945 862 159 11 281
+ -10000 341 647 947 362 408 27 362 64 72
+ -10000 404 365 333 479 460 866 336 313 473
+ -10000 249 92 982 456 597 96 636 552 183
+ -10000 129 842 810 201 547 614 986 869 547
+ -10000 556 929 308 451 871 840 703 281 920
+ -10000 582 64 177 159 635 487 820 636 134
+ -10000 868 408 461 358 845 78 526 354 102
+ -10000 320 49 543 237 542 803 318 269 912
+ -10000 144 19 531 188 903 457 943 933 47
+ -10000 652 157 636 873 316 602 809 44 861
+ -10000 705 742 156 810 898 679 806 225 102
+ -10000 812 381 644 776 941 272 148 984 910
+ -10000 570 297 687 993 537 667 557 981 845
+ -10000 886 605 54 389 662 621 193 634 467
+ -10000 204 269 712 952 380 646 169 535 954
+ -10000 53 995 696 490 476 765 174 395 487
+ -10000 805 611 913 792 897 852 885 438 474
+ -10000 871 100 850 810 672 43 786 822 172
+ -10000 531 437 23 140 753 748 162 613 15
+ -10000 303 808 11 214 540 820 602 440 766
+ -10000 803 245 648 760 128 669 955 737 312
+ -10000 882 475 28 224 672 831 229 651 937
+ -10000 844 600 334 655 426 603 104 635 95
+ -10000 688 662 22 372 859 665 756 299 264
+ -10000 501 186 277 186 839 890 292 706 13
+ -10000 896 379 306 601 350 434 170 13 849
+ -10000 547 747 546 110 996 263 88 217 692
+ -10000 818 476 674 468 936 2 909 986 691
+ -10000 322 424 255 171 605 966 324 65 75
+ -10000 373 672 371 260 57 339 745 699 351
+ -10000 761 477 34 362 862 551 171 119 430
+ -10000 806 368 843 474 757 859 877 304 51
+ -10000 992 415 946 214 537 38 762 435 932
+ -10000 257 131 31 484 395 601 805 336 825
+ -10000 149 233 778 19 662 910 570 867 503
+ -10000 840 529 620 589 120 185 949 876 20
+ -10000 378 343 84 34 508 801 964 23 714
+ -10000 545 493 128 44 880 274 957 20 771
+ -10000 420 235 748 714 300 389 500 889 64
+ -10000 327 88 235 131 468 48 439 124 555
+ -10000 128 469 507 47 913 915 516 666 232
+ -10000 483 595 809 532 728 837 152 142 974
+ -10000 898 671 688 22 124 384 640 623 247
+ -10000 187 638 749 709 624 498 983 641 604
+ -10000 155 969 808 214 94 831 173 640 386
+ -10000 717 516 86 533 621 887 376 210 880
+ -10000 361 446 701 695 604 435 95 637 754
+ -10000 883 54 101 475 132 262 948 225 991
+ -10000 921 311 644 715 133 572 777 280 721
+ -10000 754 157 693 322 377 285 503 19 789
+ -10000 196 715 604 250 155 376 202 141 903
+ -10000 908 530 765 18 265 576 95 898 938
+ -10000 979 773 806 994 89 103 701 133 655
+ -10000 548 958 144 521 461 600 182 361 740
+ -10000 810 826 165 304 327 953 68 70 345
+ -10000 398 734 369 268 627 452 333 971 979
+ -10000 668 985 575 391 748 100 350 459 447
+ -10000 134 193 2 535 756 133 416 769 279
+ -10000 739 190 966 195 512 546 715 960 761
+ -10000 959 38 240 747 668 778 20 495 609
+ -10000 924 572 443 219 821 347 564 582 930
+ -10000 29 201 448 861 579 157 116 495 996
+ -10000 263 976 282 915 470 440 363 887 531
+ -10000 778 499 366 266 9 473 87 672 607
+ -10000 475 591 809 447 509 534 1000 732 291
+ -10000 301 185 667 862 32 377 474 765 103
+ -10000 783 381 529 213 929 743 845 715 561
+ -10000 414 249 130 378 83 855 512 875 811
+ -10000 855 886 131 734 352 330 805 902 220
+ -10000 379 157 524 130 357 743 784 400 317
+ -10000 935 529 266 419 302 610 988 753 673
+ -10000 418 536 95 886 343 62 254 568 326
+ -10000 315 270 968 906 57 281 579 265 575
+ -10000 82 871 456 54 27 562 868 412 632
+ -10000 71 318 740 50 321 54 80 194 934
+ -10000 837 312 836 12 3 239 621 359 23
+ -10000 345 916 773 282 928 698 313 64 32
+ -10000 175 480 723 924 135 508 930 371 154
+ -10000 815 201 708 662 878 57 909 285 626
+ -10000 652 752 847 732 378 367 86 733 251
+ -10000 854 108 993 563 887 892 858 772 718
+ -10000 734 982 257 144 824 691 317 957 772
+ -10000 800 378 557 513 922 25 556 863 224
+ -10000 172 588 336 583 196 644 997 751 911
+ -10000 573 454 584 111 485 952 891 77 740
+ -10000 349 999 734 376 415 552 812 356 560
+ -10000 187 388 468 585 336 479 186 958 492
+ -10000 501 205 91 959 828 64 347 364 437
+ -10000 511 736 64 897 955 867 273 178 158
+ -10000 1 392 137 801 113 203 348 632 720
+ -10000 296 953 658 685 650 16 255 602 557
+ -10000 123 7 396 286 628 659 853 0 762
+ -10000 383 863 850 258 29 880 835 32 27
+ -10000 841 173 648 287 852 209 334 387 944
+ -10000 72 144 813 659 179 341 417 389 754
+ -10000 262 635 927 176 360 509 825 453 561
+ -10000 739 377 951 974 269 187 756 916 630
+ -10000 327 620 787 549 119 574 425 400 167
+ -10000 228 737 49 597 319 422 75 859 348
+ -10000 353 671 556 730 47 493 198 426 866
+ -10000 803 361 127 600 147 633 241 253 788
+ -10000 901 837 711 957 149 720 872 488 276
+ -10000 670 783 475 791 643 789 177 14 718
+ -10000 809 437 518 502 113 402 847 692 437
+ -10000 941 450 306 119 952 603 481 135 914
+ -10000 149 211 414 821 251 982 944 479 363
+ -10000 594 18 34 897 770 650 651 145 131
+ -10000 549 516 718 911 50 811 875 762 405
+ -10000 865 6 620 310 450 226 590 345 421
+ -10000 605 100 289 163 886 65 403 273 773
+ -10000 493 162 480 232 592 695 157 682 649
+ -10000 104 265 234 706 519 151 272 143 150
+ -10000 128 783 570 898 369 300 75 141 592
+ -10000 870 553 358 410 26 908 506 702 247
+ -10000 68 205 965 756 241 790 416 736 859
+ -10000 175 537 518 956 903 91 786 757 210
+ -10000 600 291 619 51 708 686 116 174 803
+ -10000 989 335 411 526 122 91 885 927 787
+ -10000 193 978 969 630 823 188 915 632 594
+ -10000 409 389 471 22 365 17 77 149 810
+ -10000 534 354 26 327 651 812 608 226 182
+ -10000 845 780 744 356 346 735 294 115 585
+ -10000 855 326 232 159 578 903 120 166 247
+ -10000 59 453 532 268 984 538 865 12 893
+ -10000 933 122 90 670 603 718 327 395 965
+ -10000 489 459 493 720 753 33 144 490 564
+ -10000 623 808 570 242 648 323 459 96 135
+ -10000 961 913 23 227 311 235 728 70 682
+ -10000 885 131 941 933 679 375 866 31 342
+ -10000 972 993 784 328 558 106 203 269 720
+ -10000 410 727 618 194 672 238 652 144 391
+ -10000 73 688 576 889 540 436 136 865 598
+ -10000 814 39 667 387 244 688 753 500 539
+ -10000 390 536 571 766 493 116 255 843 615
+ -10000 349 264 297 229 960 438 865 587 525
+ -10000 489 753 291 137 260 851 73 362 325
+ -10000 776 119 691 271 364 461 346 455 861
+ -10000 299 618 984 366 280 454 285 814 159
+ -10000 58 642 901 719 216 905 410 766 275
+ -10000 339 587 744 853 891 372 781 698 140
+ -10000 594 645 161 257 921 910 462 418 964
+ -10000 646 135 886 390 16 294 120 299 681
+ -10000 408 40 610 11 363 613 855 874 437
+ -10000 280 1000 722 68 945 771 651 457 414
+ -10000 805 650 904 364 19 823 843 11 244
+ -10000 375 387 966 479 465 428 954 550 496
+ -10000 814 581 683 270 530 537 440 184 290
+ -10000 911 849 948 959 489 212 408 828 517
+ -10000 919 822 392 526 925 863 745 113 925
+ -10000 14 860 636 552 87 87 394 899 726
+ -10000 128 820 167 178 692 790 936 965 554
+ -10000 70 443 254 575 298 601 649 841 111
+ -10000 705 599 587 462 493 94 746 359 399
+ -10000 166 935 771 4 603 354 356 267 63
+ -10000 895 378 285 735 691 206 327 972 605
+ -10000 669 600 884 959 438 152 671 338 351
+ -10000 100 952 865 991 997 623 387 874 39
+ -10000 431 704 422 874 456 252 138 73 380
+ -10000 885 325 414 777 379 991 389 323 868
+ -10000 800 243 72 668 210 75 520 482 273
+ -10000 550 56 193 857 683 390 9 350 216
+ -10000 25 15 515 65 95 664 890 173 619
+ -10000 168 242 429 565 289 327 189 263 991
+ -10000 766 278 95 15 863 174 158 370 265
+ -10000 634 655 738 456 387 9 354 360 823
+ -10000 593 34 451 97 89 450 195 868 216
+ -10000 922 467 572 671 974 606 238 919 575
+ -10000 294 218 810 484 420 966 637 742 583
+ -10000 676 996 825 408 219 592 834 629 874
+ -10000 302 627 381 71 150 493 572 351 787
+ -10000 833 904 370 520 943 779 572 881 25
+ -10000 377 17 727 372 114 167 912 791 776
+ -10000 949 389 435 857 753 325 543 64 988
+ -10000 332 498 528 516 899 465 941 606 50
+ -10000 798 773 154 689 582 684 549 753 450
+ -10000 613 824 302 265 270 917 594 280 543
+ -10000 717 490 986 143 360 19 417 540 111
+ -10000 309 464 824 866 154 519 628 189 954
+ -10000 763 593 794 503 668 671 511 858 707
+ -10000 146 769 36 20 835 765 34 101 356
+ -10000 543 357 850 473 909 574 749 810 651
+ -10000 750 929 952 190 970 564 488 253 76
+ -10000 519 605 481 53 623 980 15 601 430
+ -10000 588 60 32 195 150 330 31 107 822
+ -10000 217 694 336 616 53 719 924 869 224
+ -10000 314 971 942 13 807 462 171 290 260
+ -10000 742 782 116 301 467 84 977 349 106
+ -10000 389 208 222 920 850 704 350 488 952
+ -10000 499 176 168 221 892 130 276 517 157
+ -10000 659 779 648 238 839 714 443 872 832
+ -10000 983 140 670 981 31 412 333 539 297
+ -10000 791 454 954 521 560 369 150 181 794
+ -10000 837 200 278 885 452 680 403 297 647
+ -10000 125 317 683 233 324 852 720 449 878
+ -10000 46 19 71 733 629 360 458 752 673
+ -10000 466 646 103 45 162 424 703 658 351
+ -10000 855 167 935 942 236 958 835 255 452
+ -10000 480 647 853 575 866 632 346 741 428
+ -10000 110 659 222 897 12 495 713 232 503
+ -10000 976 414 242 79 384 459 775 6 577
+ -10000 102 189 566 41 977 887 377 836 636
+ -10000 393 620 598 853 743 767 328 872 618
+ -10000 510 293 772 458 4 697 886 851 817
+ -10000 988 74 325 919 157 46 543 199 393
+ -10000 428 953 253 758 205 657 982 220 214
+ -10000 233 947 6 989 57 313 187 886 447
+ -10000 674 451 396 489 794 244 253 366 612
+ -10000 762 762 433 587 576 506 557 613 954
+ -10000 925 548 582 571 139 916 282 110 475
+ -10000 195 919 283 549 574 53 652 224 901
+ -10000 107 936 844 436 380 59 596 489 903
+ -10000 186 78 112 964 354 662 300 871 408
+ -10000 642 435 473 605 827 757 495 333 753
+ -10000 52 434 198 642 202 390 779 436 144
+ -10000 666 559 410 614 140 157 527 412 125
+ -10000 529 18 933 999 290 495 350 774 265
+ -10000 349 398 90 949 679 153 533 201 538
+ -10000 791 537 896 567 797 685 151 232 745
+ -10000 186 604 251 284 921 920 395 237 835
+ -10000 122 122 784 107 612 239 517 889 973
+ -10000 276 778 701 899 815 931 340 458 688
+ -10000 9 19 228 219 694 421 960 845 752
+ -10000 196 994 817 585 108 121 262 678 616
+ -10000 861 837 392 35 708 159 652 126 547
+ -10000 692 75 920 620 312 537 36 763 112
+ -10000 62 610 525 388 301 49 465 588 354
+ -10000 814 950 49 257 684 473 2 301 119
+ -10000 55 149 815 759 121 986 983 908 733
+ -10000 913 1 316 204 226 976 590 523 85
+ -10000 487 843 813 357 833 799 659 556 372
+ -10000 865 643 707 843 178 463 858 357 480
+ -10000 988 766 913 926 789 269 189 319 590
+ -10000 601 728 618 599 560 772 326 480 915
+ -10000 652 443 780 400 93 479 614 0 109
+ -10000 148 526 828 536 374 238 184 120 619
+ -10000 340 941 352 716 991 634 938 547 539
+ -10000 138 894 654 74 692 172 701 977 662
+ -10000 764 84 337 410 173 419 410 986 733
+ -10000 274 322 392 172 460 95 516 606 692
+ -10000 851 683 417 550 787 850 912 681 456
+ -10000 643 675 65 828 260 0 5 500 391
+ -10000 92 421 779 353 429 298 755 724 773
+ -10000 504 387 915 826 547 106 888 728 446
+ -10000 489 404 587 836 617 662 376 202 508
+ -10000 229 748 208 169 381 503 266 218 156
+ -10000 316 804 610 643 135 971 104 428 9
+ -10000 786 753 681 63 614 639 927 43 388
+ -10000 687 391 856 254 312 611 885 199 612
+ -10000 985 626 59 704 180 712 120 29 685
+ -10000 944 57 666 552 806 804 934 606 932
+ -10000 554 137 60 264 220 869 684 729 337
+ -10000 926 102 959 704 202 651 941 431 228
+ -10000 44 892 77 94 757 940 770 436 155
+ -10000 785 917 757 306 279 532 124 727 890
+ -10000 341 18 560 308 578 258 922 590 861
+ -10000 401 838 959 615 847 786 974 430 611
+ -10000 908 730 687 440 363 28 435 172 317
+ -10000 163 451 744 622 619 482 671 927 442
+ -10000 465 769 332 853 221 266 283 758 786
+ -10000 880 302 289 781 196 575 746 144 203
+ -10000 89 737 716 689 327 804 719 966 226
+ -10000 895 246 213 758 918 242 478 872 777
+ -10000 908 377 639 290 108 713 778 135 451
+ -10000 701 163 680 179 115 108 738 546 679
+ -10000 252 412 148 973 429 448 495 741 12
+ -10000 384 788 298 559 393 298 263 208 253
+ -10000 961 782 176 602 798 518 527 360 557
+ -10000 760 263 156 833 359 709 752 373 915
+ -10000 269 926 449 766 781 675 850 960 742
+ -10000 493 670 310 919 81 208 242 908 854
+ -10000 611 168 735 273 436 574 660 829 304
+ -10000 229 992 712 445 673 174 494 865 157
+ -10000 861 115 583 630 781 990 1000 92 832
+ -10000 905 797 590 328 819 746 679 292 851
+ -10000 835 952 553 964 203 370 43 688 751
+ -10000 978 146 407 530 347 678 207 389 26
+ -10000 164 452 537 259 810 369 119 225 872
+ -10000 399 859 646 465 893 484 387 55 907
+ -10000 489 341 174 70 258 514 897 366 741
+ -10000 9 956 238 697 585 348 450 518 186
+ -10000 711 136 750 422 976 863 77 419 616
+ -10000 585 801 511 843 673 64 310 459 9
+ -10000 325 139 69 977 70 624 169 691 626
+ -10000 81 683 673 665 14 986 926 852 68
+ -10000 642 499 378 274 554 848 601 584 239
+ -10000 131 186 911 214 698 740 529 168 769
+ -10000 697 885 689 572 944 356 282 209 533
+ -10000 649 749 998 437 944 982 219 741 980
+ -10000 431 56 995 639 311 137 970 106 430
+ -10000 529 934 887 872 334 529 108 647 309
+ -10000 79 58 424 7 234 256 535 193 43
+ -10000 510 463 361 201 379 993 896 238 711
+ -10000 441 488 883 65 664 576 927 921 533
+ -10000 829 327 711 245 512 99 374 711 454
+ -10000 188 355 167 485 905 292 662 396 277
+ -10000 641 723 558 223 620 915 813 469 126
+ -10000 292 269 551 829 508 342 162 22 768
+ -10000 289 881 609 90 368 428 26 430 887
+ -10000 695 776 230 969 557 806 508 395 601
+ -10000 416 154 861 874 234 276 487 301 137
+ -10000 236 297 987 565 576 122 41 570 401
+ -10000 455 306 561 116 843 261 233 189 601
+ -10000 922 546 481 862 493 481 233 307 528
+ -10000 331 867 310 408 779 171 605 390 558
+ -10000 793 650 746 87 914 62 903 665 543
+ -10000 0 25 532 298 448 734 153 618 260
+ -10000 756 478 150 677 610 564 256 638 766
+ -10000 491 932 55 714 114 849 655 879 108
+ -10000 771 240 95 742 815 447 647 889 205
+ -10000 314 26 230 154 133 335 155 609 606
+ -10000 993 85 236 148 753 98 894 25 932
+ -10000 910 715 982 977 632 151 16 89 158
+ -10000 412 463 752 657 876 610 331 352 676
+ -10000 753 571 535 16 631 248 228 304 83
+ -10000 826 212 578 382 640 723 953 216 629
+ -10000 647 624 317 863 907 445 551 732 927
+ -10000 371 736 218 200 507 190 405 641 154
+ -10000 41 629 974 123 898 822 610 213 448
+ -10000 388 106 528 714 173 865 780 696 670
+ -10000 615 16 770 596 191 396 267 481 731
+ -10000 364 723 412 284 256 621 785 681 465
+ -10000 796 305 966 539 420 796 323 14 659
+ -10000 891 865 914 817 871 43 528 454 729
+ -10000 292 145 400 26 507 264 109 524 668
+ -10000 940 525 30 850 897 962 383 500 819
+ -10000 189 710 497 514 162 972 72 12 752
+ -10000 430 845 906 208 824 404 925 362 594
+ -10000 488 334 406 905 474 400 962 335 990
+ -10000 802 100 684 750 256 345 142 814 793
+ -10000 673 723 83 530 209 918 47 446 311
+ -10000 254 998 938 484 708 526 115 205 876
+ -10000 634 952 504 217 742 425 871 800 218
+ -10000 229 31 459 121 336 318 44 434 432
+ -10000 290 61 951 70 912 3 397 833 611
+ -10000 909 547 914 853 557 534 630 708 358
+ -10000 816 713 360 730 255 377 461 948 694
+ -10000 499 904 81 917 97 935 818 601 116
+ -10000 594 623 575 242 487 684 301 686 592
+ -10000 840 209 253 877 802 246 183 382 214
+ -10000 262 851 479 280 333 707 664 273 505
+ -10000 908 960 675 710 944 674 906 278 858
+ -10000 920 509 823 602 291 703 331 915 32
+ -10000 287 521 748 346 2 172 910 893 864
+ -10000 335 207 903 137 512 381 328 428 543
+ -10000 56 365 501 949 918 112 893 966 435
+ -10000 950 947 997 877 519 982 790 880 723
+ -10000 536 184 802 836 943 787 360 863 668
+ -10000 214 150 818 944 582 457 741 117 462
+ -10000 1000 202 988 28 833 38 528 120 961
+ -10000 352 270 3 58 291 161 959 822 141
+ -10000 385 353 628 226 461 317 4 984 773
+ -10000 226 623 310 650 938 143 221 990 549
+ -10000 34 622 664 670 214 81 251 95 281
+ -10000 135 588 218 561 243 972 396 592 349
+ -10000 739 769 996 149 743 144 187 231 833
+ -10000 107 17 621 346 191 261 361 562 22
+ -10000 641 272 218 331 770 475 32 351 742
+ -10000 483 554 609 342 260 686 763 800 172
+ -10000 892 959 622 86 38 406 135 482 501
+ -10000 77 113 548 225 624 813 887 236 170
+ -10000 16 242 560 473 908 503 94 900 545
+ -10000 925 541 868 568 953 900 696 882 364
+ -10000 6 162 711 151 532 258 253 306 661
+ -10000 583 457 209 468 782 160 94 873 394
+ -10000 664 377 524 549 475 220 162 333 782
+ -10000 652 229 734 454 39 325 212 685 675
+ -10000 119 418 399 626 328 844 327 923 183
+ -10000 497 709 784 927 647 793 363 453 446
+ -10000 814 347 892 298 855 786 312 368 989
+ -10000 53 879 153 675 570 624 781 494 662
+ -10000 433 375 944 390 659 821 17 499 665
+ -10000 130 840 89 587 883 391 715 20 361
+ -10000 589 612 912 721 899 832 178 309 755
+ -10000 609 353 657 544 716 301 753 573 957
+ -10000 209 338 745 487 997 671 91 303 285
+ -10000 699 55 903 139 129 482 736 203 129
+ -10000 457 447 969 231 293 684 689 551 929
+ -10000 833 422 619 71 260 975 942 388 342
+ -10000 401 277 111 298 147 734 183 723 981
+ -10000 531 642 565 709 208 223 955 590 799
+ -10000 520 105 301 450 522 928 541 0 492
+ -10000 365 291 523 890 827 917 11 418 908
+ -10000 813 139 933 376 465 163 773 923 879
+ -10000 565 14 189 622 685 802 340 69 512
+ -10000 854 421 9 864 976 657 895 466 512
+ -10000 113 410 347 29 706 281 563 645 83
+ -10000 858 507 258 339 689 159 283 371 191
+ -10000 992 974 703 786 650 629 328 997 878
+ -10000 827 309 279 335 253 476 425 967 115
+ -10000 920 484 548 43 42 153 551 631 63
+ -10000 987 35 620 520 115 191 399 979 705
+ -10000 780 260 152 32 551 555 135 419 416
+ -10000 708 186 37 510 922 87 833 78 17
+ -10000 660 336 643 120 479 733 567 517 657
+ -10000 545 450 498 438 776 808 671 988 772
+ -10000 588 318 325 695 170 952 815 989 56
+ -10000 730 47 684 807 251 942 544 513 242
+ -10000 180 187 772 644 681 652 383 748 429
+ -10000 256 942 220 716 733 437 28 379 618
+ -10000 344 569 109 909 414 335 147 907 851
+ -10000 106 606 13 878 934 951 870 970 60
+ -10000 593 618 237 956 867 356 95 337 370
+ -10000 347 909 768 509 907 155 416 102 912
+ -10000 18 680 524 527 868 815 133 413 667
+ -10000 984 425 597 868 537 787 522 361 287
+ -10000 860 141 883 562 221 690 32 100 613
+ -10000 750 453 108 620 259 64 121 438 409
+ -10000 949 798 728 407 853 505 674 239 623
+ -10000 963 778 900 975 39 793 421 865 417
+ -10000 595 266 351 404 3 234 166 497 130
+ -10000 282 939 342 505 959 185 58 354 269
+ -10000 499 323 485 185 489 100 807 195 596
+ -10000 80 45 239 692 721 238 99 175 118
+ -10000 918 27 971 952 607 400 670 582 961
+ -10000 641 134 302 346 308 627 985 757 870
+ -10000 487 483 752 761 90 866 37 298 924
+ -10000 769 704 483 469 866 569 395 683 397
+ -10000 592 484 900 501 936 485 595 45 720
+ -10000 16 280 897 636 321 915 360 946 796
+ -10000 826 372 861 125 804 548 914 78 491
+ -10000 934 441 653 842 162 408 195 994 979
+ -10000 5 279 41 467 901 201 627 910 928
+ -10000 664 188 358 135 537 427 905 991 996
+ -10000 120 891 614 328 511 875 410 976 9
+ -10000 731 269 820 288 913 144 636 445 668
+ -10000 959 645 245 878 825 311 960 668 717
+ -10000 928 576 402 37 411 63 201 74 488
+ -10000 128 27 665 812 498 423 223 151 132
+ -10000 843 291 286 628 388 130 422 755 761
+ -10000 910 920 700 623 897 254 78 249 355
+ -10000 867 674 124 883 852 115 282 899 121
+ -10000 171 162 259 883 101 315 805 224 789
+ -10000 592 79 749 526 928 990 367 253 149
+ -10000 962 821 952 909 392 838 904 975 843
+ -10000 309 969 117 680 115 654 882 842 523
+ -10000 385 307 265 77 858 736 90 518 328
+ -10000 796 20 367 398 632 321 839 969 71
+ -10000 65 540 424 392 396 893 318 97 772
+ -10000 745 866 875 568 541 288 146 633 603
+ -10000 187 56 350 210 205 895 422 896 503
+ -10000 386 891 265 493 968 753 326 889 245
+ -10000 894 903 917 452 672 471 30 99 883
+ -10000 815 461 484 36 855 369 86 159 772
+ -10000 556 955 659 865 973 671 66 515 668
+ -10000 293 158 727 445 110 196 84 313 364
+ -10000 311 350 249 114 890 150 751 118 979
+ -10000 304 162 371 784 339 777 456 336 712
+ -10000 384 165 949 780 347 914 572 860 552
+ -10000 262 828 344 244 365 646 588 862 570
+ -10000 827 57 268 758 144 808 37 440 271
+ -10000 830 205 189 63 97 391 569 801 172
+ -10000 646 346 464 991 180 44 866 452 275
+ -10000 553 247 863 56 467 11 513 234 764
+ -10000 641 945 901 236 381 431 716 504 112
+ -10000 647 375 450 23 560 6 66 741 699
+ -10000 89 585 721 650 366 174 258 843 317
+ -10000 547 983 455 319 650 565 8 178 489
+ -10000 55 849 356 375 871 303 88 424 536
+ -10000 57 29 681 107 494 831 904 928 935
+ -10000 219 542 196 197 200 354 47 830 633
+ -10000 883 131 524 352 144 590 636 685 439
+ -10000 409 804 999 148 522 868 2 811 399
+ -10000 343 397 13 41 921 906 792 599 308
+ -10000 638 894 71 449 860 269 552 406 606
+ -10000 640 774 244 579 514 928 598 532 466
+ -10000 683 693 576 203 316 251 18 249 360
+ -10000 511 869 229 504 630 565 452 140 913
+ -10000 534 813 880 512 887 758 531 628 335
+ -10000 504 626 704 24 660 682 566 582 808
+ -10000 84 822 50 235 125 779 913 390 358
+ -10000 185 182 234 380 366 813 778 68 150
+ -10000 363 370 826 664 937 321 796 306 404
+ -10000 386 926 811 566 495 723 486 760 984
+ -10000 922 290 264 399 414 1 707 243 788
+ -10000 789 292 753 318 850 597 284 386 500
+ -10000 914 380 942 393 672 982 658 285 984
+ -10000 997 425 844 556 527 492 913 928 289
+ -10000 693 214 727 93 778 99 465 607 556
+ -10000 773 893 1000 491 371 217 778 595 978
+ -10000 493 663 124 928 803 59 357 21 701
+ -10000 901 305 317 793 109 800 534 202 890
+ -10000 299 533 310 46 79 939 662 320 286
+ -10000 757 483 641 181 10 725 454 938 312
+ -10000 643 945 728 161 772 609 87 678 869
+ -10000 431 152 968 579 912 420 393 26 510
+ -10000 642 259 853 510 566 670 698 818 430
+ -10000 194 399 354 120 977 287 144 368 295
+ -10000 212 769 868 690 372 11 382 422 622
+ -10000 702 973 266 340 748 85 229 993 939
+ -10000 411 794 431 994 963 222 13 721 571
+ -10000 302 216 437 651 306 999 682 992 391
+ -10000 30 664 113 146 939 750 789 337 795
+ -10000 885 126 364 713 314 278 108 704 915
+ -10000 784 133 613 513 928 72 634 660 352
+ -10000 853 358 635 191 20 919 725 301 567
+ -10000 177 942 158 744 543 269 690 58 874
+ -10000 775 469 182 527 286 254 510 654 447
+ -10000 816 834 616 664 273 864 98 301 48
+ -10000 299 458 495 809 401 221 940 958 339
+ -10000 233 823 850 498 214 949 936 190 213
+ -10000 122 553 863 995 13 961 296 736 422
+ -10000 620 343 686 518 307 62 964 960 452
+ -10000 598 403 914 570 724 573 543 80 109
+ -10000 889 361 746 657 260 920 74 521 877
+ -10000 466 416 507 508 433 707 757 79 47
+ -10000 336 543 427 203 844 226 762 441 951
+ -10000 220 34 829 240 493 406 753 127 1
+ -10000 9 50 485 953 755 234 40 87 357
+ -10000 112 672 205 406 652 351 394 67 418
+ -10000 745 181 306 378 219 476 249 472 61
+ -10000 862 840 512 425 753 327 75 693 13
+ -10000 205 422 159 227 269 953 962 587 519
+ -10000 857 184 662 182 269 168 688 511 370
+ -10000 956 158 728 459 333 483 13 22 778
+ -10000 31 850 840 323 208 206 786 273 361
+ -10000 543 371 641 573 34 577 947 90 684
+ -10000 850 736 491 925 156 303 625 792 340
+ -10000 909 848 399 292 311 829 298 99 609
+ -10000 410 528 684 207 424 162 863 405 730
+ -10000 860 642 533 915 10 479 19 961 671
+ -10000 276 731 802 243 285 287 803 447 629
+ -10000 951 171 532 649 672 427 259 719 814
+ -10000 255 936 619 826 594 372 905 937 363
+ -10000 887 421 74 37 768 699 794 523 700
+ -10000 109 680 1000 669 85 999 298 748 289
+ -10000 222 667 94 164 258 604 987 108 541
+ -10000 168 649 891 628 387 872 785 433 893
+ -10000 449 20 358 438 302 471 364 872 628
+ -10000 366 410 19 86 993 375 516 622 374
+ -10000 574 759 971 340 433 858 647 354 808
+ -10000 866 360 771 195 83 562 692 717 526
+ -10000 787 738 432 238 565 602 320 498 643
+ -10000 510 29 15 711 931 94 396 810 305
+ -10000 840 306 480 822 827 303 774 942 979
+ -10000 664 754 103 806 519 39 434 850 2
+ -10000 21 258 237 304 545 50 73 674 865
+ -10000 594 121 480 789 128 173 220 985 937
+ -10000 330 620 735 287 729 772 678 50 560
+ -10000 900 445 237 919 418 489 128 250 979
+ -10000 746 500 144 499 305 476 138 277 758
+ -10000 169 189 892 532 631 464 636 246 120
+ -10000 924 897 736 684 627 593 385 674 709
+ -10000 851 363 388 769 297 711 940 254 321
+ -10000 758 115 469 237 785 326 489 514 239
+ -10000 387 978 412 16 480 664 110 678 180
+ -10000 968 646 68 242 653 511 173 348 294
+ -10000 113 887 981 739 613 972 489 809 691
+ -10000 537 294 108 386 961 820 36 870 359
+ -10000 245 803 492 73 326 175 914 558 603
+ -10000 257 870 887 361 389 44 87 682 771
+ -10000 172 946 588 220 314 299 100 991 864
+ -10000 867 10 421 397 918 134 182 550 676
+ -10000 506 284 74 385 877 907 388 876 398
+ -10000 63 208 114 31 654 741 505 353 101
+ -10000 665 283 329 635 639 531 786 588 750
+ -10000 958 235 202 475 969 897 254 320 204
+ -10000 902 350 778 24 943 18 509 598 510
+ -10000 139 627 698 14 575 733 610 384 66
+ -10000 767 516 218 350 101 876 830 196 364
+ -10000 958 1000 593 978 372 947 637 691 369
+ -10000 939 448 438 57 155 780 564 904 684
+ -10000 326 138 145 676 120 190 632 477 144
+ -10000 557 43 519 801 938 610 211 67 112
+ -10000 653 875 109 90 508 95 475 618 459
+ -10000 371 677 799 421 113 795 148 719 383
+ -10000 137 448 667 502 272 835 801 627 17
+ -10000 839 615 530 291 431 147 908 712 268
+ -10000 555 994 892 566 4 849 382 124 919
+ -10000 273 646 630 32 153 746 423 767 66
+ -10000 561 635 530 990 63 729 402 655 411
+ -10000 152 817 969 934 174 2 202 848 669
+ -10000 870 108 0 905 491 289 721 817 1000
+ -10000 89 113 137 935 145 747 448 442 921
+ -10000 912 231 228 190 949 608 309 256 557
+ -10000 174 597 953 789 973 437 496 58 938
+ -10000 542 499 934 51 852 830 198 606 701
+ -10000 594 113 518 53 222 734 637 438 24
+ -10000 281 934 415 488 941 867 377 324 158
+ -10000 617 330 32 452 753 692 334 390 447
+ -10000 661 227 119 846 697 673 415 421 927
+ -10000 519 623 875 851 391 396 739 127 111
+ -10000 278 640 197 721 656 299 410 194 954
+ -10000 275 229 990 941 975 591 963 347 642
+ -10000 914 455 10 294 194 380 108 818 74
+ -10000 472 434 323 348 982 835 729 528 549
+ -10000 365 906 860 677 170 903 966 94 736
+ -10000 53 58 135 927 878 900 384 926 747
+ -10000 878 444 846 838 357 432 517 578 80
+ -10000 832 851 892 48 73 141 199 881 369
+ -10000 795 152 594 511 22 885 137 108 946
+ -10000 731 361 520 654 709 958 873 638 596
+ -10000 982 593 701 343 833 852 964 277 514
+ -10000 862 137 895 156 213 493 757 883 277
+ -10000 977 417 420 721 195 664 247 584 959
+ -10000 565 512 906 917 689 614 846 743 131
+ -10000 755 634 138 948 148 413 35 533 32
+ -10000 494 723 623 528 419 689 300 533 737
+ -10000 681 351 15 831 458 907 347 532 875
+ -10000 494 522 694 695 675 367 956 538 119
+ -10000 747 796 765 176 698 294 506 697 983
+ -10000 162 678 773 709 164 273 757 873 7
+ -10000 531 166 452 423 926 33 36 922 383
+ -10000 459 597 548 330 776 639 611 477 775
+ -10000 974 791 980 125 325 721 402 371 51
+ -10000 711 735 403 150 31 580 557 239 188
+ -10000 165 831 532 923 287 834 923 870 129
+ -10000 493 210 65 668 973 420 25 110 364
+ -10000 414 865 278 848 437 887 813 130 827
+ -10000 114 414 323 897 131 981 638 62 71
+ -10000 688 734 244 443 944 310 396 442 609
+ -10000 311 381 119 332 240 503 556 89 311
+ -10000 796 529 269 112 926 627 295 234 715
+ -10000 107 240 7 927 786 99 425 147 524
+ -10000 97 247 678 530 193 349 217 279 970
+ -10000 597 873 347 614 817 395 328 614 926
+ -10000 526 20 696 608 858 154 810 785 459
+ -10000 410 517 180 179 214 808 865 428 849
+ -10000 245 490 294 966 567 736 10 187 864
+ -10000 169 977 521 13 521 748 914 465 253
+ -10000 507 540 508 39 524 620 464 920 184
+ -10000 625 740 618 164 963 15 292 687 504
+ -10000 222 466 108 947 972 950 428 199 589
+ -10000 608 812 853 538 671 609 152 340 357
+ -10000 335 360 985 671 609 568 25 166 253
+ -10000 660 949 381 874 379 385 352 26 591
+ -10000 894 956 610 299 292 306 461 434 376
+ -10000 236 925 12 990 527 287 97 82 222
+ -10000 241 952 311 167 675 623 172 0 889
+ -10000 273 169 195 589 240 869 63 787 602
+ -10000 173 992 831 854 43 543 561 567 249
+ -10000 776 546 321 220 620 324 725 974 304
+ -10000 700 287 519 405 839 212 34 60 607
+ -10000 765 822 499 823 353 69 458 284 104
+ -10000 588 709 224 546 309 157 218 53 200
+ -10000 455 698 346 69 701 245 836 231 153
+ -10000 805 617 472 343 356 973 952 903 728
+ -10000 646 570 924 251 280 809 844 926 448
+ -10000 677 566 860 751 901 499 662 248 175
+ -10000 932 408 51 53 265 729 964 880 328
+ -10000 146 349 383 720 114 456 281 271 75
+ -10000 50 928 778 304 378 542 258 286 645
+ -10000 824 294 329 890 945 66 776 658 659
+ -10000 120 466 210 93 533 5 925 62 119
+ -10000 978 403 547 431 794 708 425 334 136
+ -10000 602 305 104 436 170 955 142 420 654
+ -10000 996 6 520 102 548 867 163 566 857
+ -10000 932 143 655 331 478 915 612 13 970
+ -10000 384 287 265 185 318 479 214 769 196
+ -10000 401 334 885 80 964 717 920 445 981
+ -10000 9 963 719 123 725 599 164 102 167
+ -10000 916 217 363 744 386 190 743 496 775
+ -10000 170 480 157 530 595 930 442 885 908
+ -10000 161 421 530 331 798 444 937 262 326
+ -10000 682 16 31 769 948 353 186 278 633
+ -10000 100 579 499 608 843 476 682 660 572
+ -10000 988 635 902 632 161 942 659 48 933
+ -10000 393 197 735 545 711 171 763 648 907
+ -10000 291 579 304 80 581 539 777 251 678
+ -10000 143 595 386 1 868 188 314 820 418
+ -10000 416 299 575 953 192 638 211 623 17
+ -10000 878 554 927 697 434 891 566 550 369
+ -10000 473 332 882 843 843 613 54 248 757
+ -10000 365 222 293 226 100 418 898 199 35
+ -10000 672 626 520 677 796 273 783 420 736
+ -10000 48 837 935 463 757 293 919 758 618
+ -10000 234 841 105 161 983 656 359 408 432
+ -10000 621 257 198 196 654 824 823 668 197
+ -10000 575 812 404 204 597 91 984 767 998
+ -10000 733 910 469 393 728 814 344 85 69
+ -10000 283 82 960 700 892 536 809 662 528
+ -10000 770 169 390 748 354 277 281 300 21
+ -10000 285 244 283 846 160 342 17 296 751
+ -10000 39 166 606 880 288 330 559 380 294
+ -10000 170 17 837 384 620 515 597 844 476
+ -10000 504 166 810 605 624 716 365 381 863
+ -10000 397 518 167 272 603 96 708 591 449
+ -10000 129 242 224 359 289 166 215 593 540
+ -10000 718 77 70 907 111 918 509 387 117
+ -10000 157 535 300 409 751 197 383 995 635
+ -10000 13 61 113 409 593 983 644 481 259
+ -10000 371 603 449 789 224 989 172 603 402
+ -10000 738 550 660 841 990 696 797 465 794
+ -10000 350 496 145 430 64 807 85 534 901
+ -10000 347 757 297 843 160 676 643 406 177
+ -10000 166 763 595 353 373 695 436 388 473
+ -10000 588 717 689 890 941 676 891 573 249
+ -10000 65 290 206 243 996 50 629 799 700
+ -10000 443 667 445 982 34 354 545 149 123
+ -10000 896 974 257 351 111 341 317 285 971
+ -10000 538 577 628 889 76 700 853 795 299
+ -10000 252 992 108 709 901 30 999 914 668
+ -10000 47 232 31 351 580 216 252 848 635
+ -10000 631 498 453 99 393 537 19 738 965
+ -10000 283 39 402 463 825 831 356 867 167
+ -10000 98 241 646 226 867 345 621 241 371
+ -10000 456 195 740 952 473 302 30 64 229
+ -10000 207 637 360 945 877 568 685 275 583
+ -10000 508 676 509 918 249 0 787 569 493
+ -10000 282 878 475 982 804 912 53 880 454
+ -10000 412 64 166 581 596 970 267 545 675
+ -10000 894 199 274 267 746 511 249 697 267
+ -10000 286 251 44 950 208 173 419 225 627
+ -10000 132 8 96 708 898 134 724 842 410
+ -10000 222 306 549 9 458 123 590 318 621
+ -10000 183 559 377 691 962 793 375 79 653
+ -10000 984 151 159 18 943 261 95 646 144
+ -10000 386 528 887 581 661 925 958 892 377
+ -10000 781 77 810 261 500 128 201 29 446
+ -10000 591 941 891 211 493 714 814 468 615
+ -10000 235 394 211 947 120 174 980 682 719
+ -10000 68 5 968 248 201 756 366 470 557
+ -10000 404 543 719 746 92 687 646 859 14
+ -10000 20 434 732 816 385 133 818 151 726
+ -10000 665 563 108 33 933 4 122 746 354
+ -10000 376 993 435 921 612 712 691 869 446
+ -10000 52 17 586 737 656 948 413 643 695
+ -10000 520 168 5 499 257 261 869 691 46
+ -10000 820 15 251 757 166 653 245 395 694
+ -10000 896 347 186 979 365 669 697 184 355
+ -10000 981 790 382 391 999 32 830 850 171
+ -10000 918 593 786 628 639 610 47 251 374
+ -10000 228 775 241 83 258 591 812 979 521
+ -10000 445 118 726 93 732 372 498 478 695
+ -10000 749 222 8 876 252 652 311 968 731
+ -10000 82 920 947 819 355 54 171 730 779
+ -10000 462 696 542 677 113 65 388 248 716
+ -10000 967 519 570 579 753 815 196 590 905
+ -10000 620 773 925 654 239 589 593 198 412
+ -10000 519 601 521 737 750 52 839 283 570
+ -10000 531 864 694 237 187 437 913 513 953
+ -10000 610 6 321 851 474 511 474 734 626
+ -10000 528 671 685 739 676 654 417 664 419
+ -10000 967 110 109 100 790 901 285 273 721
+ -10000 523 408 553 525 263 343 465 518 996
+ -10000 990 285 650 426 709 905 572 509 66
+ -10000 814 898 596 389 665 914 412 986 680
+ -10000 429 237 816 341 414 222 697 274 961
+ -10000 435 789 845 730 970 304 42 556 141
+ -10000 226 442 565 891 566 768 317 595 344
+ -10000 9 750 379 178 167 985 118 830 695
+ -10000 423 205 853 663 526 111 953 693 918
+ -10000 674 807 909 691 276 393 765 473 234
+ -10000 543 358 425 475 2 328 821 198 216
+ -10000 772 157 786 268 834 530 303 994 745
+ -10000 275 164 126 279 751 959 444 114 790
+ -10000 561 609 901 392 900 419 821 189 66
+ -10000 51 732 25 218 310 485 392 15 381
+ -10000 766 374 837 126 743 440 635 909 6
+ -10000 638 196 109 192 554 721 538 571 684
+ -10000 792 826 974 353 305 245 419 592 138
+ -10000 138 687 567 264 32 513 434 328 617
+ -10000 104 253 396 997 979 287 194 685 648
+ -10000 603 455 622 246 887 467 282 394 554
+ -10000 350 533 269 179 451 550 693 872 469
+ -10000 68 754 630 602 861 307 625 162 448
+ -10000 979 205 918 574 88 12 869 49 831
+ -10000 866 440 663 483 642 845 304 751 738
+ -10000 713 658 225 530 58 341 608 684 172
+ -10000 496 746 792 107 128 833 461 271 3
+ -10000 957 742 976 673 308 649 59 491 764
+ -10000 487 643 78 464 568 751 927 73 614
+ -10000 341 828 73 769 481 56 374 824 225
+ -10000 549 246 798 694 905 159 566 13 260
+ -10000 360 630 350 860 75 727 512 324 664
+ -10000 564 88 590 584 541 589 643 554 645
+ -10000 295 43 317 296 4 274 693 655 2
+ -10000 156 443 375 240 446 967 261 81 337
+ -10000 522 394 924 388 283 672 433 101 5
+ -10000 879 630 181 589 436 66 430 771 160
+ -10000 161 106 595 610 293 940 984 220 170
+ -10000 949 645 504 248 177 226 834 408 910
+ -10000 739 48 555 959 61 0 898 707 989
+ -10000 217 306 634 158 48 719 421 450 571
+ -10000 934 559 735 453 506 556 280 319 941
+ -10000 685 861 596 490 101 737 781 783 248
+ -10000 797 485 793 443 918 224 473 823 507
+ -10000 907 976 110 0 781 975 246 361 206
+ -10000 351 308 27 142 772 608 416 957 852
+ -10000 279 894 174 791 286 551 939 645 140
+ -10000 192 164 398 80 476 242 274 52 885
+ -10000 710 560 719 82 141 257 593 345 487
+ -10000 73 215 407 746 502 498 426 546 529
+ -10000 186 711 870 635 233 539 854 968 99
+ -10000 93 391 254 779 745 655 475 726 899
+ -10000 11 566 603 852 222 318 744 26 101
+ -10000 188 296 992 465 825 689 309 698 734
+ -10000 314 592 57 526 703 323 107 9 341
+ -10000 40 272 396 649 884 211 250 76 615
+ -10000 530 287 83 805 491 845 785 871 923
+ -10000 203 508 531 914 93 908 699 309 462
+ -10000 988 457 812 861 518 179 26 776 261
+ -10000 33 570 710 504 739 462 936 767 990
+ -10000 150 212 87 286 678 131 340 783 285
+ -10000 131 527 597 315 208 175 964 859 190
+ -10000 580 354 49 937 729 168 966 586 59
+ -10000 811 547 88 971 808 855 857 262 759
+ -10000 524 805 105 564 836 886 358 672 719
+ -10000 750 874 466 288 535 589 694 215 862
+ -10000 532 222 132 262 613 925 453 874 414
+ -10000 513 158 948 875 661 512 66 624 902
+ -10000 860 559 508 347 43 237 875 769 492
+ -10000 263 578 958 215 661 857 1000 821 780
+ -10000 322 408 828 523 798 436 122 332 445
+ -10000 230 22 862 72 865 667 61 150 585
+ -10000 410 978 603 368 495 980 234 6 924
+ -10000 521 501 36 392 511 800 406 624 721
+ -10000 753 316 319 610 910 410 196 982 133
+ -10000 4 642 134 963 671 708 548 57 894
+ -10000 770 514 387 407 18 608 503 606 123
+ -10000 115 578 15 975 585 775 969 292 928
+ -10000 808 193 294 21 751 560 544 201 694
+ -10000 431 881 83 513 827 359 904 698 495
+ -10000 461 818 181 593 814 829 957 414 403
+ -10000 79 168 807 537 508 992 435 414 657
+ -10000 206 356 222 470 358 929 814 995 262
+ -10000 762 453 259 183 532 207 663 818 805
+ -10000 668 15 30 315 549 343 70 997 453
+ -10000 731 425 843 836 394 345 629 907 751
+ -10000 529 101 710 312 138 204 67 359 943
+ -10000 703 359 546 148 136 387 246 806 299
+ -10000 399 773 535 31 295 146 896 314 879
+ -10000 327 603 454 254 878 789 118 415 975
+ -10000 658 414 46 42 982 790 110 820 45
+ -10000 334 260 28 36 745 544 811 695 879
+ -10000 942 843 209 828 271 508 626 12 619
+ -10000 869 385 297 144 673 885 628 130 262
+ -10000 28 313 137 159 115 75 774 544 571
+ -10000 627 802 290 182 731 620 530 59 518
+ -10000 459 395 581 422 355 397 312 986 848
+ -10000 569 699 522 371 112 135 214 314 322
+ -10000 312 757 556 139 868 157 202 665 644
+ -10000 869 256 238 943 300 393 190 666 136
+ -10000 474 763 746 755 26 182 246 694 589
+ -10000 67 70 325 328 284 280 326 3 983
+ -10000 271 87 886 429 575 378 263 213 406
+ -10000 830 185 669 836 33 700 48 566 897
+ -10000 593 179 354 117 526 634 562 855 98
+ -10000 646 567 5 822 218 35 177 946 232
+ -10000 470 373 518 926 64 480 101 398 888
+ -10000 695 828 289 364 194 693 695 635 962
+ -10000 326 271 195 701 304 440 338 718 844
+ -10000 779 109 856 114 911 898 2 357 215
+ -10000 159 811 23 378 831 866 577 355 857
+ -10000 878 480 861 183 230 570 870 3 610
+ -10000 462 373 690 683 139 858 87 714 915
+ -10000 999 62 33 555 778 842 150 889 158
+ -10000 281 24 527 685 23 18 17 456 29
+ -10000 459 773 249 882 110 100 284 722 402
+ -10000 942 429 742 973 925 877 985 307 510
+ -10000 882 54 173 270 949 631 155 31 181
+ -10000 595 596 514 633 893 819 853 325 356
+ -10000 269 247 314 585 642 72 492 530 183
+ -10000 332 124 428 566 912 997 694 151 377
+ -10000 252 835 383 753 225 854 479 518 15
+ -10000 117 772 997 631 43 444 324 203 950
+ -10000 426 971 678 695 695 494 500 790 446
+ -10000 209 293 189 868 385 349 866 590 185
+ -10000 746 361 123 440 333 430 779 377 320
+ -10000 65 190 206 478 459 883 317 445 187
+ -10000 711 619 191 522 858 760 837 762 220
+ -10000 207 460 787 695 936 123 541 389 711
+ -10000 900 545 233 189 840 226 226 221 908
+ -10000 396 716 816 364 23 960 170 79 218
+ -10000 826 670 831 150 239 739 599 876 394
+ -10000 979 754 929 344 711 194 535 817 0
+ -10000 675 987 555 195 291 280 735 951 637
+ -10000 946 264 111 836 121 498 491 123 164
+ -10000 728 205 191 648 250 280 381 443 252
+ -10000 202 336 566 386 576 125 729 642 134
+ -10000 124 226 989 901 639 90 855 998 668
+ -10000 476 144 341 683 358 375 65 410 611
+ -10000 464 158 271 960 124 427 997 337 303
+ -10000 431 894 858 929 181 827 101 721 515
+ -10000 111 749 694 943 404 561 888 396 933
+ -10000 82 461 775 864 117 809 251 622 218
+ -10000 631 455 924 315 968 499 364 593 85
+ -10000 57 94 902 776 222 683 289 25 588
+ -10000 626 501 723 21 682 939 50 817 825
+ -10000 959 653 841 349 930 610 13 244 170
+ -10000 929 910 146 9 405 406 640 283 882
+ -10000 357 587 38 314 943 789 124 426 89
+ -10000 700 164 728 593 193 574 237 522 80
+ -10000 859 234 481 554 846 880 656 486 841
+ -10000 198 873 493 6 589 96 849 316 173
+ -10000 653 964 89 966 42 487 772 607 654
+ -10000 372 250 623 145 105 126 619 909 665
+ -10000 893 291 388 830 383 458 815 953 341
+ -10000 412 704 630 129 493 518 283 721 171
+ -10000 767 478 999 411 831 349 606 426 19
+ -10000 110 569 179 780 803 593 744 421 159
+ -10000 636 278 627 92 238 127 77 382 766
+ -10000 500 68 563 481 737 786 165 641 680
+ -10000 0 516 648 383 568 981 926 861 142
+ -10000 43 593 813 994 665 400 786 671 677
+ -10000 289 614 927 584 739 19 412 968 484
+ -10000 85 536 605 521 600 198 551 366 62
+ -10000 165 580 626 254 577 30 957 873 50
+ -10000 412 264 349 909 894 81 771 308 446
+ -10000 269 675 164 767 585 467 957 909 866
+ -10000 341 286 108 134 972 363 808 807 684
+ -10000 139 27 142 690 615 504 905 170 845
+ -10000 237 794 177 943 9 566 783 338 995
+ -10000 804 278 712 663 47 608 193 1 319
+ -10000 922 524 940 286 943 313 310 721 356
+ -10000 546 253 232 292 490 39 607 174 440
+ -10000 38 187 902 685 947 52 458 880 0
+ -10000 170 944 496 636 47 433 316 291 594
+ -10000 86 763 240 668 164 306 43 5 694
+ -10000 198 75 9 521 941 417 20 976 906
+ -10000 841 242 665 384 436 17 840 200 983
+ -10000 560 643 446 998 2 39 434 716 609
+ -10000 210 578 479 167 186 280 256 192 660
+ -10000 975 805 67 676 971 795 903 46 402
+ -10000 399 270 166 163 608 286 998 292 419
+ -10000 822 330 228 57 723 946 825 956 119
+ -10000 103 326 720 616 82 992 571 838 569
+ -10000 911 208 0 323 926 555 877 60 790
+ -10000 855 432 252 704 332 166 150 723 157
+ -10000 665 127 102 998 215 922 264 558 814
+ -10000 240 999 941 384 508 596 976 2 760
+ -10000 653 156 382 237 25 286 929 348 692
+ -10000 775 968 343 657 540 309 625 0 278
+ -10000 911 24 234 118 777 121 310 603 8
+ -10000 206 375 641 706 71 435 511 52 866
+ -10000 57 854 244 23 398 659 812 604 893
+ -10000 838 869 699 428 0 970 174 623 153
+ -10000 271 120 368 601 517 942 589 263 323
+ -10000 885 146 977 613 420 505 770 786 445
+ -10000 672 444 252 398 260 984 501 442 598
+ -10000 70 616 946 715 839 444 515 568 268
+ -10000 321 210 168 472 268 421 204 570 191
+ -10000 480 96 635 456 880 510 231 217 520
+ -10000 531 368 452 8 77 594 414 778 197
+ -10000 420 429 919 416 412 599 532 681 95
+ -10000 402 197 88 492 615 226 674 240 803
+ -10000 974 40 618 36 285 599 28 568 332
+ -10000 216 306 713 219 774 124 443 483 386
+ -10000 640 652 625 31 955 266 464 123 947
+ -10000 791 354 600 698 212 699 605 879 954
+ -10000 33 896 314 465 101 926 480 174 601
+ -10000 229 494 671 32 398 18 895 274 124
+ -10000 367 580 185 626 30 39 687 577 733
+ -10000 13 622 400 700 323 489 208 763 495
+ -10000 738 957 169 562 689 104 124 55 547
+ -10000 318 482 511 619 602 384 267 16 575
+ -10000 348 352 924 806 827 725 785 721 323
+ -10000 211 352 767 280 94 110 171 383 451
+ -10000 443 544 406 771 692 206 210 471 586
+ -10000 429 480 107 887 573 602 911 427 330
+ -10000 713 737 576 784 875 688 221 251 263
+ -10000 270 732 485 648 910 460 820 736 735
+ -10000 13 477 892 419 263 863 857 304 0
+ -10000 300 552 311 971 781 164 690 648 928
+ -10000 777 671 28 29 849 360 59 318 472
+ -10000 835 31 399 446 314 92 187 129 153
+ -10000 958 919 125 688 29 910 953 268 282
+ -10000 300 299 501 688 798 384 771 978 486
+ -10000 584 863 414 53 795 783 829 502 86
+ -10000 467 59 155 62 16 485 446 436 82
+ -10000 305 257 445 520 202 308 824 247 691
+ -10000 910 704 377 534 241 811 384 951 967
+ -10000 286 599 356 706 409 212 203 66 807
+ -10000 406 297 473 285 319 651 314 24 978
+ -10000 561 840 140 858 431 366 710 9 483
+ -10000 969 938 709 477 314 64 427 576 696
+ -10000 954 376 404 15 393 481 828 274 628
+ -10000 995 240 775 571 317 743 922 730 77
+ -10000 920 598 856 57 253 997 8 435 669
+ -10000 833 544 467 912 182 663 805 445 36
+ -10000 841 143 545 518 238 871 740 527 763
+ -10000 847 492 34 588 358 30 867 364 732
+ -10000 797 501 804 156 524 207 330 258 269
+ -10000 721 754 388 889 854 290 680 929 417
+ -10000 465 892 765 814 300 359 606 949 402
+ -10000 21 301 605 371 127 915 659 122 62
+ -10000 480 140 55 103 993 725 80 873 960
+ -10000 67 625 516 98 204 272 321 959 199
+ -10000 451 545 970 880 400 763 412 722 383
+ -10000 839 304 23 824 305 862 43 192 940
+ -10000 831 998 499 364 451 344 21 199 905
+ -10000 67 316 201 368 222 875 311 86 356
+ -10000 185 56 673 967 237 560 134 320 908
+ -10000 700 259 107 830 991 544 92 977 698
+ -10000 299 297 229 969 198 989 51 760 909
+ -10000 57 734 221 771 824 452 972 81 607
+ -10000 619 257 875 10 807 992 459 732 620
+ -10000 269 747 957 191 484 352 965 590 903
+ -10000 966 614 323 454 4 637 104 334 899
+ -10000 877 453 188 532 603 847 148 495 602
+ -10000 119 911 707 895 150 462 650 578 690
+ -10000 847 791 77 461 50 874 955 110 263
+ -10000 203 541 807 420 294 31 197 399 413
+ -10000 206 252 415 265 536 805 596 288 15
+ -10000 851 997 819 128 662 146 607 605 229
+ -10000 603 827 512 766 350 983 592 273 215
+ -10000 465 875 459 810 308 803 146 363 521
+ -10000 198 541 972 766 69 430 578 903 999
+ -10000 273 485 361 829 344 349 550 141 404
+ -10000 530 520 229 526 947 515 887 228 243
+ -10000 666 622 286 661 173 134 643 414 268
+ -10000 11 994 198 726 640 701 971 846 158
+ -10000 411 889 498 906 214 69 655 406 596
+ -10000 396 763 903 238 76 7 625 883 589
+ -10000 236 71 522 275 403 85 786 261 865
+ -10000 708 103 199 894 411 190 680 649 660
+ -10000 168 471 419 240 616 628 456 162 91
+ -10000 131 618 188 391 806 188 644 687 461
+ -10000 632 618 750 308 403 213 806 870 88
+ -10000 747 323 384 986 681 329 322 721 21
+ -10000 386 519 429 519 963 667 538 745 34
+ -10000 431 655 700 825 616 984 634 342 153
+ -10000 725 242 171 754 310 473 175 780 360
+ -10000 459 409 919 325 576 465 290 954 794
+ -10000 595 438 157 679 8 497 37 911 861
+ -10000 99 781 625 676 828 108 300 616 761
+ -10000 891 152 235 683 146 799 840 419 964
+ -10000 738 306 393 953 966 153 320 631 455
+ -10000 959 221 605 248 408 675 771 444 446
+ -10000 850 773 277 244 145 748 814 697 113
+ -10000 978 531 244 115 474 438 45 141 839
+ -10000 89 832 541 247 114 963 826 515 765
+ -10000 746 193 480 441 325 236 765 585 642
+ -10000 845 829 840 754 968 176 550 136 903
+ -10000 661 754 561 407 508 634 78 354 380
+ -10000 664 757 245 660 244 723 972 571 759
+ -10000 400 676 35 74 499 471 271 210 930
+ -10000 216 845 635 628 199 707 427 853 431
+ -10000 848 715 341 247 968 465 599 303 737
+ -10000 502 758 454 700 313 670 417 560 919
+ -10000 660 690 601 550 502 805 424 221 152
+ -10000 422 685 65 138 140 126 913 959 316
+ -10000 202 693 459 384 527 34 479 132 878
+ -10000 143 456 74 935 225 510 445 864 435
+ -10000 896 889 475 39 73 221 424 541 57
+ -10000 342 656 152 878 494 435 629 795 269
+ -10000 987 874 818 581 174 29 574 342 469
+ -10000 761 566 226 316 949 832 43 752 25
+ -10000 427 386 248 353 503 200 561 220 818
+ -10000 355 354 672 985 975 266 557 813 234
+ -10000 782 794 400 467 620 726 136 117 660
+ -10000 106 202 953 616 780 199 373 997 323
+ -10000 748 99 963 83 684 930 666 323 248
+ -10000 490 718 32 575 61 344 600 256 506
+ -10000 739 750 299 452 303 887 998 815 323
+ -10000 844 916 431 231 181 310 285 718 724
+ -10000 490 83 489 121 383 678 543 468 357
+ -10000 841 832 299 926 636 934 54 835 136
+ -10000 736 891 656 606 857 273 727 106 180
+ -10000 690 338 953 605 934 737 127 433 662
+ -10000 989 141 788 856 111 656 477 503 520
+ -10000 366 557 196 30 622 662 681 7 869
+ -10000 276 204 505 389 522 431 771 116 762
+ -10000 86 35 19 751 859 422 839 551 725
+ -10000 300 46 792 408 422 37 74 173 537
+ -10000 121 462 922 743 891 307 823 758 192
+ -10000 224 187 433 349 882 920 571 70 896
+ -10000 539 110 282 321 692 858 262 379 365
+ -10000 726 730 554 481 668 566 277 374 766
+ -10000 325 242 275 50 479 960 745 764 926
+ -10000 280 28 621 331 91 224 971 390 388
+ -10000 626 322 525 259 170 298 889 195 805
+ -10000 239 150 160 648 568 985 20 847 995
+ -10000 549 157 742 654 310 935 259 750 777
+ -10000 364 236 698 610 880 945 529 301 399
+ -10000 774 268 179 204 934 446 507 523 634
+ -10000 445 680 622 610 161 149 727 557 365
+ -10000 433 887 506 128 202 202 402 545 433
+ -10000 217 90 814 678 428 664 816 434 319
+ -10000 605 390 507 270 570 553 3 638 771
+ -10000 275 240 578 64 642 37 780 660 301
+ -10000 931 66 183 221 334 330 566 392 532
+ -10000 434 537 309 716 949 644 373 771 174
+ -10000 981 42 523 170 404 133 732 253 160
+ -10000 214 266 624 87 889 508 454 216 770
+ -10000 52 342 413 211 212 347 134 584 947
+ -10000 21 766 55 197 1000 653 278 442 629
+ -10000 545 528 304 263 50 502 198 675 692
+ -10000 574 420 592 30 640 507 799 974 477
+ -10000 760 483 786 402 94 335 192 969 573
+ -10000 247 134 82 388 853 237 612 491 729
+ -10000 727 53 800 42 229 516 320 89 333
+ -10000 366 822 527 481 840 716 525 421 947
+ -10000 835 702 84 440 463 251 357 305 335
+ -10000 228 704 496 386 316 127 669 150 792
+ -10000 480 891 168 663 517 761 378 271 626
+ -10000 84 341 855 666 699 404 15 387 744
+ -10000 421 586 648 766 168 716 899 134 479
+ -10000 285 979 994 650 918 777 934 41 418
+ -10000 314 671 95 7 49 657 232 448 539
+ -10000 464 406 76 750 451 346 861 743 60
+ -10000 544 136 783 438 647 412 625 924 225
+ -10000 799 19 668 616 136 726 9 959 268
+ -10000 852 885 88 960 611 675 853 301 160
+ -10000 292 491 541 126 469 180 684 957 969
+ -10000 395 276 181 163 93 452 341 134 260
+ -10000 522 142 862 114 93 958 721 858 270
+ -10000 364 922 991 427 153 781 971 693 57
+ -10000 294 644 0 223 740 903 468 234 130
+ -10000 882 635 602 839 257 114 3 494 896
+ -10000 944 369 549 254 671 839 929 76 807
+ -10000 120 599 234 715 534 467 399 934 998
+ -10000 282 482 579 512 868 875 436 483 249
+ -10000 250 156 935 326 811 26 374 472 969
+ -10000 558 872 625 35 779 504 733 591 668
+ -10000 739 469 933 675 922 776 191 184 195
+ -10000 1000 845 454 200 747 585 25 338 260
+ -10000 310 461 78 645 103 170 204 749 198
+ -10000 496 71 697 192 814 375 343 574 958
+ -10000 41 784 400 824 421 597 467 824 469
+ -10000 14 650 545 678 593 163 107 253 836
+ -10000 157 270 656 464 728 403 15 889 974
+ -10000 373 732 642 73 193 671 0 87 243
+ -10000 817 902 751 425 199 340 910 737 659
+ -10000 284 531 391 237 742 100 16 246 915
+ -10000 45 965 86 279 993 208 169 767 906
+ -10000 426 945 143 133 870 574 354 980 588
+ -10000 108 378 448 591 235 49 861 570 528
+ -10000 936 413 107 549 949 339 870 877 786
+ -10000 94 179 879 625 614 936 58 891 645
+ -10000 80 419 277 177 273 390 270 845 561
+ -10000 937 331 99 12 953 32 633 668 759
+ -10000 96 417 460 818 215 882 102 808 743
+ -10000 642 728 281 660 386 820 373 333 11
+ -10000 284 46 697 953 785 841 238 188 635
+ -10000 235 489 513 400 450 934 634 144 263
+ -10000 564 181 160 764 907 839 675 574 577
+ -10000 839 464 223 984 282 727 37 561 247
+ -10000 201 527 965 971 114 631 66 203 393
+ -10000 460 753 902 30 189 560 495 468 854
+ -10000 523 627 66 880 464 304 947 508 500
+ -10000 436 926 853 321 321 60 957 777 246
+ -10000 335 512 456 605 112 798 414 893 788
+ -10000 342 131 375 454 254 842 844 730 33
+ -10000 553 334 887 989 861 292 79 227 763
+ -10000 481 942 363 679 485 537 840 945 623
+ -10000 968 357 960 872 35 998 516 113 402
+ -10000 906 262 173 930 235 997 319 257 794
+ -10000 853 505 197 246 583 117 419 758 775
+ -10000 920 614 730 393 615 598 693 19 520
+ -10000 311 603 706 104 5 812 363 348 525
+ -10000 728 685 975 541 686 377 303 79 291
+ -10000 515 129 653 729 902 742 617 288 203
+ -10000 250 884 946 625 596 763 361 240 706
+ -10000 526 376 235 312 92 89 172 875 894
+ -10000 153 416 86 687 726 142 823 667 674
+ -10000 400 73 484 773 431 281 589 181 529
+ -10000 634 328 573 748 69 690 909 866 127
+ -10000 307 306 838 432 731 663 286 805 965
+ -10000 584 944 93 846 4 824 787 115 956
+ -10000 155 753 763 618 429 0 383 686 412
+ -10000 576 66 558 658 886 726 428 186 346
+ -10000 1 956 545 25 141 648 459 664 783
+ -10000 508 759 173 714 882 122 299 845 729
+ -10000 569 10 788 86 243 707 929 906 445
+ -10000 233 753 740 740 464 544 689 529 740
+ -10000 82 933 387 586 183 905 95 795 901
+ -10000 749 786 703 787 587 124 712 598 617
+ -10000 25 536 139 564 427 942 719 257 167
+ -10000 293 59 481 515 133 271 763 633 63
+ -10000 82 280 175 25 424 677 423 966 515
+ -10000 452 563 771 836 811 365 895 337 15
+ -10000 56 10 501 805 215 403 758 539 156
+ -10000 309 629 897 114 760 846 701 63 610
+ -10000 336 476 574 799 569 391 929 351 34
+ -10000 531 10 813 376 990 170 415 653 290
+ -10000 967 245 982 561 837 25 33 204 788
+ -10000 15 443 681 885 903 818 666 547 419
+ -10000 632 17 151 586 179 661 559 719 342
+ -10000 851 47 702 651 93 511 599 165 928
+ -10000 297 72 824 895 567 908 758 79 284
+ -10000 763 424 604 367 162 808 257 891 15
+ -10000 80 141 649 827 609 876 283 677 321
+ -10000 773 388 819 437 702 89 144 512 549
+ -10000 624 441 375 145 690 40 630 834 815
+ -10000 649 549 846 934 914 194 531 204 363
+ -10000 654 535 990 839 609 783 943 367 385
+ -10000 395 356 552 988 846 772 761 326 639
+ -10000 216 337 64 200 366 194 654 274 359
+ -10000 461 550 760 271 708 78 521 779 393
+ -10000 83 13 505 309 603 131 389 743 891
+ -10000 745 258 875 654 41 774 192 421 969
+ -10000 271 386 188 517 243 391 147 465 146
+ -10000 836 607 236 286 487 310 598 646 465
+ -10000 285 880 141 372 870 354 294 457 697
+ -10000 976 847 422 715 472 529 221 869 618
+ -10000 673 589 917 493 592 892 39 218 716
+ -10000 778 793 973 237 874 340 187 202 782
+ -10000 765 417 954 987 634 98 794 648 13
+ -10000 138 509 336 99 217 381 792 238 260
+ -10000 112 644 205 686 803 245 315 410 242
+ -10000 708 485 32 384 129 514 86 418 499
+ -10000 0 518 508 591 278 724 874 546 228
+ -10000 957 379 921 961 942 242 448 14 310
+ -10000 665 641 140 379 720 713 581 572 246
+ -10000 559 770 456 531 855 49 379 489 957
+ -10000 497 444 716 59 631 863 735 146 93
+ -10000 31 795 514 976 463 411 798 103 95
+ -10000 247 128 499 522 786 345 467 952 496
+ -10000 91 979 15 633 835 741 711 481 507
+ -10000 365 412 813 934 755 495 543 943 750
+ -10000 479 295 510 639 399 499 908 66 653
+ -10000 82 837 458 660 23 293 390 682 915
+ -10000 877 360 92 394 626 203 400 250 563
+ -10000 572 933 318 717 193 15 584 7 872
+ -10000 500 276 950 450 171 135 893 346 168
+ -10000 354 632 255 974 927 845 604 561 750
+ -10000 570 647 392 213 980 323 362 807 3
+ -10000 860 211 115 923 266 266 210 925 817
+ -10000 665 326 809 952 370 542 961 6 279
+ -10000 80 507 856 478 160 240 849 728 129
+ -10000 472 232 947 120 386 531 488 289 560
+ -10000 192 136 536 566 654 872 432 995 490
+ -10000 513 458 717 16 957 816 959 846 401
+ -10000 204 804 668 807 649 979 599 949 47
+ -10000 308 625 548 538 76 138 3 48 348
+ -10000 633 18 637 311 270 468 654 647 762
+ -10000 822 953 34 464 895 9 615 475 440
+ -10000 735 400 549 439 854 661 51 11 258
+ -10000 509 894 949 176 72 570 639 890 974
+ -10000 987 323 75 780 974 758 391 392 76
+ -10000 686 929 627 473 931 63 663 939 626
+ -10000 105 200 550 443 890 732 570 281 769
+ -10000 806 79 872 992 527 587 423 210 570
+ -10000 636 440 131 204 849 484 966 191 590
+ -10000 674 2 590 226 41 773 660 59 731
+ -10000 273 900 666 829 168 902 941 768 71
+ -10000 88 528 169 419 42 96 431 724 101
+ -10000 452 373 850 146 114 753 108 56 666
+ -10000 104 888 672 831 624 367 69 708 170
+ -10000 965 432 920 629 924 987 84 161 143
+ -10000 721 569 269 839 517 953 988 794 811
+ -10000 136 255 401 586 222 727 995 856 661
+ -10000 89 250 125 300 520 295 38 964 942
+ -10000 41 623 70 211 122 76 129 169 256
+ -10000 763 426 122 75 40 33 469 593 957
+ -10000 780 758 41 668 864 144 281 323 857
+ -10000 769 506 468 292 642 142 295 652 540
+ -10000 564 904 133 104 116 643 532 296 934
+ -10000 4 403 466 823 389 620 847 538 530
+ -10000 401 253 740 989 814 830 171 681 584
+ -10000 1 705 912 48 336 922 504 845 94
+ -10000 185 471 807 99 582 45 966 209 719
+ -10000 147 823 349 30 499 740 756 955 330
+ -10000 226 900 166 539 277 550 720 987 112
+ -10000 36 834 700 160 967 330 812 593 623
+ -10000 172 722 879 512 749 146 19 406 329
+ -10000 654 790 663 215 467 434 616 399 187
+ -10000 281 593 757 711 691 103 332 882 281
+ -10000 613 970 115 565 785 857 160 935 54
+ -10000 856 847 923 552 776 775 355 848 931
+ -10000 196 637 172 116 363 989 278 282 616
+ -10000 9 319 968 55 504 63 791 588 347
+ -10000 447 469 14 268 852 996 650 656 62
+ -10000 440 294 830 304 79 848 363 203 320
+ -10000 846 265 457 654 118 919 652 77 66
+ -10000 204 162 750 558 81 515 20 994 192
+ -10000 220 460 792 60 344 2 809 186 735
+ -10000 271 633 223 844 597 864 897 681 469
+ -10000 336 619 759 401 605 256 70 593 324
+ -10000 61 65 169 283 920 305 622 395 679
+ -10000 785 157 634 436 886 306 534 247 843
+ -10000 223 69 259 865 550 530 54 991 902
+ -10000 451 532 499 882 30 945 44 687 99
+ -10000 760 726 600 679 817 738 524 303 576
+ -10000 587 383 159 745 49 460 940 324 540
+ -10000 233 792 786 373 498 214 324 921 745
+ -10000 768 90 14 858 667 321 967 497 765
+ -10000 782 243 230 347 809 711 165 0 111
+ -10000 593 770 320 211 506 512 945 964 590
+ -10000 957 994 553 965 538 149 872 330 827
+ -10000 98 508 794 966 512 19 441 424 0
+ -10000 71 974 144 306 775 679 415 686 786
+ -10000 528 406 832 593 936 605 247 442 190
+ -10000 188 724 641 642 315 391 952 612 923
+ -10000 813 614 648 582 525 552 806 177 251
+ -10000 552 373 167 720 641 749 641 920 191
+ -10000 999 521 749 777 372 162 252 641 849
+ -10000 96 941 104 122 801 362 465 953 50
+ -10000 307 616 906 275 317 266 871 477 329
+ -10000 622 120 381 975 634 839 207 965 23
+ -10000 832 565 544 395 313 828 693 292 785
+ -10000 362 176 49 543 260 77 186 683 746
+ -10000 835 68 923 81 203 267 876 917 926
+ -10000 179 299 690 129 753 351 741 260 619
+ -10000 704 400 642 930 951 847 303 192 73
+ -10000 87 931 927 273 609 885 730 425 864
+ -10000 932 691 712 772 541 331 878 933 314
+ -10000 696 265 532 809 458 910 657 890 92
+ -10000 296 863 74 355 1000 203 399 574 625
+ -10000 965 532 494 650 196 577 283 162 431
+ -10000 134 532 863 706 598 644 976 76 59
+ -10000 960 859 643 920 172 680 312 702 834
+ -10000 953 698 212 680 817 722 650 968 214
+ -10000 903 799 618 296 571 401 391 131 717
+ -10000 675 579 297 677 611 363 895 588 988
+ -10000 204 538 486 503 308 684 348 356 221
+ -10000 31 319 759 689 355 328 714 532 39
+ -10000 562 788 884 505 10 890 407 540 41
+ -10000 774 47 386 723 159 625 550 457 401
+ -10000 572 790 832 338 133 938 562 22 697
+ -10000 141 915 678 610 621 491 898 41 709
+ -10000 700 103 664 755 696 924 926 108 664
+ -10000 223 878 876 310 492 302 828 646 318
+ -10000 438 220 385 991 208 103 757 73 127
+ -10000 903 880 695 364 205 680 272 626 757
+ -10000 902 844 307 289 748 523 909 984 930
+ -10000 949 673 678 510 478 660 274 205 406
+ -10000 142 91 84 445 448 205 190 530 386
+ -10000 476 191 634 712 700 383 697 884 758
+ -10000 194 486 713 43 598 629 217 167 735
+ -10000 548 463 756 210 130 239 48 907 966
+ -10000 892 893 235 971 137 168 383 854 292
+ -10000 425 632 425 248 735 906 583 199 490
+ -10000 45 792 167 39 54 19 316 8 252
+ -10000 122 460 13 631 276 542 356 484 203
+ -10000 687 932 386 91 641 111 454 589 149
+ -10000 893 837 949 127 352 131 567 195 627
+ -10000 793 198 878 819 870 980 240 350 592
+ -10000 942 469 475 972 206 563 289 915 103
+ -10000 636 484 802 649 925 225 506 281 573
+ -10000 518 928 761 777 932 421 400 937 549
+ -10000 743 824 314 628 383 245 470 147 414
+ -10000 922 983 584 265 303 839 360 309 968
+ -10000 316 555 774 589 153 501 991 219 367
+ -10000 333 687 445 56 521 882 30 960 232
+ -10000 727 533 11 907 286 871 573 431 70
+ -10000 940 647 411 914 649 390 86 8 554
+ -10000 975 251 433 885 932 256 768 550 788
+ -10000 567 529 606 313 30 770 929 364 186
+ -10000 86 972 179 121 675 59 107 96 201
+ -10000 127 385 629 808 469 348 102 361 434
+ -10000 919 714 328 618 407 273 261 837 758
+ -10000 118 943 487 736 379 171 747 110 823
+ -10000 187 971 80 211 559 990 151 302 525
+ -10000 835 512 748 60 79 784 463 849 851
+ -10000 294 306 744 621 638 238 786 513 779
+ -10000 629 969 91 677 337 841 125 998 209
+ -10000 53 635 529 309 874 222 474 837 464
+ -10000 190 983 810 85 217 220 643 441 271
+ -10000 364 505 999 516 557 431 757 89 511
+ -10000 152 290 590 347 941 528 956 990 565
+ -10000 77 849 917 765 398 795 713 475 131
+ -10000 572 775 919 668 875 732 585 157 443
+ -10000 792 976 199 793 13 671 428 352 546
+ -10000 185 528 948 883 601 157 666 10 494
+ -10000 852 250 288 753 441 445 600 852 463
+ -10000 54 167 104 789 659 103 800 521 285
+ -10000 258 39 807 257 386 60 989 599 351
+ -10000 605 48 458 377 336 519 611 467 226
+ -10000 527 102 184 945 98 734 620 537 472
+ -10000 670 939 980 344 752 126 992 246 450
+ -10000 395 89 108 926 272 865 186 415 381
+ -10000 586 766 709 598 910 237 626 834 810
+ -10000 221 509 675 313 658 537 672 726 100
+ -10000 601 150 180 618 157 265 664 342 173
+ -10000 456 111 220 741 989 238 694 487 671
+ -10000 807 218 835 835 257 279 134 540 689
+ -10000 956 721 921 763 602 984 685 582 909
+ -10000 257 137 743 197 70 672 943 686 103
+ -10000 659 580 518 114 147 372 309 265 1
+ -10000 253 257 848 263 824 500 687 204 953
+ -10000 640 478 953 511 280 526 858 504 505
+ -10000 330 107 599 23 631 49 591 704 658
+ -10000 435 726 286 770 354 631 279 355 355
+ -10000 2 391 539 992 638 800 930 860 12
+ -10000 277 106 191 606 251 907 542 47 335
+ -10000 995 637 672 885 108 864 29 904 882
+ -10000 898 770 657 312 503 134 7 209 374
+ -10000 365 813 147 0 988 556 198 694 738
+ -10000 456 366 565 505 151 115 750 219 476
+ -10000 709 610 879 734 66 926 167 442 620
+ -10000 810 768 836 960 671 163 645 644 225
+ -10000 795 799 77 529 240 978 135 472 330
+ -10000 583 745 154 1 614 172 853 145 454
+ -10000 588 291 874 140 744 348 70 234 644
+ -10000 559 732 999 309 610 460 136 108 708
+ -10000 369 456 216 211 166 876 622 997 346
+ -10000 262 955 650 310 96 114 499 13 927
+ -10000 400 462 319 114 34 778 131 719 543
+ -10000 84 362 786 717 600 379 247 160 172
+ -10000 587 79 539 278 718 524 450 35 220
+ -10000 726 112 193 429 997 975 58 8 77
+ -10000 685 522 374 516 279 69 554 376 144
+ -10000 118 817 776 331 828 766 19 73 729
+ -10000 116 404 2 485 548 698 45 289 555
+ -10000 480 815 412 86 747 346 258 213 637
+ -10000 540 751 64 767 752 884 29 930 957
+ -10000 549 711 796 599 268 206 614 128 291
+ -10000 789 160 38 128 749 182 575 109 841
+ -10000 313 275 290 848 818 320 825 741 22
+ -10000 866 678 730 908 957 700 702 512 715
+ -10000 452 703 424 328 500 32 654 37 744
+ -10000 615 975 786 410 567 318 627 210 704
+ -10000 662 978 328 569 842 937 697 832 769
+ -10000 109 63 378 197 525 442 208 63 641
+ -10000 580 142 879 461 544 459 406 716 944
+ -10000 498 953 470 625 790 158 658 895 824
+ -10000 983 629 301 294 742 699 555 325 865
+ -10000 468 323 613 296 639 548 674 837 88
+ -10000 351 233 716 644 637 546 702 141 83
+ -10000 925 946 453 960 38 139 728 316 758
+ -10000 457 842 519 835 504 603 683 24 690
+ -10000 139 538 255 345 575 623 329 301 619
+ -10000 226 20 987 577 648 985 624 84 963
+ -10000 396 853 641 329 661 958 46 380 197
+ -10000 703 665 639 934 884 610 764 984 381
+ -10000 792 456 946 895 706 467 11 226 915
+ -10000 275 227 513 233 429 185 386 855 927
+ -10000 769 464 801 993 292 818 977 893 680
+ -10000 914 843 955 423 684 252 869 140 656
+ -10000 83 390 627 632 861 546 121 614 432
+ -10000 892 723 383 786 429 22 979 298 716
+ -10000 120 270 786 727 467 125 254 322 41
+ -10000 980 853 96 967 491 303 972 13 685
+ -10000 400 177 272 888 426 595 701 527 202
+ -10000 176 246 973 22 72 951 243 503 53
+ -10000 810 644 119 711 616 694 783 863 397
+ -10000 754 742 207 173 150 341 754 390 325
+ -10000 642 273 875 870 833 428 897 432 442
+ -10000 610 310 158 232 118 184 788 302 310
+ -10000 469 226 249 206 945 84 501 294 861
+ -10000 59 645 982 228 149 997 77 600 739
+ -10000 467 670 584 960 543 501 687 844 2
+ -10000 633 334 919 507 450 83 257 938 360
+ -10000 712 306 948 89 389 630 161 4 102
+ -10000 986 605 276 584 839 784 748 994 583
+ -10000 967 877 203 931 186 84 302 244 106
+ -10000 347 364 672 275 701 981 968 831 584
+ -10000 774 93 762 348 72 804 679 285 337
+ -10000 161 359 870 858 225 235 493 581 38
+ -10000 317 106 833 344 195 927 388 448 64
+ -10000 913 235 667 40 98 834 303 824 922
+ -10000 656 817 134 714 837 750 105 1 459
+ -10000 869 950 960 101 80 621 65 229 985
+ -10000 963 524 775 345 66 4 765 576 661
+ -10000 206 417 687 705 501 561 618 147 382
+ -10000 104 433 741 213 968 849 105 537 226
+ -10000 894 635 118 276 620 420 37 188 817
+ -10000 82 319 304 804 574 383 618 138 447
+ -10000 797 134 158 123 819 580 281 620 816
+ -10000 331 64 425 830 614 967 410 660 735
+ -10000 287 627 750 719 880 238 170 104 819
+ -10000 874 533 532 210 440 163 695 898 634
+ -10000 871 480 433 244 556 552 395 192 930
+ -10000 642 975 186 322 18 838 658 665 729
+ -10000 104 102 621 25 593 166 239 956 177
+ -10000 765 398 132 395 985 60 1 838 724
+ -10000 785 804 403 382 572 47 560 105 257
+ -10000 592 512 763 632 37 652 187 578 484
+ -10000 813 517 897 955 285 345 838 191 2
+ -10000 345 123 23 930 682 859 789 675 600
+ -10000 118 712 812 245 129 487 717 632 274
+ -10000 263 355 124 182 568 253 836 185 315
+ -10000 538 743 940 888 587 593 231 697 158
+ -10000 609 360 433 42 220 186 136 263 426
+ -10000 706 343 995 477 923 907 491 501 732
+ -10000 378 32 254 792 813 615 548 125 204
+ -10000 360 340 231 761 286 715 669 58 73
+ -10000 248 15 776 50 876 690 685 205 694
+ -10000 124 708 839 189 84 334 754 838 802
+ -10000 844 887 360 99 808 518 585 876 479
+ -10000 207 725 130 723 290 921 194 486 246
+ -10000 688 677 677 542 457 625 629 764 558
+ -10000 685 88 101 462 792 823 472 926 368
+ -10000 682 960 472 197 264 701 878 41 257
+ -10000 419 875 300 954 494 641 845 417 465
+ -10000 814 170 117 314 710 918 956 359 293
+ -10000 807 408 708 525 779 785 86 414 989
+ -10000 532 676 612 944 222 496 503 301 632
+ -10000 838 455 115 519 80 451 110 565 820
+ -10000 656 705 274 444 697 785 396 750 588
+ -10000 896 209 434 383 972 293 390 827 834
+ -10000 539 305 659 171 922 389 448 653 454
+ -10000 639 555 47 289 967 297 950 862 499
+ -10000 695 937 3 254 921 992 241 797 675
+ -10000 57 838 996 27 818 303 245 868 226
+ -10000 52 533 335 890 342 20 521 866 95
+ -10000 691 867 578 229 920 546 587 703 212
+ -10000 812 142 258 510 521 669 180 221 34
+ -10000 553 69 236 567 188 78 517 508 778
+ -10000 544 810 481 140 272 463 693 304 809
+ -10000 272 141 471 966 342 97 415 778 971
+ -10000 172 791 459 104 45 600 765 948 555
+ -10000 399 253 414 707 427 274 438 657 575
+ -10000 361 880 857 706 878 492 37 719 997
+ -10000 389 637 335 893 346 154 991 33 608
+ -10000 303 841 489 381 915 783 373 127 910
+ -10000 259 134 109 839 307 38 191 108 895
+ -10000 674 779 924 543 586 298 580 576 291
+ -10000 309 389 544 769 354 532 654 631 831
+ -10000 837 174 332 468 628 507 394 680 436
+ -10000 596 884 255 787 419 433 781 339 587
+ -10000 877 799 56 591 233 858 814 426 330
+ -10000 288 237 543 90 441 934 581 486 794
+ -10000 571 951 26 248 329 423 388 965 91
+ -10000 616 951 146 333 395 803 643 962 748
+ -10000 41 824 902 880 978 151 126 883 32
+ -10000 230 505 800 123 203 909 813 946 320
+ -10000 864 615 809 678 209 364 848 518 909
+ -10000 620 528 595 684 184 83 263 931 60
+ -10000 827 562 24 676 881 661 275 877 93
+ -10000 992 842 68 687 58 706 193 383 914
+ -10000 411 592 25 689 578 276 556 685 529
+ -10000 738 744 136 571 855 439 817 123 284
+ -10000 959 79 226 240 541 378 771 833 77
+ -10000 450 29 776 691 1 189 287 594 865
+ -10000 697 873 165 943 915 166 66 622 856
+ -10000 333 774 595 916 135 76 742 194 554
+ -10000 479 990 601 790 873 498 478 572 800
+ -10000 174 925 4 427 482 198 895 969 292
+ -10000 490 523 418 168 208 468 497 746 996
+ -10000 77 779 486 579 868 982 817 422 827
+ -10000 902 874 287 593 935 864 959 446 138
+ -10000 212 842 767 897 357 421 165 394 66
+ -10000 181 300 594 707 205 231 348 766 277
+ -10000 932 46 779 841 292 790 143 310 449
+ -10000 178 48 413 510 978 759 410 676 542
+ -10000 957 621 494 536 107 642 214 767 879
+ -10000 478 48 499 426 16 782 946 18 222
+ -10000 178 887 566 108 910 170 659 295 39
+ -10000 123 325 567 524 612 550 515 514 109
+ -10000 582 351 959 432 367 883 671 89 290
+ -10000 388 131 264 10 323 249 933 7 282
+ -10000 840 899 785 735 965 345 529 92 465
+ -10000 577 522 868 761 51 295 887 161 436
+ -10000 417 324 722 697 647 989 801 252 761
+ -10000 493 618 918 286 801 947 193 386 103
+ -10000 809 825 393 233 503 980 786 911 921
+ -10000 167 633 704 766 168 725 708 507 510
+ -10000 340 335 562 640 822 205 917 17 655
+ -10000 748 770 529 16 43 882 923 836 674
+ -10000 83 847 429 983 886 969 298 278 412
+ -10000 291 537 213 792 314 188 303 932 826
+ -10000 37 285 190 340 121 342 794 67 848
+ -10000 163 185 883 495 495 617 604 103 617
+ -10000 95 565 74 400 661 286 820 313 245
+ -10000 763 54 387 795 643 381 904 935 238
+ -10000 47 608 947 15 267 449 109 948 929
+ -10000 113 697 677 990 570 288 870 600 703
+ -10000 734 182 911 224 727 278 633 197 325
+ -10000 823 614 197 467 961 249 389 276 345
+ -10000 526 591 783 933 517 796 197 311 765
+ -10000 213 188 916 771 303 661 676 705 862
+ -10000 658 202 321 646 711 159 6 785 842
+ -10000 746 195 39 262 103 435 489 182 466
+ -10000 868 619 775 354 211 675 303 821 282
+ -10000 966 522 376 275 908 868 288 800 201
+ -10000 111 119 564 716 160 884 489 441 598
+ -10000 905 265 367 554 436 547 412 302 53
+ -10000 190 453 516 956 706 100 226 279 607
+ -10000 145 695 55 21 142 830 867 293 979
+ -10000 361 314 512 887 429 839 110 132 583
+ -10000 406 607 21 761 949 705 766 252 941
+ -10000 11 742 445 420 495 259 533 38 423
+ -10000 475 891 809 970 687 475 958 922 956
+ -10000 850 463 303 927 755 674 944 390 116
+ -10000 113 594 514 631 500 697 622 151 568
+ -10000 833 187 746 814 31 645 847 230 382
+ -10000 755 214 541 14 777 976 656 900 116
+ -10000 831 559 588 968 103 953 716 287 521
+ -10000 98 456 4 635 874 270 394 361 880
+ -10000 561 634 465 616 808 777 568 991 38
+ -10000 947 392 804 65 917 782 436 179 672
+ -10000 409 589 136 448 586 177 806 503 12
+ -10000 383 272 639 137 669 459 933 670 508
+ -10000 813 121 539 504 753 363 432 197 145
+ -10000 883 154 325 665 642 340 130 320 734
+ -10000 515 584 354 119 738 949 122 664 711
+ -10000 518 123 556 128 863 0 527 539 486
+ -10000 842 383 107 200 821 837 116 414 239
+ -10000 94 991 662 264 880 183 647 112 898
+ -10000 450 732 848 734 203 709 131 747 488
+ -10000 210 211 183 282 350 479 889 936 700
+ -10000 491 645 569 905 106 94 756 825 132
+ -10000 240 251 519 944 908 605 977 166 804
+ -10000 510 75 756 79 735 169 479 688 415
+ -10000 312 111 131 815 393 533 873 227 249
+ -10000 8 9 712 648 250 682 508 63 765
+ -10000 583 481 218 813 434 88 799 494 297
+ -10000 37 894 273 627 2 490 47 363 949
+ -10000 956 398 996 642 357 124 657 69 478
+ -10000 124 356 417 63 822 801 886 728 584
+ -10000 543 97 906 928 993 108 995 534 948
+ -10000 693 977 941 690 171 735 847 465 25
+ -10000 737 785 589 53 499 323 280 329 841
+ -10000 37 231 128 247 372 619 589 547 665
+ -10000 63 921 667 101 289 898 972 381 95
+ -10000 704 203 984 720 359 868 195 990 66
+ -10000 810 16 703 830 591 154 541 621 271
+ -10000 858 183 229 106 945 236 176 401 428
+ -10000 573 811 623 327 937 135 613 150 569
+ -10000 165 466 322 735 481 928 22 451 719
+ -10000 648 588 394 421 595 101 41 737 247
+ -10000 931 825 303 319 775 94 785 67 195
+ -10000 786 155 313 95 688 292 250 642 760
+ -10000 344 825 417 572 143 912 174 877 676
+ -10000 95 904 536 785 936 699 735 760 45
+ -10000 238 221 708 668 830 927 926 888 866
+ -10000 694 323 368 846 677 896 571 424 536
+ -10000 388 628 856 61 898 695 674 669 139
+ -10000 16 954 922 309 991 684 476 381 144
+ -10000 540 603 651 337 564 196 234 330 500
+ -10000 183 180 470 171 611 523 97 315 896
+ -10000 518 626 85 379 402 394 295 487 145
+ -10000 853 671 82 370 11 857 837 733 367
+ -10000 40 401 555 967 106 386 605 377 433
+ -10000 985 670 222 468 349 193 433 734 147
+ -10000 624 979 649 417 40 414 91 378 914
+ -10000 682 113 40 142 573 429 304 450 481
+ -10000 560 395 188 384 355 181 995 522 816
+ -10000 937 47 759 96 531 699 558 209 380
+ -10000 725 397 565 953 564 459 475 545 202
+ -10000 211 851 491 352 619 294 603 533 918
+ -10000 18 469 678 617 981 478 516 805 756
+ -10000 683 277 952 679 493 264 723 97 744
+ -10000 71 207 929 118 216 705 704 364 403
+ -10000 485 103 797 428 631 49 161 367 782
+ -10000 493 264 979 893 168 764 652 839 296
+ -10000 35 225 75 388 165 75 322 190 735
+ -10000 396 901 82 317 883 840 610 874 686
+ -10000 525 637 845 379 872 295 81 950 627
+ -10000 40 585 632 537 820 12 783 901 824
+ -10000 558 943 354 202 495 206 56 319 984
+ -10000 690 394 32 30 624 194 521 536 839
+ -10000 474 26 999 665 59 687 732 80 112
+ -10000 952 867 645 243 872 404 288 296 695
+ -10000 746 436 583 842 681 725 621 471 640
+ -10000 481 779 578 310 261 218 709 445 61
+ -10000 576 722 985 199 331 288 55 405 427
+ -10000 532 921 64 857 836 726 175 408 222
+ -10000 877 361 181 530 413 197 206 730 906
+ -10000 261 298 614 165 869 329 197 596 454
+ -10000 896 128 279 941 42 343 121 422 72
+ -10000 863 980 434 983 935 979 234 878 188
+ -10000 220 467 535 890 757 62 837 280 68
+ -10000 509 843 148 941 625 825 718 669 245
+ -10000 567 107 644 711 760 206 868 935 5
+ -10000 610 19 778 277 289 808 315 992 789
+ -10000 705 938 413 590 39 93 305 856 683
+ -10000 525 337 14 971 264 832 546 948 620
+ -10000 400 848 470 673 257 860 62 565 929
+ -10000 292 312 731 253 252 687 442 822 963
+ -10000 394 556 100 510 790 588 470 80 730
+ -10000 343 742 252 607 125 34 654 300 906
+ -10000 397 181 892 179 15 14 864 855 700
+ -10000 597 705 934 599 553 403 667 357 294
+ -10000 112 552 631 35 34 789 219 876 446
+ -10000 382 256 850 999 799 130 53 365 287
+ -10000 866 724 256 756 628 444 357 214 510
+ -10000 437 892 120 251 589 31 380 363 753
+ -10000 428 583 116 967 195 412 202 928 823
+ -10000 695 801 392 767 204 348 978 109 119
+ -10000 964 457 266 217 735 521 145 52 251
+ -10000 394 58 568 151 6 998 743 400 649
+ -10000 927 300 771 844 131 504 443 742 799
+ -10000 888 346 0 434 126 268 491 902 741
+ -10000 390 757 98 610 769 340 11 374 581
+ -10000 281 874 904 346 712 487 406 570 261
+ -10000 462 217 603 885 64 927 339 379 550
+ -10000 257 831 629 225 798 680 178 99 984
+ -10000 437 553 600 143 466 763 776 274 868
+ -10000 305 710 512 321 338 538 618 183 584
+ -10000 246 783 89 675 509 624 472 397 189
+ -10000 216 732 199 144 773 120 952 939 804
+ -10000 257 5 127 781 499 807 298 16 594
+ -10000 827 451 850 609 835 27 662 12 388
+ -10000 439 587 516 443 465 473 945 163 252
+ -10000 769 967 96 734 709 717 457 627 200
+ -10000 254 791 391 820 875 197 151 33 428
+ -10000 480 434 739 150 821 341 231 297 237
+ -10000 815 322 776 90 926 198 627 755 736
+ -10000 584 732 21 968 888 134 80 333 281
+ -10000 929 806 659 918 906 716 962 131 275
+ -10000 440 762 20 100 132 176 65 433 126
+ -10000 549 877 120 211 957 871 594 778 781
+ -10000 217 575 994 659 813 376 240 788 831
+ -10000 703 413 9 11 806 88 898 590 236
+ -10000 119 131 355 767 374 311 972 77 145
+ -10000 224 633 155 842 543 709 187 916 359
+ -10000 213 147 781 621 689 548 351 849 333
+ -10000 868 891 805 682 167 842 280 564 617
+ -10000 464 868 834 612 733 224 587 654 5
+ -10000 743 688 336 748 795 776 960 397 82
+ -10000 213 375 169 581 739 306 314 299 738
+ -10000 604 14 449 747 37 78 170 1000 154
+ -10000 467 186 426 841 939 751 430 655 829
+ -10000 670 490 444 610 60 428 455 289 227
+ -10000 16 790 973 680 357 439 748 62 369
+ -10000 54 157 439 726 69 220 272 374 152
+ -10000 422 805 338 741 373 279 240 866 845
+ -10000 415 256 589 650 853 280 422 304 502
+ -10000 885 586 186 583 456 343 197 266 30
+ -10000 136 688 462 773 557 193 932 571 737
+ -10000 395 615 799 15 130 747 845 793 855
+ -10000 392 257 262 773 468 780 339 50 579
+ -10000 109 530 647 557 648 182 40 965 802
+ -10000 48 407 261 743 305 296 377 125 568
+ -10000 223 730 755 82 11 103 908 917 958
+ -10000 609 121 537 772 348 891 346 36 748
+ -10000 178 285 764 849 646 871 726 541 959
+ -10000 351 145 383 987 481 654 703 677 293
+ -10000 86 114 475 745 163 52 614 937 281
+ -10000 883 627 78 906 490 866 38 189 477
+ -10000 946 588 994 720 857 880 397 937 800
+ -10000 122 14 239 924 752 43 971 173 288
+ -10000 774 280 203 377 341 544 234 982 525
+ -10000 459 34 993 203 694 817 143 436 193
+ -10000 517 389 292 713 216 799 116 11 834
+ -10000 544 485 502 33 22 164 318 210 164
+ -10000 620 42 888 723 434 783 980 813 100
+ -10000 876 457 963 548 99 135 485 109 252
+ -10000 379 750 405 812 502 339 278 40 803
+ -10000 396 74 744 387 533 803 879 884 229
+ -10000 562 243 624 489 996 680 621 160 800
+ -10000 326 8 436 249 153 570 716 868 463
+ -10000 100 179 897 498 365 162 720 271 66
+ -10000 460 311 649 525 172 59 368 325 953
+ -10000 272 15 511 31 966 606 612 336 824
+ -10000 934 822 29 14 652 294 239 607 17
+ -10000 489 418 850 728 840 532 261 998 274
+ -10000 661 452 682 17 153 641 751 62 933
+ -10000 412 774 672 75 540 872 47 767 479
+ -10000 240 846 221 718 595 252 280 959 424
+ -10000 110 43 641 565 94 720 845 146 87
+ -10000 357 953 496 469 905 425 404 654 559
+ -10000 103 126 137 500 780 510 983 41 403
+ -10000 820 609 24 471 258 734 243 469 111
+ -10000 713 520 527 426 306 784 32 477 907
+ -10000 752 762 250 275 632 950 193 484 8
+ -10000 999 373 542 185 367 431 588 236 219
+ -10000 344 807 948 519 864 606 812 746 772
+ -10000 774 693 210 601 583 312 272 436 933
+ -10000 449 751 834 727 859 626 1 357 795
+ -10000 400 375 869 64 483 924 498 849 578
+ -10000 12 810 935 126 990 298 193 453 852
+ -10000 671 796 480 765 963 851 353 4 923
+ -10000 753 275 140 273 255 424 594 870 270
+ -10000 528 249 270 238 140 458 163 247 770
+ -10000 27 900 594 954 677 851 487 726 92
+ -10000 567 832 807 147 152 81 629 750 306
+ -10000 491 420 252 133 615 665 584 962 586
+ -10000 668 196 702 915 949 243 14 875 796
+ -10000 459 116 955 379 940 405 125 194 359
+ -10000 539 778 490 862 628 970 361 631 351
+ -10000 821 210 601 207 92 662 255 176 558
+ -10000 635 463 390 552 166 820 295 106 416
+ -10000 751 859 343 382 687 663 509 143 688
+ -10000 970 375 521 30 188 830 210 247 95
+ -10000 81 194 347 645 687 711 176 99 727
+ -10000 668 748 282 925 521 122 591 580 488
+ -10000 399 902 98 726 430 573 788 566 692
+ -10000 253 79 449 693 323 908 776 912 90
+ -10000 487 90 882 264 57 761 148 576 111
+ -10000 754 359 544 463 290 891 310 941 43
+ -10000 799 743 335 824 615 916 240 590 638
+ -10000 527 499 228 198 35 237 425 166 52
+ -10000 867 638 782 78 35 839 229 36 394
+ -10000 958 270 586 800 79 140 242 819 133
+ -10000 809 197 856 572 383 400 775 658 598
+ -10000 573 303 565 691 786 729 31 124 41
+ -10000 934 582 128 291 805 59 427 363 84
+ -10000 634 164 759 855 339 80 93 153 722
+ -10000 414 534 181 244 695 135 576 983 625
+ -10000 746 548 961 80 512 222 1000 182 70
+ -10000 985 412 111 20 513 247 62 31 210
+ -10000 476 686 576 888 862 782 454 437 320
+ -10000 463 674 803 69 526 544 732 614 30
+ -10000 595 471 495 795 532 915 341 319 552
+ -10000 746 925 995 323 30 284 110 315 59
+ -10000 163 515 438 64 185 432 842 165 388
+ -10000 622 497 718 155 568 242 839 472 758
+ -10000 537 705 660 567 211 539 970 697 175
+ -10000 889 777 227 425 687 238 999 625 448
+ -10000 368 816 123 635 288 273 626 491 713
+ -10000 522 167 879 24 454 390 347 682 830
+ -10000 507 100 28 597 992 201 901 536 550
+ -10000 976 459 988 13 58 599 668 290 730
+ -10000 742 197 948 315 570 672 268 251 981
+ -10000 983 397 759 974 275 148 532 803 706
+ -10000 589 828 144 536 87 66 576 365 40
+ -10000 101 356 180 664 283 815 187 547 22
+ -10000 357 120 974 256 955 14 515 367 973
+ -10000 593 730 687 638 765 509 557 502 689
+ -10000 412 396 982 464 331 10 952 784 678
+ -10000 36 606 700 781 974 894 392 826 414
+ -10000 414 55 678 552 618 427 976 280 333
+ -10000 345 550 611 238 391 737 93 601 691
+ -10000 882 952 720 904 208 97 17 217 811
+ -10000 968 189 935 983 250 350 598 387 76
+ -10000 569 227 738 785 978 176 751 930 724
+ -10000 794 537 771 413 191 848 750 396 456
+ -10000 391 16 641 64 899 286 916 19 45
+ -10000 76 225 465 549 614 693 604 808 500
+ -10000 766 971 417 802 830 586 660 314 168
+ -10000 433 39 588 662 299 389 99 593 143
+ -10000 511 674 694 913 890 937 275 495 475
+ -10000 549 709 120 693 343 878 365 192 734
+ -10000 666 671 789 218 226 538 517 880 856
+ -10000 958 868 987 445 427 806 688 275 649
+ -10000 398 504 517 276 666 474 909 437 125
+ -10000 802 454 40 656 156 825 334 689 268
+ -10000 915 459 7 772 47 825 174 516 301
+ -10000 526 316 622 967 113 416 948 655 4
+ -10000 752 966 891 350 138 641 485 631 452
+ -10000 998 649 310 248 116 688 20 136 543
+ -10000 290 349 943 951 908 608 757 664 798
+ -10000 767 82 327 399 569 356 783 309 588
+ -10000 252 432 478 308 363 881 423 756 435
+ -10000 921 65 741 451 870 329 529 538 336
+ -10000 406 271 957 448 66 348 353 819 774
+ -10000 904 938 920 935 954 585 442 650 240
+ -10000 572 389 404 908 787 476 833 227 892
+ -10000 379 644 630 985 819 928 768 738 921
+ -10000 198 335 44 298 390 842 687 834 512
+ -10000 816 532 986 729 180 573 920 596 221
+ -10000 223 907 574 847 613 201 914 438 981
+ -10000 658 138 882 346 558 198 183 639 721
+ -10000 276 131 642 145 601 417 145 834 537
+ -10000 741 405 264 697 318 408 476 239 666
+ -10000 76 6 661 88 936 347 927 35 951
+ -10000 808 969 344 718 766 650 236 910 666
+ -10000 775 23 651 790 196 550 409 954 78
+ -10000 435 917 940 106 806 991 68 308 497
+ -10000 94 952 480 725 683 570 479 120 842
+ -10000 127 585 365 652 385 833 404 398 734
+ -10000 185 885 445 654 586 708 368 901 417
+ -10000 861 214 601 641 289 884 927 649 8
+ -10000 880 119 315 568 398 326 693 864 94
+ -10000 889 65 229 724 855 341 234 487 23
+ -10000 24 800 854 215 898 329 567 580 687
+ -10000 445 814 254 570 795 441 941 195 187
+ -10000 606 630 250 592 691 467 758 831 545
+ -10000 847 510 291 628 938 782 925 14 44
+ -10000 552 928 815 50 72 840 841 615 727
+ -10000 417 72 409 390 214 642 647 99 422
+ -10000 381 487 312 101 595 11 367 866 63
+ -10000 162 524 468 646 698 972 573 587 818
+ -10000 778 400 485 845 558 518 337 550 532
+ -10000 741 418 357 883 675 175 361 969 93
+ -10000 589 332 832 131 668 8 920 516 507
+ -10000 180 500 162 391 739 723 167 458 123
+ -10000 377 665 161 465 981 186 899 878 541
+ -10000 861 949 527 783 292 305 51 644 240
+ -10000 758 925 712 813 546 817 80 591 865
+ -10000 619 59 642 164 376 832 891 897 347
+ -10000 895 129 419 406 797 938 564 270 877
+ -10000 594 379 30 893 46 80 642 493 37
+ -10000 480 924 818 420 1 615 942 925 859
+ -10000 474 531 398 275 383 298 759 307 447
+ -10000 998 10 540 511 233 642 457 113 760
+ -10000 621 220 285 470 565 467 870 908 420
+ -10000 859 43 132 864 75 879 231 512 286
+ -10000 380 421 626 285 883 273 335 272 687
+ -10000 567 459 538 685 374 490 34 315 566
+ -10000 167 541 997 299 575 898 547 554 758
+ -10000 384 555 963 456 951 539 290 921 579
+ -10000 188 328 708 668 599 546 43 941 490
+ -10000 839 154 164 813 510 290 454 869 481
+ -10000 931 795 570 896 503 600 518 997 56
+ -10000 268 708 814 982 184 346 620 313 341
+ -10000 285 442 342 939 327 307 840 27 202
+ -10000 833 387 343 502 493 447 19 787 471
+ -10000 339 851 910 845 886 653 285 287 972
+ -10000 208 810 864 279 398 296 436 366 558
+ -10000 271 274 605 131 453 737 5 542 691
+ -10000 310 612 541 436 141 836 55 242 967
+ -10000 889 326 27 584 998 34 686 786 516
+ -10000 59 846 583 890 16 120 653 250 401
+ -10000 644 877 894 267 1000 202 805 603 755
+ -10000 471 727 231 74 384 739 310 532 862
+ -10000 146 266 251 80 388 494 715 707 580
+ -10000 796 134 547 738 986 502 917 578 182
+ -10000 124 388 780 169 724 424 615 983 63
+ -10000 869 894 222 345 792 989 718 723 944
+ -10000 736 434 198 429 16 939 88 518 429
+ -10000 69 596 395 835 780 1 25 439 950
+ -10000 299 140 7 987 122 83 923 93 383
+ -10000 304 705 247 161 679 862 139 503 301
+ -10000 228 116 393 107 888 431 406 64 660
+ -10000 750 605 149 609 246 231 851 377 327
+ -10000 834 924 685 37 415 42 510 277 783
+ -10000 80 342 631 452 593 347 322 477 190
+ -10000 466 133 199 603 455 916 530 854 656
+ -10000 511 287 370 566 331 739 546 383 477
+ -10000 452 528 860 912 127 291 621 369 819
+ -10000 402 560 457 805 924 309 838 284 781
+ -10000 961 79 802 484 622 483 776 758 740
+ -10000 497 428 814 126 49 617 453 688 180
+ -10000 206 38 908 891 581 816 822 945 938
+ -10000 898 492 503 215 39 474 999 400 218
+ -10000 102 52 929 295 863 984 108 17 969
+ -10000 868 488 785 624 240 558 340 714 163
+ -10000 175 883 137 7 886 981 196 842 619
+ -10000 907 212 223 928 714 28 755 523 711
+ -10000 208 401 721 896 182 799 601 1000 482
+ -10000 421 779 371 960 424 829 646 135 757
+ -10000 692 83 995 213 317 426 236 295 665
+ -10000 650 429 22 1000 981 636 188 333 477
+ -10000 689 31 580 241 54 483 278 229 876
+ -10000 337 915 826 319 994 282 534 98 321
+ -10000 477 194 244 917 745 28 329 275 230
+ -10000 404 242 817 242 66 851 225 767 578
+ -10000 531 874 376 682 719 494 82 726 507
+ -10000 67 398 236 883 932 672 715 406 652
+ -10000 587 820 204 276 728 684 200 340 522
+ -10000 559 247 264 603 825 402 469 42 727
+ -10000 185 863 945 10 316 818 675 612 65
+ -10000 966 959 866 331 367 479 768 839 362
+ -10000 434 198 53 8 140 465 456 553 884
+ -10000 440 108 72 991 315 328 561 823 556
+ -10000 936 815 419 267 454 941 669 646 527
+ -10000 826 644 470 683 561 876 611 465 175
+ -10000 240 159 332 257 226 54 674 841 453
+ -10000 873 860 328 927 674 314 68 818 624
+ -10000 912 56 687 366 538 601 629 790 921
+ -10000 400 808 145 687 561 129 640 230 337
+ -10000 16 425 971 288 801 549 594 178 276
+ -10000 653 507 1 400 483 165 946 976 711
+ -10000 940 46 680 308 986 196 190 699 170
+ -10000 134 88 914 759 172 453 846 535 104
+ -10000 664 383 534 78 121 709 955 216 90
+ -10000 618 145 473 263 386 413 237 832 22
+ -10000 300 653 26 554 897 15 468 868 200
+ -10000 23 974 527 740 713 607 531 781 974
+ -10000 150 37 209 65 500 960 784 732 86
+ -10000 837 280 376 115 797 365 498 37 444
+ -10000 156 113 992 814 942 772 922 245 354
+ -10000 925 427 632 861 870 848 935 766 198
+ -10000 809 739 8 766 990 741 741 453 269
+ -10000 115 1000 560 276 90 599 73 358 941
+ -10000 340 439 634 139 822 793 793 720 626
+ -10000 158 270 79 78 652 967 667 879 596
+ -10000 232 881 403 482 573 253 605 540 107
+ -10000 146 395 412 486 821 279 406 637 698
+ -10000 287 332 14 602 974 441 477 453 489
+ -10000 993 147 738 928 896 745 150 452 952
+ -10000 8 110 273 738 809 146 646 844 161
+ -10000 352 241 877 598 940 920 966 441 862
+ -10000 91 548 2 819 297 191 539 659 253
+ -10000 59 794 451 815 32 162 633 82 402
+ -10000 573 771 881 943 287 533 929 345 0
+ -10000 851 923 44 94 520 897 751 365 566
+ -10000 16 9 299 350 199 389 803 418 542
+ -10000 966 508 907 66 4 909 967 393 108
+ -10000 662 378 156 404 163 183 952 134 719
+ -10000 877 212 200 428 935 169 798 183 249
+ -10000 128 437 583 185 447 525 112 964 917
+ -10000 118 830 3 253 778 478 127 99 836
+ -10000 531 403 729 952 429 808 981 594 119
+ -10000 85 636 229 425 775 61 259 278 260
+ -10000 74 421 110 574 789 881 762 382 551
+ -10000 223 447 297 292 977 781 262 801 655
+ -10000 818 565 311 454 236 208 432 646 808
+ -10000 171 207 622 894 678 868 251 655 752
+ -10000 984 558 988 541 527 832 832 929 123
+ -10000 998 833 946 180 904 364 786 3 720
+ -10000 266 641 546 783 605 830 927 965 954
+ -10000 58 680 148 224 133 213 439 43 173
+ -10000 752 791 180 535 646 620 197 783 759
+ -10000 554 180 279 985 752 911 695 659 475
+ -10000 548 887 350 836 394 727 178 110 652
+ -10000 167 240 370 647 888 929 771 252 504
+ -10000 591 884 983 352 510 233 443 773 427
+ -10000 383 786 467 772 272 107 934 905 772
+ -10000 254 184 337 458 517 835 245 488 953
+ -10000 112 408 653 718 637 605 712 609 632
+ -10000 272 579 914 220 853 898 66 710 605
+ -10000 75 632 354 628 493 412 905 561 963
+ -10000 843 40 979 735 560 682 900 961 37
+ -10000 307 165 565 464 771 808 556 678 403
+ -10000 110 339 764 991 149 463 803 618 561
+ -10000 810 728 563 643 35 810 101 618 976
+ -10000 39 550 816 727 956 760 552 4 899
+ -10000 549 504 87 209 953 210 547 802 411
+ -10000 998 81 450 250 564 402 574 717 72
+ -10000 582 581 360 720 100 84 578 140 916
+ -10000 912 804 57 793 728 362 580 760 234
+ -10000 440 514 351 224 298 313 767 396 171
+ -10000 752 568 949 641 41 535 772 468 882
+ -10000 103 733 25 376 220 296 778 572 787
+ -10000 989 288 369 903 3 913 662 594 492
+ -10000 382 818 353 130 747 846 215 688 488
+ -10000 490 718 108 619 380 676 926 277 919
+ -10000 155 641 916 440 965 249 581 598 290
+ -10000 770 632 809 466 25 381 160 659 413
+ -10000 504 235 342 508 126 753 276 516 729
+ -10000 76 123 781 280 592 413 660 737 574
+ -10000 445 960 720 500 650 475 472 407 195
+ -10000 185 963 432 294 861 880 795 413 33
+ -10000 853 726 732 258 270 245 994 99 556
+ -10000 98 391 901 531 862 165 152 215 641
+ -10000 990 309 553 178 481 730 784 371 334
+ -10000 991 399 878 315 610 656 673 756 806
+ -10000 40 843 444 647 182 293 805 486 159
+ -10000 344 235 574 657 937 539 288 368 714
+ -10000 336 418 337 158 600 555 371 335 550
+ -10000 494 819 549 113 526 886 399 746 558
+ -10000 872 730 19 385 40 563 156 65 707
+ -10000 188 706 976 762 282 510 935 614 159
+ -10000 976 876 543 655 804 210 504 113 30
+ -10000 840 235 467 603 349 5 64 74 742
+ -10000 638 535 609 561 178 249 53 286 703
+ -10000 815 169 465 127 908 811 504 293 402
+ -10000 520 852 148 399 791 24 189 738 382
+ -10000 312 383 960 73 2 11 73 291 39
+ -10000 393 745 661 917 737 209 252 578 16
+ -10000 179 566 682 636 382 760 665 723 21
+ -10000 313 950 267 67 217 454 570 531 302
+ -10000 338 505 852 202 266 130 951 544 951
+ -10000 65 33 39 118 223 372 148 885 579
+ -10000 572 897 929 468 25 13 934 861 828
+ -10000 567 122 447 82 211 11 515 384 469
+ -10000 156 61 662 368 50 244 984 382 144
+ -10000 690 698 121 160 502 140 95 403 608
+ -10000 156 296 153 865 573 115 272 318 775
+ -10000 787 962 423 70 484 973 596 885 624
+ -10000 848 477 441 718 195 210 439 836 75
+ -10000 97 942 491 734 789 758 83 907 502
+ -10000 38 621 220 21 704 896 187 674 543
+ -10000 938 642 755 860 944 811 874 552 277
+ -10000 273 117 856 961 392 624 403 344 294
+ -10000 345 578 163 996 599 217 41 609 94
+ -10000 765 718 611 357 762 146 666 301 171
+ -10000 447 549 777 134 74 243 594 375 678
+ -10000 372 923 914 251 632 574 884 794 498
+ -10000 505 653 928 347 81 897 235 995 53
+ -10000 658 519 130 56 693 980 542 641 146
+ -10000 187 660 193 152 296 553 791 174 858
+ -10000 606 342 76 562 13 54 299 94 871
+ -10000 148 964 838 781 402 424 909 163 714
+ -10000 273 269 257 987 653 389 559 987 922
+ -10000 126 57 607 144 62 831 559 645 727
+ -10000 524 785 40 833 389 607 398 653 711
+ -10000 713 330 133 403 797 892 116 716 816
+ -10000 170 578 498 366 833 18 455 954 35
+ -10000 959 101 690 441 177 875 997 819 528
+ -10000 476 272 329 230 130 761 776 740 659
+ -10000 86 692 999 953 842 918 324 675 152
+ -10000 88 534 101 20 333 87 222 772 137
+ -10000 572 688 910 999 950 152 913 615 57
+ -10000 445 706 129 638 351 111 300 398 212
+ -10000 100 575 989 68 704 437 819 781 267
+ -10000 605 335 584 247 568 117 389 544 993
+ -10000 947 688 349 173 299 445 799 427 387
+ -10000 27 168 222 349 561 338 517 317 601
+ -10000 0 457 437 766 989 174 336 229 989
+ -10000 508 290 260 339 716 649 618 975 156
+ -10000 199 856 80 897 37 529 185 774 424
+ -10000 463 77 778 968 846 453 794 912 189
+ -10000 207 264 461 592 638 798 528 163 775
+ -10000 103 96 966 98 701 951 494 896 557
+ -10000 511 464 39 194 932 16 668 773 449
+ -10000 502 685 411 226 789 732 231 250 930
+ -10000 817 861 945 130 46 111 308 750 136
+ -10000 164 38 925 795 603 75 843 954 676
+ -10000 917 480 119 9 633 854 983 918 944
+ -10000 774 949 697 536 849 62 625 93 722
+ -10000 486 52 502 593 395 407 897 248 488
+ -10000 125 224 981 399 525 980 573 952 469
+ -10000 571 778 313 132 106 952 920 200 396
+ -10000 541 468 732 72 238 454 785 89 373
+ -10000 512 177 898 972 867 614 673 285 289
+ -10000 539 361 732 429 891 252 333 946 816
+ -10000 878 582 694 77 420 810 977 917 397
+ -10000 575 4 226 140 809 892 694 389 226
+ -10000 746 376 108 970 796 847 558 190 713
+ -10000 750 498 719 999 960 264 694 22 875
+ -10000 429 568 444 591 920 654 849 534 713
+ -10000 629 64 335 290 577 874 716 110 147
+ -10000 177 237 560 208 772 514 65 228 744
+ -10000 716 521 519 763 322 475 238 44 633
+ -10000 306 263 33 318 666 159 40 526 196
+ -10000 200 856 16 879 639 774 330 459 590
+ -10000 47 717 457 878 818 134 951 203 425
+ -10000 331 21 369 404 993 539 84 75 388
+ -10000 144 344 658 676 497 715 243 437 510
+ -10000 750 280 750 72 681 956 608 913 851
+ -10000 771 121 668 901 619 570 148 436 534
+ -10000 515 59 909 845 241 810 863 251 255
+ -10000 320 305 923 858 663 413 143 604 685
+ -10000 253 16 543 128 302 712 595 467 543
+ -10000 5 296 109 400 731 943 381 468 405
+ -10000 421 441 140 70 505 333 886 474 226
+ -10000 666 94 789 284 606 964 138 249 969
+ -10000 308 780 777 452 866 718 914 779 908
+ -10000 12 353 112 441 624 684 984 306 875
+ -10000 246 847 300 470 487 691 562 621 945
+ -10000 924 528 595 186 793 118 342 710 343
+ -10000 431 123 240 216 565 167 175 679 935
+ -10000 63 888 313 455 540 719 158 182 991
+ -10000 424 757 156 688 24 499 285 435 342
+ -10000 347 955 891 12 311 375 950 417 402
+ -10000 954 755 553 449 924 42 469 202 632
+ -10000 377 665 215 631 805 332 928 588 224
+ -10000 223 609 75 159 386 591 115 312 611
+ -10000 353 318 106 900 731 148 367 83 613
+ -10000 207 675 636 16 440 659 209 751 34
+ -10000 486 343 969 775 190 142 727 469 830
+ -10000 209 469 590 161 168 952 723 459 869
+ -10000 390 878 203 277 968 430 917 641 152
+ -10000 856 762 614 120 44 823 796 938 741
+ -10000 989 428 960 730 496 403 314 910 871
+ -10000 588 217 351 66 338 929 860 567 256
+ -10000 619 679 921 296 890 610 924 624 889
+ -10000 417 869 103 549 321 121 277 709 118
+ -10000 564 573 239 194 869 865 491 284 157
+ -10000 696 868 35 209 849 435 811 238 943
+ -10000 908 471 764 81 663 332 928 305 652
+ -10000 626 843 550 229 91 251 137 217 489
+ -10000 373 872 407 816 341 485 349 758 613
+ -10000 302 118 113 28 188 357 823 237 418
+ -10000 470 757 520 977 482 203 348 798 174
+ -10000 320 962 306 959 736 434 678 618 531
+ -10000 128 214 829 560 279 727 879 777 96
+ -10000 916 81 404 652 645 24 61 565 458
+ -10000 819 356 372 755 113 297 963 697 248
+ -10000 903 672 547 773 593 251 0 422 732
+ -10000 904 370 859 932 258 607 173 456 276
+ -10000 734 100 41 474 51 815 238 526 303
+ -10000 839 273 372 822 345 130 220 379 4
+ -10000 735 629 402 494 550 470 730 109 439
+ -10000 162 850 423 159 707 119 545 267 172
+ -10000 838 296 987 80 628 963 738 71 891
+ -10000 841 838 584 242 36 293 537 293 267
+ -10000 795 916 352 270 18 313 430 369 129
+ -10000 313 494 891 135 432 385 377 73 155
+ -10000 28 724 261 402 756 361 919 514 922
+ -10000 522 981 993 282 145 764 567 216 29
+ -10000 791 731 797 797 722 314 47 741 417
+ -10000 767 676 684 178 460 891 746 776 447
+ -10000 431 424 277 456 184 949 199 67 741
+ -10000 455 121 915 12 355 807 145 742 527
+ -10000 945 592 337 504 80 474 453 291 210
+ -10000 68 156 967 789 138 454 993 474 458
+ -10000 5 539 789 910 977 848 388 830 220
+ -10000 77 92 627 357 370 555 377 42 149
+ -10000 134 433 516 118 745 313 223 594 58
+ -10000 533 793 523 441 315 254 852 762 343
+ -10000 560 321 37 17 770 188 585 900 978
+ -10000 829 293 903 346 500 344 466 458 472
+ -10000 423 837 12 356 629 987 141 364 505
+ -10000 574 663 713 846 258 613 840 464 439
+ -10000 840 446 44 693 60 896 779 628 837
+ -10000 266 502 908 812 533 704 904 694 506
+ -10000 301 496 482 61 91 913 723 945 632
+ -10000 677 802 166 318 411 911 792 271 16
+ -10000 356 218 190 21 352 541 947 240 863
+ -10000 470 298 314 76 756 889 734 986 236
+ -10000 412 95 710 168 95 847 126 137 60
+ -10000 926 381 530 70 651 637 67 603 224
+ -10000 886 913 607 743 398 185 441 808 232
+ -10000 807 451 846 608 617 447 319 327 449
+ -10000 611 111 886 106 728 707 877 99 383
+ -10000 553 165 597 706 932 193 807 438 871
+ -10000 43 177 193 580 927 950 764 376 394
+ -10000 221 229 206 355 563 640 564 523 538
+ -10000 409 199 477 340 937 224 352 371 813
+ -10000 44 578 940 468 48 663 500 970 874
+ -10000 502 643 656 537 9 745 601 753 207
+ -10000 198 748 274 671 208 967 638 541 218
+ -10000 850 643 320 662 867 37 776 207 430
+ -10000 647 735 69 314 930 48 654 870 691
+ -10000 71 522 172 19 578 39 626 116 59
+ -10000 392 235 370 154 652 542 396 284 672
+ -10000 290 176 451 308 697 991 590 396 101
+ -10000 120 779 195 121 358 691 939 593 586
+ -10000 495 176 177 877 536 548 351 859 273
+ -10000 475 507 434 80 631 749 991 832 77
+ -10000 785 534 535 902 792 973 715 406 445
+ -10000 231 800 102 266 461 84 360 148 397
+ -10000 869 365 436 480 305 956 818 152 731
+ -10000 655 571 155 342 557 333 318 787 404
+ -10000 825 88 753 454 975 6 501 92 804
+ -10000 746 747 798 170 628 802 56 360 381
+ -10000 252 247 336 485 135 804 476 822 858
+ -10000 410 988 656 767 318 183 68 715 829
+ -10000 298 287 640 195 540 214 255 492 550
+ -10000 978 306 825 767 28 719 976 288 869
+ -10000 357 278 539 584 846 483 692 346 967
+ -10000 346 434 675 184 60 764 510 760 726
+ -10000 118 320 860 154 343 483 461 727 707
+ -10000 49 701 318 862 729 65 391 305 376
+ -10000 115 932 920 57 164 5 895 689 367
+ -10000 198 642 804 702 709 471 496 491 805
+ -10000 140 62 549 946 558 769 120 518 69
+ -10000 470 526 897 10 95 919 87 475 77
+ -10000 325 961 415 344 357 575 112 639 978
+ -10000 123 86 416 801 636 265 377 194 296
+ -10000 367 319 430 618 246 889 3 764 784
+ -10000 831 55 843 386 179 901 691 588 706
+ -10000 346 458 542 169 454 78 556 75 702
+ -10000 351 24 480 737 380 984 345 748 215
+ -10000 754 346 43 948 623 854 878 153 355
+ -10000 721 345 715 542 769 489 574 665 151
+ -10000 12 767 893 453 384 712 40 29 619
+ -10000 505 0 827 906 272 239 614 180 958
+ -10000 371 743 747 626 822 548 954 322 185
+ -10000 312 568 725 929 279 673 455 402 870
+ -10000 47 355 779 255 612 810 360 144 628
+ -10000 760 80 469 891 731 242 269 816 68
+ -10000 407 860 596 368 118 949 453 592 468
+ -10000 232 863 236 473 384 601 428 492 889
+ -10000 793 66 66 642 469 429 526 554 905
+ -10000 598 148 448 25 156 656 408 337 107
+ -10000 288 198 541 750 274 692 252 535 374
+ -10000 655 78 410 505 553 674 901 335 33
+ -10000 820 811 158 207 607 686 195 824 363
+ -10000 138 505 800 710 495 756 256 819 65
+ -10000 258 538 194 273 407 322 646 531 764
+ -10000 131 750 351 152 188 841 201 629 201
+ -10000 998 843 193 208 357 677 151 574 451
+ -10000 328 813 288 859 639 723 885 580 594
+ -10000 77 151 55 20 80 675 329 218 19
+ -10000 20 799 260 464 193 29 715 276 544
+ -10000 372 270 438 664 452 633 859 308 879
+ -10000 539 962 951 486 948 450 834 963 974
+ -10000 559 819 95 368 965 392 430 389 646
+ -10000 684 778 778 454 544 499 447 694 940
+ -10000 50 981 64 376 201 108 688 375 611
+ -10000 717 592 26 803 917 103 168 1 88
+ -10000 394 834 249 527 51 264 307 709 680
+ -10000 706 149 235 182 886 369 428 776 753
+ -10000 418 416 977 989 790 854 261 64 865
+ -10000 485 680 222 926 896 196 60 62 902
+ -10000 718 311 959 525 203 943 921 737 629
+ -10000 977 797 125 376 993 479 164 230 264
+ -10000 291 627 759 584 173 59 946 456 297
+ -10000 943 663 767 314 95 967 279 258 219
+ -10000 201 293 861 14 467 619 136 294 7
+ -10000 37 190 860 947 251 114 1000 192 699
+ -10000 499 456 248 940 193 568 943 22 32
+ -10000 654 506 943 438 193 480 112 664 602
+ -10000 124 14 980 142 607 865 365 133 233
+ -10000 503 476 648 19 78 585 693 686 542
+ -10000 968 27 299 774 740 766 120 197 46
+ -10000 786 476 171 268 847 204 505 691 86
+ -10000 426 683 922 935 900 959 586 431 121
+ -10000 984 529 453 29 291 77 189 504 74
+ -10000 357 341 526 507 443 921 62 103 9
+ -10000 152 882 910 44 947 380 726 189 675
+ -10000 974 296 334 744 793 994 39 797 668
+ -10000 155 761 448 257 173 882 705 320 27
+ -10000 582 267 193 919 415 413 476 460 462
+ -10000 452 567 214 725 18 792 535 471 324
+ -10000 571 478 130 282 658 91 901 33 121
+ -10000 119 609 858 811 591 130 383 765 456
+ -10000 689 577 156 343 208 580 367 198 92
+ -10000 509 610 455 117 434 96 499 298 703
+ -10000 257 872 693 957 717 468 620 272 725
+ -10000 119 612 612 572 849 293 410 184 449
+ -10000 813 107 399 524 515 975 478 875 109
+ -10000 707 393 76 740 460 314 975 413 306
+ -10000 680 766 747 26 921 154 102 762 603
+ -10000 930 618 288 614 622 804 726 225 651
+ -10000 801 609 242 910 252 717 110 386 310
+ -10000 879 738 959 218 835 761 620 866 623
+ -10000 421 163 212 39 356 19 7 961 843
+ -10000 8 605 891 796 80 511 619 480 0
+ -10000 719 106 388 704 290 641 308 129 889
+ -10000 628 694 137 583 917 17 718 430 137
+ -10000 640 675 274 567 490 450 505 382 649
+ -10000 464 228 679 757 708 194 875 790 379
+ -10000 531 324 467 598 495 984 710 364 390
+ -10000 486 942 982 767 458 132 716 200 312
+ -10000 285 377 121 694 604 570 152 787 240
+ -10000 546 528 596 709 2 973 947 397 927
+ -10000 564 76 279 921 822 38 928 950 859
+ -10000 430 88 561 26 331 716 533 894 930
+ -10000 386 833 355 855 306 807 228 604 34
+ -10000 879 434 985 459 636 706 824 446 718
+ -10000 454 198 919 567 147 112 48 976 369
+ -10000 379 28 20 329 640 480 200 714 961
+ -10000 701 74 855 520 403 521 807 250 50
+ -10000 460 51 663 638 40 912 567 163 205
+ -10000 880 133 973 274 942 828 210 696 991
+ -10000 909 746 287 563 811 151 54 613 174
+ -10000 35 415 834 610 510 247 500 510 51
+ -10000 782 291 457 441 3 886 657 484 234
+ -10000 705 965 152 31 225 585 680 498 108
+ -10000 944 393 331 979 495 38 575 280 204
+ -10000 161 558 44 67 429 423 969 191 454
+ -10000 547 255 545 54 355 815 346 262 753
+ -10000 289 366 212 100 890 753 77 343 62
+ -10000 883 912 999 597 237 832 607 433 496
+ -10000 330 54 580 540 958 517 312 394 500
+ -10000 917 64 947 974 139 475 443 784 882
+ -10000 351 974 15 2 613 159 652 313 808
+ -10000 346 67 682 441 813 58 324 693 260
+ -10000 388 993 106 362 294 264 86 292 433
+ -10000 185 750 826 315 357 542 215 173 796
+ -10000 332 984 482 569 686 169 11 389 271
+ -10000 19 649 40 760 234 770 100 143 928
+ -10000 701 580 243 841 974 443 32 120 35
+ -10000 295 38 797 95 618 317 228 175 300
+ -10000 289 721 161 434 887 301 499 505 68
+ -10000 979 700 177 837 358 24 669 94 750
+ -10000 393 242 993 337 992 998 51 534 595
+ -10000 399 513 494 499 79 545 446 519 457
+ -10000 527 435 67 43 884 23 429 594 889
+ -10000 969 55 698 792 468 392 642 908 832
+ -10000 161 784 76 892 866 152 680 102 18
+ -10000 332 975 908 283 845 336 550 967 22
+ -10000 306 826 661 654 68 330 208 529 408
+ -10000 520 82 393 968 77 14 629 266 381
+ -10000 923 611 945 50 28 972 473 246 306
+ -10000 372 179 388 386 692 775 714 805 438
+ -10000 124 868 500 990 775 592 124 818 253
+ -10000 734 863 257 689 853 137 501 721 557
+ -10000 62 542 379 448 607 812 297 140 242
+ -10000 669 470 941 979 668 516 261 302 607
+ -10000 143 391 730 510 450 160 211 430 943
+ -10000 213 511 438 536 922 298 919 155 606
+ -10000 352 369 699 593 871 148 671 706 136
+ -10000 201 399 568 508 945 732 780 17 152
+ -10000 764 937 71 263 142 558 545 380 285
+ -10000 569 866 141 62 374 506 483 840 430
+ -10000 845 413 632 407 731 846 705 852 854
+ -10000 546 938 381 18 893 428 594 143 81
+ -10000 462 912 960 802 107 208 518 512 281
+ -10000 547 764 850 194 910 936 390 925 540
+ -10000 679 114 168 138 75 11 260 115 301
+ -10000 30 747 210 294 993 755 147 844 931
+ -10000 13 953 587 161 705 513 713 659 549
+ -10000 421 690 423 357 153 207 372 0 890
+ -10000 553 165 940 238 465 535 776 269 558
+ -10000 389 203 983 544 176 662 363 795 387
+ -10000 145 491 832 116 893 992 302 626 661
+ -10000 389 629 967 72 953 136 96 551 859
+ -10000 726 989 28 542 736 997 454 822 487
+ -10000 875 9 291 503 768 548 674 409 393
+ -10000 337 551 809 187 940 794 881 688 529
+ -10000 613 912 818 591 580 280 65 398 71
+ -10000 209 827 546 582 724 686 357 59 443
+ -10000 491 796 280 527 20 352 650 955 202
+ -10000 122 273 613 260 639 488 203 769 8
+ -10000 812 335 372 828 297 97 735 424 550
+ -10000 586 418 709 558 304 328 719 746 604
+ -10000 683 237 481 439 565 231 846 116 584
+ -10000 156 361 280 243 217 151 834 207 551
+ -10000 809 967 268 192 136 621 468 284 420
+ -10000 88 664 826 467 383 299 617 191 733
+ -10000 836 615 345 892 595 849 696 313 696
+ -10000 263 350 37 24 675 44 841 133 385
+ -10000 844 79 790 172 350 123 923 15 810
+ -10000 65 952 669 270 656 690 5 530 920
+ -10000 853 890 207 242 343 939 80 75 175
+ -10000 604 534 460 706 484 660 714 191 57
+ -10000 626 677 8 50 151 581 414 637 274
+ -10000 329 710 560 671 344 408 965 606 230
+ -10000 232 460 918 41 943 624 347 461 351
+ -10000 991 670 751 377 126 665 638 565 190
+ -10000 295 625 455 304 50 464 809 787 963
+ -10000 818 619 700 239 293 822 787 898 574
+ -10000 984 195 169 867 311 106 383 941 841
+ -10000 109 792 785 237 918 766 605 517 981
+ -10000 601 372 77 423 934 708 13 449 930
+ -10000 210 123 1000 7 286 127 637 53 452
+ -10000 449 79 851 458 662 633 737 629 720
+ -10000 555 15 895 849 883 680 266 372 225
+ -10000 201 732 250 744 145 293 278 549 809
+ -10000 167 530 820 242 409 571 597 632 642
+ -10000 10 822 711 369 61 763 887 580 78
+ -10000 10 407 874 623 849 506 454 944 637
+ -10000 491 107 1 225 596 272 263 637 153
+ -10000 833 478 308 617 562 633 451 214 142
+ -10000 347 459 5 751 731 912 870 525 626
+ -10000 98 365 99 33 588 655 779 164 207
+ -10000 646 924 528 623 802 688 467 991 926
+ -10000 483 544 717 491 711 348 379 484 267
+ -10000 28 473 644 889 872 506 889 745 656
+ -10000 519 660 282 750 36 487 37 20 720
+ -10000 169 190 380 699 809 557 633 18 867
+ -10000 14 360 6 492 499 689 629 536 646
+ -10000 253 40 482 875 402 485 757 695 539
+ -10000 478 109 308 46 156 59 292 831 452
+ -10000 825 989 555 735 572 607 444 107 873
+ -10000 382 797 813 611 554 629 787 843 106
+ -10000 736 418 144 173 51 413 153 907 123
+ -10000 403 648 946 586 41 483 333 66 504
+ -10000 378 683 258 320 314 907 437 674 801
+ -10000 974 348 867 671 366 317 479 212 422
+ -10000 545 80 656 800 124 107 717 119 327
+ -10000 639 340 672 954 596 175 334 519 459
+ -10000 870 436 265 442 5 490 726 660 945
+ -10000 174 822 848 310 315 720 78 642 843
+ -10000 187 301 673 392 173 89 426 378 807
+ -10000 121 195 622 159 359 486 655 458 980
+ -10000 863 167 951 470 919 565 350 782 37
+ -10000 842 301 524 241 55 848 363 853 489
+ -10000 23 249 861 109 198 409 652 504 604
+ -10000 890 210 851 299 381 456 383 615 665
+ -10000 983 166 155 275 615 165 720 913 305
+ -10000 996 626 492 598 358 499 181 721 630
+ -10000 619 909 11 901 38 816 877 460 463
+ -10000 337 70 788 776 625 853 95 990 605
+ -10000 815 487 175 31 148 415 850 670 666
+ -10000 179 338 133 843 526 684 998 80 176
+ -10000 47 610 451 289 459 327 181 948 888
+ -10000 824 461 910 776 348 745 215 650 816
+ -10000 259 139 586 602 248 900 239 614 121
+ -10000 180 501 2 763 264 324 825 41 155
+ -10000 891 599 114 291 740 669 924 491 893
+ -10000 362 655 320 68 916 735 732 329 441
+ -10000 697 273 808 989 862 507 279 103 845
+ -10000 968 55 361 193 389 495 968 441 20
+ -10000 357 526 388 706 100 252 253 541 949
+ -10000 46 472 381 822 377 944 516 280 243
+ -10000 682 354 748 225 533 997 876 523 387
+ -10000 848 932 834 42 489 702 674 358 154
+ -10000 311 211 835 372 796 49 297 446 453
+ -10000 529 994 631 216 716 297 617 831 285
+ -10000 305 376 704 786 143 417 434 193 866
+ -10000 503 887 209 140 901 912 242 142 757
+ -10000 208 712 302 586 118 149 872 585 181
+ -10000 645 860 470 291 907 612 465 266 547
+ -10000 84 996 964 363 9 14 823 389 987
+ -10000 273 813 914 222 735 195 464 196 854
+ -10000 81 354 536 385 523 661 244 535 955
+ -10000 86 942 180 303 290 697 55 751 805
+ -10000 975 321 835 236 58 537 553 65 48
+ -10000 151 391 840 116 94 407 547 582 214
+ -10000 745 69 246 544 135 395 947 711 739
+ -10000 605 75 116 672 448 636 800 380 347
+ -10000 526 245 583 937 956 888 10 692 137
+ -10000 714 500 326 233 84 94 444 380 486
+ -10000 47 3 607 365 2 107 591 181 271
+ -10000 643 143 231 536 747 991 286 157 290
+ -10000 331 120 39 501 476 601 904 78 804
+ -10000 862 233 637 641 988 755 187 636 69
+ -10000 894 429 901 12 463 447 951 337 976
+ -10000 113 695 749 825 268 827 639 75 251
+ -10000 353 429 426 478 830 311 620 407 596
+ -10000 851 27 826 822 64 13 891 153 282
+ -10000 525 863 595 429 71 945 186 692 927
+ -10000 920 463 673 223 312 876 616 289 861
+ -10000 737 38 540 687 442 807 775 254 767
+ -10000 849 329 413 396 714 387 183 399 980
+ -10000 118 76 946 389 617 752 982 720 963
+ -10000 692 86 870 131 594 209 546 776 465
+ -10000 95 66 537 491 405 314 74 509 791
+ -10000 233 157 590 767 921 800 100 636 366
+ -10000 814 961 650 994 767 826 107 474 537
+ -10000 885 441 774 135 634 217 624 154 836
+ -10000 732 23 3 516 455 272 371 425 241
+ -10000 798 38 781 729 826 304 713 642 646
+ -10000 482 803 647 157 450 175 826 931 860
+ -10000 711 320 47 925 985 931 424 854 688
+ -10000 599 398 317 739 833 955 245 736 124
+ -10000 484 908 425 311 610 654 976 874 889
+ -10000 189 870 348 825 911 623 722 15 875
+ -10000 196 344 316 31 55 647 845 509 179
+ -10000 931 615 987 234 77 847 567 593 23
+ -10000 308 240 47 106 951 433 936 931 399
+ -10000 542 122 467 343 907 770 233 385 430
+ -10000 763 527 502 325 608 1000 508 468 866
+ -10000 709 507 660 152 846 440 966 20 320
+ -10000 981 221 758 308 625 897 467 437 90
+ -10000 799 756 756 256 102 264 131 172 72
+ -10000 408 454 39 329 919 302 973 75 776
+ -10000 323 923 210 280 902 877 39 599 536
+ -10000 27 454 208 858 783 536 747 775 191
+ -10000 413 252 31 255 465 584 149 583 484
+ -10000 247 426 96 292 852 505 330 375 325
+ -10000 164 84 774 119 203 417 713 18 653
+ -10000 60 636 911 581 127 18 948 90 817
+ -10000 103 357 943 549 924 713 758 219 997
+ -10000 341 285 535 774 839 736 305 973 350
+ -10000 861 845 482 574 542 256 22 651 891
+ -10000 94 987 531 390 217 880 220 57 181
+ -10000 282 781 501 83 653 120 441 635 83
+ -10000 53 375 542 912 599 905 642 385 217
+ -10000 281 861 937 224 444 498 433 157 295
+ -10000 775 120 785 521 463 349 416 700 890
+ -10000 323 512 736 799 691 636 573 616 832
+ -10000 528 325 167 966 697 132 878 863 435
+ -10000 518 808 971 735 149 787 821 302 93
+ -10000 583 362 929 860 936 763 504 182 36
+ -10000 400 576 325 807 800 75 128 623 463
+ -10000 694 969 842 233 911 623 379 483 31
+ -10000 227 513 629 705 710 621 55 545 930
+ -10000 331 196 994 758 153 585 942 522 694
+ -10000 570 137 925 225 280 3 446 198 693
+ -10000 488 252 111 410 225 49 144 1 52
+ -10000 809 985 889 512 545 633 563 502 107
+ -10000 326 851 474 78 16 637 431 504 899
+ -10000 738 74 137 243 862 938 970 508 377
+ -10000 509 255 424 82 540 172 655 905 278
+ -10000 705 264 287 192 189 28 865 568 333
+ -10000 299 394 758 757 171 148 106 493 859
+ -10000 220 279 872 842 571 377 826 946 591
+ -10000 268 224 583 426 1000 945 636 146 538
+ -10000 157 273 78 241 664 444 26 122 987
+ -10000 670 827 463 875 522 563 867 856 66
+ -10000 908 260 127 578 794 586 214 490 782
+ -10000 350 479 277 206 66 158 725 18 74
+ -10000 84 242 199 620 872 486 86 561 60
+ -10000 983 684 517 108 934 477 831 278 773
+ -10000 262 640 550 743 889 198 874 339 806
+ -10000 861 858 495 744 333 916 570 225 55
+ -10000 414 205 3 275 308 572 80 628 700
+ -10000 987 607 619 691 250 952 629 218 439
+ -10000 129 644 556 412 135 960 47 845 969
+ -10000 164 677 11 253 339 542 838 712 516
+ -10000 229 698 496 272 822 951 499 405 338
+ -10000 863 693 586 817 195 551 745 109 27
+ -10000 455 557 464 633 759 458 909 342 639
+ -10000 52 206 69 245 31 157 747 936 899
+ -10000 989 376 954 892 42 49 439 984 885
+ -10000 429 261 155 492 799 471 384 9 411
+ -10000 913 170 818 291 693 275 413 44 318
+ -10000 987 206 64 823 230 716 343 201 812
+ -10000 939 364 46 552 101 240 18 888 438
+ -10000 875 995 146 898 113 704 84 454 551
+ -10000 747 673 545 256 182 224 301 378 1000
+ -10000 773 980 112 111 525 773 993 342 838
+ -10000 603 211 488 582 876 118 176 705 671
+ -10000 374 760 911 125 530 646 471 682 865
+ -10000 190 198 336 445 434 77 148 906 576
+ -10000 835 486 764 993 459 244 232 561 488
+ -10000 391 675 902 481 665 252 523 849 191
+ -10000 328 87 381 739 70 389 444 995 671
+ -10000 505 843 213 615 247 382 85 859 86
+ -10000 394 592 697 872 623 610 222 928 350
+ -10000 116 397 880 340 85 731 169 385 124
+ -10000 556 642 481 228 112 907 583 702 64
+ -10000 524 479 866 315 171 456 356 948 82
+ -10000 82 213 151 989 106 391 413 320 691
+ -10000 350 504 47 538 873 251 154 993 432
+ -10000 183 755 369 388 118 301 220 607 700
+ -10000 412 113 965 257 23 852 925 233 832
+ -10000 938 762 57 693 408 551 645 739 968
+ -10000 278 169 939 571 733 935 542 746 71
+ -10000 271 615 736 278 557 498 353 529 792
+ -10000 786 445 457 534 75 406 991 62 120
+ -10000 664 104 427 92 607 860 83 514 151
+ -10000 775 623 849 637 484 920 284 344 131
+ -10000 113 831 387 391 732 832 55 889 928
+ -10000 289 322 290 567 697 186 484 588 486
+ -10000 516 729 583 597 539 252 826 508 196
+ -10000 623 841 766 901 725 375 108 473 781
+ -10000 371 294 118 740 519 6 347 214 336
+ -10000 53 809 140 904 810 355 539 352 907
+ -10000 136 971 153 382 24 701 555 591 178
+ -10000 857 821 563 106 242 194 196 609 150
+ -10000 949 392 495 912 393 190 352 518 516
+ -10000 469 146 334 432 251 313 565 934 611
+ -10000 778 304 711 892 835 601 892 490 103
+ -10000 391 541 887 182 949 752 888 649 549
+ -10000 466 279 994 114 813 862 267 689 462
+ -10000 293 851 678 65 974 904 227 178 726
+ -10000 576 910 176 569 735 531 387 392 863
+ -10000 251 432 785 288 867 627 530 222 64
+ -10000 881 215 980 569 204 933 26 924 562
+ -10000 620 560 885 844 54 751 858 805 593
+ -10000 731 159 752 937 28 145 213 131 69
+ -10000 257 54 695 68 715 248 547 969 454
+ -10000 679 35 878 610 855 102 467 362 400
+ -10000 254 399 530 337 546 352 392 451 445
+ -10000 498 453 663 977 249 272 211 59 521
+ -10000 663 6 579 897 18 743 866 116 917
+ -10000 145 826 36 798 472 939 642 502 541
+ -10000 260 335 889 494 301 827 527 238 468
+ -10000 186 43 191 955 211 3 300 49 923
+ -10000 179 560 347 777 963 680 84 339 799
+ -10000 540 971 405 978 798 117 253 482 672
+ -10000 532 499 777 763 400 752 376 847 577
+ -10000 585 926 92 901 349 60 413 705 759
+ -10000 979 907 854 165 913 117 717 841 803
+ -10000 227 716 356 136 532 392 853 907 202
+ -10000 751 499 586 136 5 489 514 824 985
+ -10000 131 453 966 559 966 151 483 941 72
+ -10000 746 539 65 450 632 924 175 239 864
+ -10000 289 484 10 872 975 863 471 113 985
+ -10000 392 940 393 91 986 741 210 238 484
+ -10000 536 353 320 827 219 534 337 699 365
+ -10000 641 597 946 659 212 639 44 470 793
+ -10000 613 705 567 445 360 69 848 717 561
+ -10000 951 2 262 422 967 382 431 779 427
+ -10000 695 921 834 42 880 21 189 559 263
+ -10000 167 64 341 826 488 136 22 627 112
+ -10000 771 637 824 519 102 221 257 905 152
+ -10000 524 924 622 305 604 976 199 152 442
+ -10000 724 442 233 480 892 122 111 960 686
+ -10000 162 3 683 729 163 823 391 823 587
+ -10000 615 847 608 336 229 557 936 727 102
+ -10000 448 390 764 21 141 38 625 451 60
+ -10000 139 374 583 46 850 553 245 386 398
+ -10000 482 89 450 763 565 43 83 919 945
+ -10000 186 679 352 556 895 531 174 660 753
+ -10000 245 46 488 979 711 968 223 199 393
+ -10000 638 558 362 973 999 25 710 241 757
+ -10000 950 41 138 945 657 3 634 581 127
+ -10000 125 790 243 941 701 682 776 544 536
+ -10000 217 88 870 771 88 574 71 536 263
+ -10000 686 594 711 779 45 28 771 849 292
+ -10000 618 736 754 292 990 298 682 278 139
+ -10000 920 408 996 769 407 705 964 725 118
+ -10000 804 275 171 948 501 443 704 601 150
+ -10000 186 324 85 233 668 812 396 733 199
+ -10000 986 284 525 240 363 482 809 57 564
+ -10000 440 995 887 409 830 349 415 878 690
+ -10000 610 934 497 722 411 880 678 294 662
+ -10000 957 714 320 444 974 124 933 678 878
+ -10000 217 964 356 835 735 629 141 596 370
+ -10000 599 79 179 692 960 998 750 417 923
+ -10000 343 476 592 767 281 12 906 550 222
+ -10000 352 601 693 226 896 397 238 727 832
+ -10000 415 252 187 35 627 956 935 316 937
+ -10000 702 22 664 59 608 521 519 208 432
+ -10000 870 602 144 50 33 769 868 983 264
+ -10000 871 297 492 391 540 819 698 818 266
+ -10000 390 98 24 560 444 340 61 706 196
+ -10000 993 144 418 516 101 436 343 935 481
+ -10000 967 464 783 901 294 627 832 809 805
+ -10000 495 83 661 930 299 334 242 909 635
+ -10000 608 82 187 382 769 284 696 700 619
+ -10000 34 896 237 355 337 957 27 696 327
+ -10000 957 447 955 726 121 26 644 381 523
+ -10000 565 148 871 91 946 370 109 404 884
+ -10000 919 953 846 605 184 699 929 126 720
+ -10000 691 17 210 67 294 418 276 644 647
+ -10000 799 912 643 800 233 79 286 307 986
+ -10000 246 972 884 314 703 100 34 955 435
+ -10000 912 55 677 705 290 993 337 809 523
+ -10000 606 695 249 265 905 288 147 158 8
+ -10000 920 240 610 108 287 628 103 392 540
+ -10000 50 530 585 880 58 297 827 363 222
+ -10000 320 901 528 123 961 816 321 588 887
+ -10000 621 197 101 477 355 239 34 59 945
+ -10000 191 708 833 21 234 462 389 193 879
+ -10000 262 878 710 562 891 6 447 821 418
+ -10000 166 336 722 18 698 416 107 861 853
+ -10000 213 158 146 482 775 213 557 361 312
+ -10000 411 7 705 859 795 717 500 160 820
+ -10000 585 381 905 100 929 286 853 771 737
+ -10000 672 381 606 123 469 341 734 11 1
+ -10000 180 484 437 469 42 214 261 442 633
+ -10000 166 176 217 67 151 906 329 289 67
+ -10000 978 806 173 115 599 627 962 412 192
+ -10000 529 811 746 527 566 681 322 528 237
+ -10000 966 971 933 400 504 951 779 996 721
+ -10000 821 79 570 677 932 585 378 149 713
+ -10000 807 748 613 849 541 170 145 70 526
+ -10000 983 734 193 898 851 967 640 869 171
+ -10000 300 649 878 198 47 824 963 468 529
+ -10000 789 674 549 433 549 798 117 593 739
+ -10000 500 440 960 276 482 947 391 110 303
+ -10000 155 827 735 363 51 62 569 297 795
+ -10000 107 121 613 786 255 910 384 277 807
+ -10000 338 1000 716 831 763 341 707 572 550
+ -10000 488 310 450 497 640 599 752 743 228
+ -10000 779 488 498 241 586 261 316 18 439
+ -10000 340 342 222 371 819 764 809 137 142
+ -10000 442 20 52 826 216 71 172 735 436
+ -10000 293 434 87 113 175 30 776 204 748
+ -10000 786 30 849 116 266 204 770 138 26
+ -10000 844 744 88 685 409 50 127 926 818
+ -10000 849 193 657 134 25 368 84 369 847
+ -10000 740 362 628 746 863 255 83 904 704
+ -10000 167 723 194 670 558 723 286 448 298
+ -10000 461 763 401 773 457 235 410 443 809
+ -10000 201 647 798 834 372 255 312 27 574
+ -10000 691 770 424 132 739 693 826 107 896
+ -10000 46 488 768 502 172 787 315 32 571
+ -10000 402 544 148 21 601 101 938 381 908
+ -10000 615 567 45 618 192 514 40 357 605
+ -10000 74 480 512 841 112 526 838 974 549
+ -10000 279 665 318 540 425 304 454 180 995
+ -10000 68 566 131 627 637 781 690 589 62
+ -10000 205 644 905 596 657 691 960 684 501
+ -10000 650 214 819 254 410 715 675 266 526
+ -10000 106 141 614 269 955 506 269 331 576
+ -10000 548 19 675 648 332 157 575 927 173
+ -10000 482 415 664 125 295 859 931 658 208
+ -10000 230 741 588 242 453 480 964 896 611
+ -10000 403 216 950 577 968 83 238 873 182
+ -10000 708 533 839 123 953 95 327 420 222
+ -10000 694 981 225 949 957 131 204 867 14
+ -10000 956 822 165 33 500 895 395 210 439
+ -10000 598 549 917 251 225 912 671 665 975
+ -10000 337 57 396 252 795 420 242 453 266
+ -10000 941 161 461 223 369 73 761 297 246
+ -10000 925 81 72 534 172 86 344 495 980
+ -10000 810 456 107 473 318 933 706 486 917
+ -10000 127 169 242 468 530 174 963 189 454
+ -10000 477 554 620 546 298 411 318 907 494
+ -10000 594 79 918 708 74 265 59 460 351
+ -10000 273 413 915 202 87 527 500 683 477
+ -10000 631 294 711 267 385 726 170 581 597
+ -10000 641 886 403 250 825 400 870 423 196
+ -10000 678 207 809 472 606 884 931 387 573
+ -10000 505 406 122 247 548 736 945 574 787
+ -10000 651 64 799 481 302 672 951 368 834
+ -10000 43 26 568 388 461 114 889 972 584
+ -10000 886 578 532 416 540 693 876 506 958
+ -10000 616 10 522 228 578 377 670 820 466
+ -10000 778 333 131 610 458 524 681 807 469
+ -10000 837 303 510 535 795 320 133 665 319
+ -10000 638 881 400 513 962 339 256 647 510
+ -10000 364 391 151 534 419 368 649 881 431
+ -10000 834 38 455 815 1 190 423 174 313
+ -10000 100 637 134 109 633 103 501 355 469
+ -10000 381 609 221 177 255 307 81 717 447
+ -10000 426 649 559 934 563 277 231 416 679
+ -10000 509 104 418 829 770 547 320 624 762
+ -10000 758 124 777 65 675 11 719 112 722
+ -10000 953 971 273 173 621 306 571 97 625
+ -10000 956 17 621 110 519 675 182 320 290
+ -10000 74 263 92 74 364 498 875 170 952
+ -10000 850 896 271 28 712 187 705 695 557
+ -10000 162 835 850 560 187 649 246 79 565
+ -10000 193 97 479 471 39 192 436 627 793
+ -10000 72 153 332 224 993 647 303 980 276
+ -10000 266 892 759 397 709 469 598 534 801
+ -10000 975 600 502 938 486 525 142 218 530
+ -10000 604 81 290 327 704 450 21 265 431
+ -10000 129 790 111 275 574 650 464 313 571
+ -10000 50 157 403 676 201 792 315 402 993
+ -10000 738 267 234 900 904 338 476 656 127
+ -10000 301 495 600 211 101 455 942 710 798
+ -10000 915 859 150 997 778 607 27 705 586
+ -10000 87 29 706 393 503 103 230 45 137
+ -10000 634 266 942 237 281 8 293 815 511
+ -10000 905 619 527 326 613 655 890 145 300
+ -10000 317 837 663 892 706 754 981 172 58
+ -10000 534 6 180 773 893 486 618 119 411
+ -10000 486 796 111 969 396 435 237 84 84
+ -10000 90 949 308 199 241 745 183 624 440
+ -10000 886 482 108 604 580 288 136 42 73
+ -10000 776 133 935 991 638 959 839 709 490
+ -10000 23 608 672 120 67 615 12 616 209
+ -10000 787 743 609 639 351 467 200 116 167
+ -10000 201 150 65 456 550 711 145 599 332
+ -10000 195 68 542 901 450 724 813 841 763
+ -10000 409 546 128 955 215 586 730 966 415
+ -10000 993 822 264 275 936 66 890 699 737
+ -10000 63 696 464 433 410 609 653 626 232
+ -10000 707 187 963 321 14 381 401 582 689
+ -10000 391 215 441 779 305 52 399 945 446
+ -10000 98 693 929 856 384 118 953 349 330
+ -10000 33 913 966 919 985 504 817 634 953
+ -10000 650 847 921 409 784 370 457 439 446
+ -10000 647 169 358 679 604 144 91 363 429
+ -10000 44 475 394 983 17 730 835 543 109
+ -10000 436 323 702 326 731 904 494 529 491
+ -10000 973 614 403 0 776 690 475 175 318
+ -10000 654 158 490 598 821 71 318 315 427
+ -10000 909 434 437 295 982 15 723 247 487
+ -10000 720 339 684 103 942 106 504 177 708
+ -10000 154 702 996 85 874 681 600 646 991
+ -10000 540 822 52 646 631 389 842 642 423
+ -10000 261 723 94 166 811 567 353 403 447
+ -10000 487 866 667 560 758 451 844 413 418
+ -10000 825 873 958 965 582 703 92 573 683
+ -10000 913 275 686 756 346 921 632 32 354
+ -10000 21 565 87 151 900 196 489 187 942
+ -10000 742 39 898 830 948 460 980 968 296
+ -10000 263 211 827 372 213 352 606 339 403
+ -10000 525 691 847 261 564 742 254 446 602
+ -10000 460 883 676 262 954 602 93 72 240
+ -10000 497 172 247 586 736 905 47 577 404
+ -10000 47 678 0 520 293 788 681 960 419
+ -10000 444 151 585 130 176 778 94 861 772
+ -10000 181 57 659 614 37 70 455 46 285
+ -10000 361 305 465 200 851 836 244 799 602
+ -10000 750 387 298 417 253 978 218 523 709
+ -10000 746 117 132 811 836 197 633 59 664
+ -10000 465 755 497 656 223 720 80 179 786
+ -10000 891 729 960 797 311 58 295 245 486
+ -10000 853 739 882 943 174 460 100 290 700
+ -10000 667 789 948 350 231 587 867 241 559
+ -10000 445 404 200 396 358 708 875 872 983
+ -10000 825 948 559 58 742 980 281 190 997
+ -10000 262 655 633 982 296 859 383 235 917
+ -10000 710 361 572 129 274 542 613 933 625
+ -10000 409 840 718 210 218 504 992 547 559
+ -10000 777 946 631 27 666 969 826 167 862
+ -10000 943 978 272 146 338 601 875 579 368
+ -10000 753 824 872 631 810 108 818 724 683
+ -10000 936 48 784 23 474 676 734 859 53
+ -10000 666 108 420 489 469 544 118 676 234
+ -10000 626 523 765 419 418 772 73 598 82
+ -10000 971 722 161 129 69 952 56 662 430
+ -10000 9 388 814 316 563 667 839 340 38
+ -10000 605 137 985 942 961 551 990 596 643
+ -10000 644 818 15 902 809 578 466 497 381
+ -10000 903 125 165 897 413 446 491 112 93
+ -10000 117 913 18 884 90 160 646 570 969
+ -10000 290 97 181 656 533 996 963 91 205
+ -10000 357 420 854 274 815 469 42 34 62
+ -10000 261 447 816 230 216 661 186 39 300
+ -10000 941 929 949 109 351 577 412 877 459
+ -10000 848 50 942 913 230 109 454 505 919
+ -10000 422 544 854 504 416 11 29 662 253
+ -10000 648 917 242 236 570 788 787 516 858
+ -10000 408 757 495 373 68 183 915 294 331
+ -10000 729 681 692 781 698 833 404 555 379
+ -10000 178 506 729 571 103 445 887 869 98
+ -10000 629 260 290 506 197 633 959 891 343
+ -10000 277 627 250 831 971 238 485 464 707
+ -10000 515 674 897 791 376 75 886 330 650
+ -10000 254 139 349 63 479 205 165 687 881
+ -10000 197 540 875 334 589 313 405 256 151
+ -10000 454 707 538 709 940 821 739 335 773
+ -10000 81 751 509 432 958 707 170 64 629
+ -10000 80 438 22 172 218 677 321 374 429
+ -10000 568 481 527 44 878 396 577 433 830
+ -10000 390 885 732 734 165 340 877 999 1
+ -10000 908 315 400 953 990 226 225 567 423
+ -10000 453 406 470 793 9 364 53 638 985
+ -10000 287 889 637 617 312 102 432 156 845
+ -10000 813 995 411 3 730 323 824 300 945
+ -10000 270 614 245 504 838 879 498 787 675
+ -10000 76 111 614 928 783 222 863 683 256
+ -10000 154 863 266 307 258 94 937 566 185
+ -10000 318 628 948 374 170 23 276 705 721
+ -10000 751 722 673 209 557 664 300 989 894
+ -10000 181 112 272 606 466 644 658 154 555
+ -10000 909 243 349 374 320 185 331 901 255
+ -10000 848 866 1000 768 952 263 108 628 174
+ -10000 625 590 108 505 361 649 409 346 909
+ -10000 96 638 453 173 934 819 653 73 737
+ -10000 799 642 632 967 610 85 448 778 505
+ -10000 522 977 986 588 225 692 377 664 534
+ -10000 18 298 359 166 833 174 99 315 920
+ -10000 134 352 866 168 578 298 99 977 985
+ -10000 538 393 592 286 685 69 77 943 902
+ -10000 411 178 395 676 880 895 306 18 387
+ -10000 184 681 868 847 970 195 393 494 766
+ -10000 50 183 934 190 836 552 522 570 878
+ -10000 70 376 194 885 226 229 791 506 377
+ -10000 779 152 291 161 638 539 249 863 536
+ -10000 997 776 422 751 973 685 837 884 315
+ -10000 125 524 955 353 98 419 409 305 202
+ -10000 794 92 769 22 103 790 743 413 17
+ -10000 739 382 889 687 924 441 180 32 691
+ -10000 663 789 297 752 179 933 541 16 931
+ -10000 272 708 168 492 54 74 574 992 909
+ -10000 522 374 414 163 319 868 356 736 327
+ -10000 936 387 873 668 608 218 925 722 71
+ -10000 487 120 755 261 739 765 394 174 746
+ -10000 77 859 565 52 939 225 494 19 117
+ -10000 47 801 1 291 342 126 488 861 996
+ -10000 442 187 555 262 762 695 297 308 129
+ -10000 681 766 549 304 884 491 59 714 89
+ -10000 343 183 601 946 380 35 559 480 106
+ -10000 681 533 156 672 320 422 763 288 190
+ -10000 43 734 912 899 671 751 460 74 417
+ -10000 872 822 456 967 492 82 146 552 720
+ -10000 228 159 275 705 301 280 58 346 443
+ -10000 9 210 51 748 680 655 387 779 140
+ -10000 784 783 936 274 856 996 89 231 126
+ -10000 802 632 667 357 247 625 334 689 445
+ -10000 917 644 972 228 962 848 317 169 619
+ -10000 706 78 444 406 847 683 609 419 697
+ -10000 39 142 110 700 212 194 691 836 987
+ -10000 555 562 894 704 777 455 23 102 865
+ -10000 645 710 492 203 815 161 880 839 760
+ -10000 172 296 46 903 112 202 561 275 183
+ -10000 741 815 553 746 442 209 131 223 1000
+ -10000 453 554 721 822 460 191 134 326 399
+ -10000 400 22 619 497 130 188 293 164 528
+ -10000 308 402 592 707 3 478 607 798 535
+ -10000 93 200 303 403 770 933 54 982 154
+ -10000 860 195 528 167 384 447 96 373 228
+ -10000 835 873 513 16 357 129 180 595 410
+ -10000 493 295 712 552 345 730 382 361 726
+ -10000 758 56 735 378 189 947 60 721 953
+ -10000 893 134 560 265 490 749 986 891 137
+ -10000 541 511 375 57 83 75 289 68 745
+ -10000 408 111 650 309 588 582 717 867 795
+ -10000 148 731 41 592 69 964 796 386 629
+ -10000 18 966 666 578 105 278 259 591 174
+ -10000 92 759 661 264 48 966 453 617 801
+ -10000 669 162 956 234 759 337 86 239 302
+ -10000 881 6 296 911 809 302 543 464 422
+ -10000 200 771 637 271 598 917 303 125 2
+ -10000 108 229 319 653 158 679 909 104 311
+ -10000 55 938 537 871 604 3 590 989 792
+ -10000 577 152 586 603 567 117 268 943 276
+ -10000 379 795 594 972 627 254 673 331 135
+ -10000 111 516 727 910 526 402 904 790 368
+ -10000 200 382 932 351 330 455 739 903 275
+ -10000 962 487 816 28 569 693 337 405 618
+ -10000 412 493 141 728 852 593 908 302 628
+ -10000 98 753 291 372 135 538 451 261 676
+ -10000 396 405 556 330 874 346 703 877 201
+ -10000 554 626 182 983 413 177 210 329 945
+ -10000 228 23 713 417 212 223 350 45 747
+ -10000 498 928 104 525 7 650 275 28 261
+ -10000 764 496 554 624 599 992 606 494 518
+ -10000 31 623 937 342 191 907 737 687 870
+ -10000 105 323 63 665 47 624 467 58 71
+ -10000 487 91 885 939 823 780 214 964 686
+ -10000 735 430 385 197 74 716 801 813 431
+ -10000 190 795 744 537 517 336 737 511 908
+ -10000 784 558 51 66 288 6 768 492 671
+ -10000 977 10 995 342 735 758 602 780 785
+ -10000 487 81 560 214 39 692 290 524 690
+ -10000 124 821 643 986 461 631 324 693 238
+ -10000 10 945 398 375 56 92 251 447 20
+ -10000 745 430 722 760 810 549 389 431 553
+ -10000 908 228 44 150 589 629 31 626 516
+ -10000 596 73 675 311 609 246 925 196 308
+ -10000 470 920 569 372 436 235 522 644 279
+ -10000 381 756 326 541 798 831 32 478 294
+ -10000 322 421 24 562 886 737 554 850 157
+ -10000 721 677 871 666 503 573 556 504 792
+ -10000 286 229 899 942 507 536 265 916 93
+ -10000 138 585 136 765 530 536 193 826 775
+ -10000 558 55 888 15 232 753 770 291 562
+ -10000 846 175 696 736 206 618 495 577 912
+ -10000 601 534 811 137 216 91 941 907 619
+ -10000 241 275 484 848 888 389 584 906 879
+ -10000 179 340 113 744 193 412 692 344 961
+ -10000 572 27 855 811 464 226 755 329 907
+ -10000 583 908 520 216 919 67 764 453 425
+ -10000 77 744 68 454 156 646 244 372 410
+ -10000 819 425 45 675 173 123 680 599 809
+ -10000 901 543 215 438 845 198 18 546 310
+ -10000 274 639 520 353 63 525 358 168 714
+ -10000 154 542 539 824 502 277 966 171 255
+ -10000 60 637 217 763 736 326 426 114 876
+ -10000 453 95 740 689 408 611 314 103 925
+ -10000 486 237 243 490 836 141 314 401 730
+ -10000 726 684 56 498 974 597 454 195 142
+ -10000 517 16 11 426 520 744 540 753 144
+ -10000 884 185 916 79 734 60 978 987 367
+ -10000 674 263 604 939 969 233 108 398 389
+ -10000 229 608 143 535 246 332 713 619 452
+ -10000 813 300 85 456 376 389 350 861 168
+ -10000 988 921 405 867 999 252 142 706 73
+ -10000 650 221 138 639 271 675 240 601 125
+ -10000 587 822 823 645 202 209 402 680 413
+ -10000 857 105 705 581 1 324 757 39 859
+ -10000 762 728 54 715 130 201 281 131 279
+ -10000 345 897 745 959 923 950 419 935 476
+ -10000 291 273 355 841 490 292 560 115 322
+ -10000 333 179 579 474 582 863 992 785 108
+ -10000 400 268 49 639 83 18 725 319 362
+ -10000 932 277 950 316 912 575 517 62 577
+ -10000 806 431 646 461 133 74 159 68 556
+ -10000 313 401 843 444 554 739 357 976 467
+ -10000 551 940 121 320 401 140 18 471 91
+ -10000 639 397 676 913 121 732 785 394 565
+ -10000 635 995 630 230 669 466 716 411 678
+ -10000 632 821 256 640 107 507 946 259 413
+ -10000 341 227 112 246 998 241 710 409 95
+ -10000 215 836 397 719 418 27 763 14 340
+ -10000 825 932 185 478 952 153 112 60 550
+ -10000 387 406 216 531 2 837 574 499 845
+ -10000 760 474 378 223 608 350 282 733 140
+ -10000 83 590 864 94 790 942 552 721 688
+ -10000 849 935 787 635 179 712 165 47 114
+ -10000 966 279 294 477 650 631 80 426 691
+ -10000 20 880 240 855 528 482 901 251 866
+ -10000 165 9 763 566 393 857 134 671 476
+ -10000 686 558 305 242 728 685 717 171 534
+ -10000 47 634 373 928 266 589 218 45 980
+ -10000 142 396 586 631 571 332 923 789 879
+ -10000 519 317 713 500 102 843 221 94 975
+ -10000 807 800 310 264 61 274 946 336 2
+ -10000 972 956 454 569 771 70 219 795 575
+ -10000 270 828 349 534 526 33 460 362 758
+ -10000 980 502 572 840 372 123 390 41 533
+ -10000 235 268 137 985 385 926 250 331 941
+ -10000 246 969 441 269 40 758 885 288 726
+ -10000 523 542 617 918 312 809 991 706 867
+ -10000 993 656 319 426 912 890 652 910 645
+ -10000 635 580 936 276 584 906 447 887 764
+ -10000 802 885 144 86 171 717 35 602 548
+ -10000 130 696 688 166 563 66 354 646 483
+ -10000 594 896 870 312 338 33 404 460 823
+ -10000 567 794 215 767 381 297 398 412 178
+ -10000 601 334 262 959 72 876 323 737 79
+ -10000 930 737 898 605 189 179 633 583 810
+ -10000 440 587 914 520 668 87 576 684 762
+ -10000 83 76 21 685 927 393 1000 107 624
+ -10000 256 405 484 599 375 876 115 720 624
+ -10000 770 826 423 115 161 919 796 444 132
+ -10000 436 702 141 835 856 988 229 563 722
+ -10000 85 786 989 222 532 507 245 730 217
+ -10000 980 151 527 835 844 224 955 335 480
+ -10000 967 154 375 411 29 500 84 672 718
+ -10000 582 213 66 307 625 519 901 727 197
+ -10000 661 952 994 29 75 157 244 973 605
+ -10000 847 448 888 460 242 556 92 945 934
+ -10000 523 87 632 134 832 144 688 825 620
+ -10000 869 198 279 697 824 728 231 268 257
+ -10000 91 937 266 154 456 4 481 429 342
+ -10000 874 148 527 462 704 52 3 202 15
+ -10000 471 296 128 17 263 533 563 143 633
+ -10000 224 810 990 551 974 324 364 429 554
+ -10000 77 256 930 44 505 612 339 0 562
+ -10000 0 826 438 1000 103 449 400 976 859
+ -10000 121 478 196 416 613 113 138 800 888
+ -10000 704 789 335 845 371 840 603 684 169
+ -10000 774 126 900 134 17 722 772 986 525
+ -10000 913 198 670 729 385 555 562 708 175
+ -10000 363 829 573 499 58 274 22 899 931
+ -10000 535 111 192 470 595 750 147 551 130
+ -10000 760 480 862 496 693 833 331 375 414
+ -10000 434 139 20 980 203 146 858 394 643
+ -10000 659 649 557 430 800 228 213 65 278
+ -10000 576 911 894 240 778 518 808 86 355
+ -10000 414 473 748 862 221 52 36 662 701
+ -10000 236 989 161 206 756 923 103 974 55
+ -10000 683 323 285 994 383 313 216 716 144
+ -10000 797 461 784 98 956 296 459 201 604
+ -10000 533 459 361 923 253 14 361 331 39
+ -10000 47 139 456 955 454 809 972 572 48
+ -10000 274 956 156 353 793 284 380 840 740
+ -10000 146 776 276 79 130 617 953 972 693
+ -10000 831 621 670 691 825 999 58 248 450
+ -10000 390 309 281 367 263 489 927 401 660
+ -10000 582 855 685 468 520 741 282 920 99
+ -10000 160 310 677 264 338 839 218 365 164
+ -10000 206 975 531 543 71 282 727 346 99
+ -10000 988 323 946 870 950 836 521 650 419
+ -10000 666 747 883 907 755 758 332 602 198
+ -10000 166 207 676 461 386 248 373 820 866
+ -10000 512 268 730 301 994 601 451 971 823
+ -10000 388 342 756 564 759 471 599 270 557
+ -10000 148 600 620 840 891 819 115 431 46
+ -10000 779 56 962 117 259 393 330 24 28
+ -10000 636 803 972 855 56 147 16 907 411
+ -10000 401 224 584 420 99 393 240 517 52
+ -10000 154 272 274 335 674 405 122 931 72
+ -10000 682 929 219 56 125 761 626 908 735
+ -10000 680 288 259 366 914 848 269 469 782
+ -10000 537 640 892 8 250 186 781 479 801
+ -10000 850 436 740 264 738 197 812 915 105
+ -10000 321 952 871 179 700 308 607 305 193
+ -10000 168 933 392 303 585 629 314 558 462
+ -10000 330 391 423 889 1 153 714 719 476
+ -10000 268 42 583 767 807 241 226 934 717
+ -10000 25 613 482 637 376 28 764 836 854
+ -10000 494 185 992 461 376 653 976 707 337
+ -10000 499 724 329 680 107 103 979 691 587
+ -10000 738 371 629 664 330 346 873 137 89
+ -10000 656 913 10 561 310 961 805 837 570
+ -10000 465 855 196 571 706 781 882 574 163
+ -10000 84 605 296 266 647 132 439 507 749
+ -10000 355 666 527 120 503 829 56 85 556
+ -10000 783 482 551 743 748 740 328 507 602
+ -10000 496 216 266 352 221 74 432 19 751
+ -10000 187 993 247 64 744 989 369 74 555
+ -10000 751 310 11 86 96 320 578 258 878
+ -10000 745 908 708 322 925 947 474 40 737
+ -10000 255 540 545 556 203 290 292 484 54
+ -10000 65 620 881 18 53 49 580 367 737
+ -10000 238 970 496 395 578 566 406 897 528
+ -10000 93 214 920 353 494 996 864 416 939
+ -10000 672 156 712 976 20 745 796 643 457
+ -10000 448 152 116 994 822 336 553 832 683
+ -10000 989 486 53 304 378 571 190 187 310
+ -10000 778 457 931 380 243 920 687 419 835
+ -10000 851 419 871 209 731 528 16 743 986
+ -10000 210 0 283 897 639 997 242 998 796
+ -10000 828 527 685 649 588 977 583 893 218
+ -10000 547 924 861 413 408 288 51 628 846
+ -10000 657 801 450 726 352 637 200 72 100
+ -10000 265 54 833 241 5 277 378 628 970
+ -10000 776 367 18 793 564 784 18 733 251
+ -10000 474 161 254 869 37 879 958 464 559
+ -10000 899 361 250 656 254 766 33 18 322
+ -10000 816 242 723 84 425 275 85 979 905
+ -10000 325 256 466 287 823 998 853 212 303
+ -10000 245 138 179 574 195 481 153 376 914
+ -10000 799 111 159 745 174 256 652 352 146
+ -10000 204 364 781 26 786 487 74 358 711
+ -10000 796 637 189 710 223 547 861 651 413
+ -10000 429 609 854 976 903 838 448 396 364
+ -10000 826 821 920 722 567 536 106 172 699
+ -10000 982 848 664 558 792 137 908 61 871
+ -10000 429 470 214 662 129 578 883 897 684
+ -10000 937 90 179 30 297 406 455 662 262
+ -10000 672 196 279 210 268 717 91 602 777
+ -10000 785 159 729 708 232 926 6 959 801
+ -10000 153 101 524 113 550 641 209 935 109
+ -10000 416 807 708 683 773 114 482 312 598
+ -10000 352 649 717 604 352 850 846 857 462
+ -10000 674 828 641 755 610 2 18 76 702
+ -10000 946 93 821 49 117 419 566 558 0
+ -10000 220 3 203 952 716 153 471 684 888
+ -10000 831 359 2 625 753 171 529 138 572
+ -10000 446 981 201 595 128 985 188 934 7
+ -10000 651 359 577 321 186 326 4 793 770
+ -10000 520 17 734 365 603 238 227 926 564
+ -10000 245 621 287 778 7 866 772 113 256
+ -10000 620 468 773 411 757 127 754 221 121
+ -10000 64 643 65 941 460 121 155 598 315
+ -10000 849 1 50 627 696 359 246 224 893
+ -10000 253 556 932 795 528 339 868 312 787
+ -10000 469 287 374 166 175 918 656 645 585
+ -10000 399 470 846 509 286 633 77 868 2
+ -10000 32 429 469 7 955 310 210 164 417
+ -10000 72 34 695 667 469 489 591 114 564
+ -10000 61 140 64 612 798 204 609 421 321
+ -10000 112 205 823 709 170 854 16 257 626
+ -10000 693 158 136 207 691 566 322 531 834
+ -10000 165 897 1000 738 338 556 657 487 342
+ -10000 942 579 686 358 604 678 982 600 929
+ -10000 93 102 1 1000 720 29 904 905 729
+ -10000 134 133 347 946 368 911 450 79 155
+ -10000 96 450 388 932 203 40 497 928 123
+ -10000 508 139 683 79 811 650 993 617 405
+ -10000 306 727 433 448 354 713 71 453 381
+ -10000 44 716 840 232 284 750 729 774 22
+ -10000 174 411 55 734 357 372 226 709 30
+ -10000 441 303 494 543 831 658 789 502 568
+ -10000 5 654 236 241 827 260 188 40 77
+ -10000 720 34 380 83 497 388 211 514 825
+ -10000 648 528 883 67 864 164 66 709 159
+ -10000 871 662 329 81 591 274 670 603 284
+ -10000 577 230 289 93 273 942 3 209 162
+ -10000 892 753 875 60 465 299 499 23 350
+ -10000 713 99 618 852 180 461 820 304 268
+ -10000 549 73 758 819 450 908 53 778 300
+ -10000 259 779 493 407 169 776 549 473 306
+ -10000 601 828 983 873 622 219 209 392 653
+ -10000 569 7 656 384 902 498 321 778 278
+ -10000 667 95 754 100 714 499 277 457 979
+ -10000 704 246 828 568 479 908 320 184 198
+ -10000 911 784 425 946 762 65 183 612 802
+ -10000 792 291 318 619 29 288 419 789 230
+ -10000 294 719 862 297 439 733 70 866 395
+ -10000 823 367 813 683 738 951 959 989 839
+ -10000 119 49 796 911 23 226 292 7 183
+ -10000 418 757 139 985 843 580 934 358 602
+ -10000 703 378 819 432 288 407 75 449 583
+ -10000 377 960 353 142 398 392 487 650 880
+ -10000 671 428 898 919 854 509 151 39 519
+ -10000 205 722 725 310 506 710 427 917 293
+ -10000 526 573 679 12 220 745 826 886 968
+ -10000 22 524 636 937 12 753 951 11 185
+ -10000 493 153 60 920 187 556 956 312 267
+ -10000 914 991 304 292 898 519 909 867 831
+ -10000 588 526 12 855 852 961 774 329 879
+ -10000 403 259 243 104 634 569 371 470 751
+ -10000 388 247 126 864 298 440 248 955 315
+ -10000 594 104 477 927 725 332 252 589 550
+ -10000 260 692 847 351 176 78 59 308 802
+ -10000 988 858 317 317 408 581 753 823 148
+ -10000 427 702 893 416 557 659 476 515 410
+ -10000 997 178 33 172 619 593 479 511 758
+ -10000 559 302 203 156 743 289 283 927 919
+ -10000 838 718 631 596 481 603 756 700 405
+ -10000 58 866 436 258 691 617 406 61 428
+ -10000 888 206 658 103 829 730 372 142 873
+ -10000 530 523 688 199 22 752 852 411 175
+ -10000 473 78 259 162 168 456 970 609 336
+ -10000 9 203 204 619 668 888 736 131 383
+ -10000 655 785 947 78 583 918 478 269 713
+ -10000 853 196 153 566 545 360 160 509 471
+ -10000 979 738 609 43 440 939 403 254 929
+ -10000 592 498 776 772 773 964 229 170 273
+ -10000 511 518 689 780 361 43 467 638 356
+ -10000 732 265 176 612 702 503 995 471 923
+ -10000 304 597 356 739 668 717 787 610 465
+ -10000 83 711 670 357 901 476 905 130 47
+ -10000 748 487 533 722 834 975 854 798 5
+ -10000 530 22 511 590 291 957 121 310 82
+ -10000 331 53 674 615 209 660 879 126 343
+ -10000 327 619 233 244 901 0 367 725 339
+ -10000 446 303 83 797 400 721 554 220 904
+ -10000 928 325 310 482 829 912 197 530 639
+ -10000 129 574 437 79 68 140 415 620 706
+ -10000 833 872 98 811 686 447 645 675 249
+ -10000 68 154 596 741 397 351 112 791 679
+ -10000 371 899 467 62 598 205 867 270 592
+ -10000 601 807 789 411 961 637 685 437 50
+ -10000 333 800 718 214 464 992 719 852 870
+ -10000 366 126 891 567 453 734 49 265 838
+ -10000 120 128 245 759 371 235 78 755 673
+ -10000 244 829 781 343 240 541 605 373 295
+ -10000 774 836 949 728 567 353 936 410 502
+ -10000 549 136 5 299 344 649 143 579 785
+ -10000 797 464 56 983 967 317 382 563 575
+ -10000 207 358 278 161 402 27 14 653 966
+ -10000 375 591 545 349 807 684 496 889 759
+ -10000 770 522 138 292 68 177 355 500 486
+ -10000 556 266 739 807 546 699 751 416 402
+ -10000 416 127 178 103 37 58 948 45 670
+ -10000 961 544 10 404 644 113 64 992 811
+ -10000 943 242 975 995 376 81 210 37 996
+ -10000 524 930 983 945 440 424 215 956 477
+ -10000 728 434 511 725 842 973 885 875 341
+ -10000 597 146 429 353 431 836 667 124 924
+ -10000 424 974 348 323 492 629 850 531 625
+ -10000 618 927 44 4 643 544 575 177 296
+ -10000 947 782 67 637 290 376 842 401 51
+ -10000 738 17 372 662 778 993 284 825 425
+ -10000 409 649 599 527 746 764 298 326 809
+ -10000 559 56 822 46 285 9 228 717 677
+ -10000 412 557 485 618 772 859 651 578 521
+ -10000 965 176 68 185 132 266 160 946 128
+ -10000 189 441 288 758 659 747 784 823 852
+ -10000 271 660 524 33 707 628 222 312 980
+ -10000 496 8 666 141 771 151 556 152 129
+ -10000 255 336 340 377 654 651 734 283 115
+ -10000 197 880 585 369 914 452 34 36 371
+ -10000 91 994 15 107 126 55 661 286 71
+ -10000 555 192 129 303 171 633 70 69 383
+ -10000 542 333 518 109 442 764 620 958 809
+ -10000 462 411 798 349 708 178 343 987 861
+ -10000 816 571 613 476 362 951 260 135 817
+ -10000 837 147 486 857 495 853 602 939 194
+ -10000 150 618 406 911 916 672 23 688 403
+ -10000 850 474 480 984 230 691 894 312 542
+ -10000 487 637 456 718 389 783 25 492 378
+ -10000 320 799 580 859 782 995 436 537 235
+ -10000 793 261 704 292 381 994 847 131 444
+ -10000 929 876 850 246 44 920 92 69 435
+ -10000 19 395 503 866 327 395 144 149 595
+ -10000 748 20 398 521 547 119 319 854 33
+ -10000 824 856 929 635 608 541 989 976 527
+ -10000 265 896 329 802 761 792 712 306 717
+ -10000 563 299 168 528 505 249 480 291 410
+ -10000 565 426 862 195 479 613 400 719 116
+ -10000 714 576 486 92 975 619 553 544 143
+ -10000 389 550 375 521 236 294 870 914 581
+ -10000 324 929 967 143 477 636 423 94 348
+ -10000 698 150 693 421 974 980 629 186 542
+ -10000 741 729 338 604 692 315 513 537 196
+ -10000 214 511 596 513 347 574 369 611 962
+ -10000 270 237 586 156 975 568 652 607 759
+ -10000 212 385 403 798 98 35 37 741 692
+ -10000 731 462 483 969 75 377 567 906 947
+ -10000 272 471 778 838 385 791 88 994 732
+ -10000 837 627 180 850 358 427 181 547 872
+ -10000 669 810 357 681 777 590 96 638 689
+ -10000 17 440 510 532 107 150 212 337 344
+ -10000 91 879 509 424 575 892 685 786 766
+ -10000 518 392 782 168 430 266 772 68 308
+ -10000 527 84 480 942 878 357 741 547 697
+ -10000 761 582 586 219 667 891 967 920 791
+ -10000 627 118 926 51 261 803 13 776 502
+ -10000 224 823 789 510 942 963 174 208 404
+ -10000 600 549 447 860 428 764 136 611 819
+ -10000 483 314 969 321 598 41 89 753 571
+ -10000 359 347 293 606 313 542 790 26 867
+ -10000 688 536 505 55 602 646 117 849 298
+ -10000 727 842 349 912 901 199 903 46 761
+ -10000 656 816 951 511 828 194 762 881 121
+ -10000 398 180 117 878 818 537 133 388 821
+ -10000 468 466 728 756 376 332 200 503 523
+ -10000 282 246 531 551 2 330 766 259 308
+ -10000 123 228 951 421 153 421 766 551 349
+ -10000 372 725 826 14 61 386 951 835 693
+ -10000 626 83 793 453 620 549 457 404 910
+ -10000 568 960 382 122 231 618 430 854 89
+ -10000 647 479 273 547 796 24 790 654 168
+ -10000 109 604 74 419 563 373 294 457 995
+ -10000 997 342 359 232 884 714 66 939 517
+ -10000 971 635 514 742 622 972 738 325 487
+ -10000 596 68 539 188 144 377 447 249 86
+ -10000 892 878 628 328 632 496 394 545 498
+ -10000 609 167 484 571 838 479 564 693 566
+ -10000 789 227 128 336 118 773 188 196 670
+ -10000 238 231 92 285 30 178 468 583 8
+ -10000 306 955 384 287 146 10 524 848 222
+ -10000 749 670 604 888 131 759 200 704 972
+ -10000 349 734 81 101 589 34 986 809 843
+ -10000 602 160 558 724 837 12 296 953 950
+ -10000 387 399 70 307 593 514 370 995 876
+ -10000 956 140 115 650 657 199 279 153 138
+ -10000 172 377 520 881 607 526 134 895 94
+ -10000 891 816 445 369 108 732 238 850 629
+ -10000 832 873 776 368 660 208 786 572 109
+ -10000 140 842 696 571 56 784 545 887 380
+ -10000 214 614 523 509 521 677 756 327 225
+ -10000 162 797 494 852 2 353 257 474 308
+ -10000 622 447 746 392 784 251 356 192 370
+ -10000 302 31 151 773 41 641 336 303 150
+ -10000 371 134 935 79 194 731 761 960 624
+ -10000 845 968 788 655 95 709 390 382 202
+ -10000 128 504 112 944 533 455 802 77 970
+ -10000 604 261 625 392 309 847 312 524 110
+ -10000 298 519 105 484 103 537 433 953 530
+ -10000 229 287 843 169 648 88 809 101 488
+ -10000 477 865 744 302 138 667 740 537 824
+ -10000 285 286 21 321 129 882 804 789 8
+ -10000 421 506 400 399 513 901 300 572 941
+ -10000 255 12 892 119 61 990 505 834 79
+ -10000 753 408 835 599 977 735 116 917 791
+ -10000 936 12 723 630 77 558 807 891 706
+ -10000 403 464 968 23 914 22 293 952 831
+ -10000 271 796 410 885 863 27 168 718 976
+ -10000 563 708 573 85 988 466 94 486 368
+ -10000 746 985 732 645 889 125 911 913 420
+ -10000 734 689 587 880 464 427 647 681 114
+ -10000 325 465 977 672 524 50 900 872 303
+ -10000 819 847 236 751 736 409 372 965 227
+ -10000 668 839 274 640 840 847 179 407 161
+ -10000 154 763 564 271 555 289 947 3 585
+ -10000 956 80 828 866 477 840 976 710 481
+ -10000 876 844 126 646 715 770 791 845 559
+ -10000 483 820 450 421 109 300 108 232 243
+ -10000 62 739 774 972 661 940 774 673 834
+ -10000 58 149 154 539 201 111 450 776 672
+ -10000 202 453 385 77 295 222 540 398 805
+ -10000 442 431 102 976 499 462 942 929 606
+ -10000 205 768 347 878 410 840 162 489 6
+ -10000 114 402 686 239 124 343 496 876 763
+ -10000 789 0 54 32 58 332 272 54 580
+ -10000 388 458 498 944 609 37 586 371 834
+ -10000 113 169 149 276 634 904 893 280 681
+ -10000 465 275 182 457 908 495 345 798 14
+ -10000 844 450 780 427 561 564 266 55 673
+ -10000 975 337 322 845 207 120 958 104 126
+ -10000 300 88 353 146 465 812 2 159 580
+ -10000 356 813 978 990 304 723 65 94 70
+ -10000 949 676 899 870 316 281 118 792 235
+ -10000 197 66 627 579 294 961 713 714 656
+ -10000 512 311 17 383 894 219 801 631 576
+ -10000 553 869 978 748 164 296 911 689 803
+ -10000 22 629 651 106 65 474 484 654 740
+ -10000 48 10 784 159 428 794 791 286 282
+ -10000 718 260 645 155 753 958 265 115 123
+ -10000 270 134 542 627 658 580 223 615 589
+ -10000 266 735 225 433 98 265 798 637 916
+ -10000 6 911 9 649 677 974 173 288 559
+ -10000 795 459 550 920 684 891 253 395 149
+ -10000 604 680 60 129 547 910 52 440 45
+ -10000 111 709 857 98 411 144 379 769 115
+ -10000 338 958 206 754 451 450 935 126 97
+ -10000 95 343 995 594 177 623 238 645 684
+ -10000 871 868 269 716 199 460 85 344 262
+ -10000 193 460 760 151 533 193 873 983 209
+ -10000 405 857 445 196 936 860 29 532 459
+ -10000 543 683 301 149 186 314 407 526 327
+ -10000 856 162 928 554 296 389 391 810 423
+ -10000 949 865 255 183 714 136 1 813 316
+ -10000 233 549 693 815 216 891 88 628 26
+ -10000 253 591 779 742 887 965 904 343 219
+ -10000 420 241 402 686 352 903 620 517 237
+ -10000 404 699 520 443 948 143 443 83 798
+ -10000 849 376 803 655 431 951 926 652 854
+ -10000 969 594 652 571 655 187 955 167 704
+ -10000 16 762 708 877 523 737 705 993 970
+ -10000 423 777 600 85 737 599 231 944 567
+ -10000 282 166 722 648 926 109 220 982 876
+ -10000 257 288 803 519 167 0 310 260 804
+ -10000 183 430 812 288 251 39 329 533 998
+ -10000 310 293 570 315 384 31 519 203 899
+ -10000 554 47 465 899 149 725 532 293 265
+ -10000 525 156 181 587 407 177 948 323 295
+ -10000 18 895 703 835 342 501 754 909 729
+ -10000 157 158 602 833 334 79 700 114 76
+ -10000 946 181 733 179 770 892 701 306 149
+ -10000 863 872 292 943 198 447 469 951 1000
+ -10000 251 153 751 885 567 503 3 6 807
+ -10000 504 298 153 484 733 139 606 355 400
+ -10000 872 774 462 8 836 406 298 758 375
+ -10000 874 143 873 102 791 901 241 766 434
+ -10000 532 786 734 575 936 756 653 492 295
+ -10000 21 496 303 355 275 910 827 220 791
+ -10000 420 696 570 31 159 793 747 176 352
+ -10000 99 457 98 628 113 840 655 71 753
+ -10000 914 415 917 568 639 95 687 126 462
+ -10000 822 651 828 451 485 855 697 280 304
+ -10000 801 762 915 154 57 704 587 363 777
+ -10000 185 568 627 504 866 140 938 324 213
+ -10000 28 970 824 84 137 699 767 289 160
+ -10000 267 887 423 154 998 707 741 219 766
+ -10000 773 999 855 334 310 737 936 362 122
+ -10000 884 819 522 174 587 990 372 672 456
+ -10000 625 31 966 929 991 458 979 422 880
+ -10000 929 388 669 624 558 889 548 905 170
+ -10000 742 430 859 981 409 960 879 661 490
+ -10000 726 210 255 878 848 206 138 244 549
+ -10000 915 366 641 408 355 11 153 128 395
+ -10000 281 87 589 521 431 521 175 970 443
+ -10000 74 615 881 562 616 996 268 667 127
+ -10000 293 988 66 47 826 104 37 791 82
+ -10000 926 920 337 175 321 218 477 575 396
+ -10000 1 697 883 534 738 565 981 841 559
+ -10000 702 388 308 346 265 507 73 796 405
+ -10000 228 978 994 749 3 533 221 96 624
+ -10000 46 92 323 247 917 696 937 408 93
+ -10000 790 734 612 204 442 265 221 589 261
+ -10000 463 286 296 894 853 787 303 596 55
+ -10000 631 301 501 655 774 626 494 817 629
+ -10000 27 147 937 973 782 801 436 565 664
+ -10000 934 131 80 196 504 560 466 224 927
+ -10000 286 486 150 995 915 270 767 414 35
+ -10000 718 431 16 300 23 969 70 684 783
+ -10000 793 299 302 319 61 815 201 696 887
+ -10000 160 79 860 81 276 172 461 53 932
+ -10000 348 568 690 120 933 634 361 26 892
+ -10000 868 861 446 86 246 518 384 396 250
+ -10000 257 771 29 800 967 574 615 792 785
+ -10000 707 974 723 256 92 979 499 3 928
+ -10000 594 962 828 700 3 814 932 643 32
+ -10000 335 908 120 351 155 754 423 783 595
+ -10000 168 150 56 575 695 90 56 326 77
+ -10000 368 834 80 995 383 225 793 486 882
+ -10000 474 47 272 315 728 203 827 425 219
+ -10000 777 722 746 22 993 317 735 31 464
+ -10000 500 574 305 169 809 210 315 150 302
+ -10000 907 760 802 801 700 546 111 298 690
+ -10000 661 490 543 698 670 179 504 68 558
+ -10000 400 666 308 265 338 430 171 360 608
+ -10000 39 802 174 940 353 122 769 451 12
+ -10000 678 450 537 181 169 65 493 445 247
+ -10000 744 465 391 121 443 425 114 898 115
+ -10000 758 591 602 403 520 40 330 131 452
+ -10000 262 597 391 57 953 284 993 223 167
+ -10000 546 712 807 195 166 374 626 618 187
+ -10000 523 92 12 594 367 556 685 25 179
+ -10000 545 866 782 381 407 199 567 863 242
+ -10000 425 690 320 78 816 818 897 257 978
+ -10000 468 247 140 803 513 591 351 594 839
+ -10000 973 861 665 971 511 259 971 26 904
+ -10000 590 16 398 26 228 474 465 538 336
+ -10000 948 805 916 50 339 942 532 737 421
+ -10000 748 884 646 373 871 82 170 221 684
+ -10000 111 185 910 962 237 258 525 124 313
+ -10000 920 237 837 469 705 522 665 886 474
+ -10000 463 511 846 899 690 157 114 565 880
+ -10000 55 485 203 922 827 626 564 228 132
+ -10000 783 553 45 513 274 197 749 611 288
+ -10000 947 226 763 528 543 772 220 887 480
+ -10000 158 447 332 14 127 117 550 230 709
+ -10000 640 521 302 194 483 635 670 24 247
+ -10000 935 37 999 11 696 325 298 372 217
+ -10000 874 751 306 781 47 335 767 81 39
+ -10000 402 129 995 76 784 698 275 258 833
+ -10000 67 485 574 172 882 519 37 707 476
+ -10000 596 880 333 384 952 338 712 575 488
+ -10000 768 35 464 598 359 815 74 204 836
+ -10000 591 515 744 145 731 896 980 416 653
+ -10000 799 731 135 44 99 319 193 890 193
+ -10000 283 271 29 500 114 189 15 700 647
+ -10000 471 763 934 338 97 173 865 138 808
+ -10000 116 246 346 275 240 408 855 742 149
+ -10000 647 849 770 669 942 813 973 908 151
+ -10000 457 654 0 396 869 890 307 566 990
+ -10000 84 968 92 31 485 810 179 508 484
+ -10000 98 862 585 735 48 107 133 326 438
+ -10000 312 8 777 433 995 106 494 294 529
+ -10000 364 319 660 88 645 585 559 561 847
+ -10000 314 757 958 532 497 315 155 760 366
+ -10000 549 999 330 576 742 268 226 300 617
+ -10000 586 55 802 984 516 80 237 730 269
+ -10000 620 595 184 304 424 625 850 624 61
+ -10000 533 401 885 17 85 817 42 474 601
+ -10000 825 420 588 362 741 239 528 123 804
+ -10000 604 288 883 973 446 869 976 239 86
+ -10000 292 93 730 871 663 837 54 982 685
+ -10000 226 632 104 791 693 72 794 262 12
+ -10000 226 557 599 385 883 319 583 148 108
+ -10000 8 203 928 746 875 428 882 169 71
+ -10000 158 856 962 476 843 242 345 780 198
+ -10000 418 620 929 666 887 250 732 727 901
+ -10000 409 492 394 661 983 864 327 248 939
+ -10000 948 851 268 357 559 358 826 299 276
+ -10000 56 726 86 494 973 529 767 87 858
+ -10000 837 921 554 108 689 601 336 555 650
+ -10000 631 867 852 343 994 881 212 888 549
+ -10000 956 155 95 1 110 880 891 59 206
+ -10000 862 72 722 632 238 34 315 725 183
+ -10000 537 340 846 748 549 265 939 437 628
+ -10000 669 36 139 368 526 95 95 398 234
+ -10000 530 612 971 891 638 567 628 769 983
+ -10000 893 954 195 545 179 104 472 845 572
+ -10000 644 148 480 165 180 906 255 738 850
+ -10000 25 484 969 684 275 601 870 246 598
+ -10000 448 971 77 431 964 498 8 49 101
+ -10000 988 893 301 301 438 416 860 28 984
+ -10000 933 141 615 604 491 258 802 611 834
+ -10000 423 720 136 924 977 22 2 887 419
+ -10000 514 412 453 297 82 874 17 403 555
+ -10000 727 1 106 431 824 152 353 206 130
+ -10000 459 122 468 404 378 413 312 390 986
+ -10000 587 866 144 142 552 294 292 988 92
+ -10000 621 50 365 328 956 984 182 823 788
+ -10000 86 24 116 873 187 974 552 188 122
+ -10000 718 923 397 362 404 14 351 449 128
+ -10000 317 372 460 758 23 543 196 552 311
+ -10000 695 685 430 488 379 474 54 326 704
+ -10000 1000 38 517 147 205 388 992 543 233
+ -10000 540 149 746 912 381 47 71 240 367
+ -10000 230 108 332 935 786 991 643 269 323
+ -10000 166 570 90 269 523 892 5 456 653
+ -10000 445 455 298 883 451 683 741 467 814
+ -10000 519 23 669 749 554 377 22 184 435
+ -10000 957 418 630 652 787 415 317 45 643
+ -10000 421 55 168 611 67 909 667 700 563
+ -10000 419 227 525 326 136 251 262 170 254
+ -10000 105 776 388 114 762 661 415 764 64
+ -10000 291 787 687 426 139 153 573 862 265
+ -10000 158 4 992 641 80 373 542 638 956
+ -10000 220 119 516 995 380 269 516 633 857
+ -10000 300 752 905 545 127 226 339 822 433
+ -10000 279 475 505 265 499 546 322 811 885
+ -10000 490 940 143 720 351 803 785 942 204
+ -10000 857 562 834 836 146 194 87 18 303
+ -10000 708 315 451 280 248 251 535 472 280
+ -10000 492 693 389 970 872 730 427 746 925
+ -10000 496 800 476 70 535 702 770 27 579
+ -10000 502 809 350 526 923 806 320 558 247
+ -10000 116 672 853 566 463 458 808 356 72
+ -10000 451 571 967 424 640 900 167 372 928
+ -10000 901 212 961 922 64 13 545 394 701
+ -10000 648 679 124 759 474 352 570 921 289
+ -10000 438 518 796 45 239 942 828 511 936
+ -10000 863 984 399 335 949 368 67 544 330
+ -10000 657 970 755 263 110 944 334 854 164
+ -10000 208 911 116 189 790 931 605 746 454
+ -10000 557 274 217 711 708 512 671 132 398
+ -10000 929 885 742 862 689 786 703 934 49
+ -10000 368 807 321 497 593 680 974 685 951
+ -10000 869 623 571 992 343 450 437 211 506
+ -10000 608 860 461 323 938 959 958 20 662
+ -10000 397 921 971 929 390 397 485 977 668
+ -10000 211 456 905 982 339 555 62 203 245
+ -10000 458 866 380 1000 448 588 442 142 862
+ -10000 951 264 173 490 118 421 971 372 542
+ -10000 593 964 609 436 401 219 45 47 526
+ -10000 697 2 85 118 911 511 429 182 811
+ -10000 637 278 664 222 645 783 865 777 624
+ -10000 716 830 178 424 723 231 371 42 5
+ -10000 665 159 714 770 191 495 837 983 104
+ -10000 957 967 144 94 28 362 407 310 691
+ -10000 85 288 710 563 634 316 729 903 763
+ -10000 738 470 500 766 266 100 824 915 308
+ -10000 193 632 79 348 729 829 474 213 836
+ -10000 294 95 335 67 120 75 569 808 541
+ -10000 78 967 202 530 71 193 230 511 275
+ -10000 678 220 815 823 46 680 741 500 872
+ -10000 396 276 110 401 288 527 676 867 302
+ -10000 980 714 756 725 562 540 580 844 840
+ -10000 703 494 740 986 868 705 392 821 14
+ -10000 605 893 263 899 171 565 414 744 236
+ -10000 242 421 603 262 96 764 111 476 865
+ -10000 996 925 579 666 110 328 270 181 247
+ -10000 9 284 570 53 321 672 557 437 427
+ -10000 865 415 197 278 876 504 27 415 277
+ -10000 926 199 886 247 169 356 228 659 30
+ -10000 171 14 740 990 795 210 615 268 634
+ -10000 286 98 756 994 756 276 310 167 650
+ -10000 689 233 91 417 746 980 436 348 735
+ -10000 627 97 940 143 464 817 129 95 208
+ -10000 436 303 505 183 236 112 525 983 396
+ -10000 380 604 798 209 471 644 408 925 515
+ -10000 22 678 176 362 65 233 686 29 556
+ -10000 565 355 284 904 222 610 836 784 202
+ -10000 600 817 809 598 807 40 263 991 62
+ -10000 96 447 377 9 957 562 659 120 153
+ -10000 950 563 548 448 547 186 370 939 215
+ -10000 575 951 55 236 461 879 502 525 376
+ -10000 876 475 186 55 836 235 574 929 187
+ -10000 789 150 627 742 801 259 880 979 267
+ -10000 168 131 139 127 564 493 107 952 111
+ -10000 808 719 992 44 274 730 328 898 415
+ -10000 786 511 210 140 36 913 676 790 605
+ -10000 25 72 381 273 172 152 213 292 763
+ -10000 995 611 956 483 602 135 475 188 536
+ -10000 647 844 876 44 830 299 830 630 306
+ -10000 713 926 692 314 291 518 970 683 449
+ -10000 306 502 404 321 927 61 114 528 148
+ -10000 724 46 74 326 546 816 374 135 790
+ -10000 463 483 480 92 939 21 849 9 297
+ -10000 694 6 242 616 34 903 298 726 55
+ -10000 518 815 217 750 354 986 553 709 745
+ -10000 212 744 459 738 541 651 922 690 516
+ -10000 631 670 347 619 940 485 402 356 667
+ -10000 167 219 743 354 235 155 471 143 320
+ -10000 468 667 525 71 245 896 507 95 112
+ -10000 888 750 465 531 476 549 392 550 846
+ -10000 409 515 931 436 917 40 748 938 810
+ -10000 868 232 625 934 668 808 553 738 657
+ -10000 537 969 380 418 145 326 505 98 768
+ -10000 526 183 921 822 732 242 998 456 308
+ -10000 916 854 954 537 851 640 713 329 513
+ -10000 246 908 395 815 923 863 656 803 765
+ -10000 860 584 807 0 67 197 5 395 498
+ -10000 531 984 973 210 623 383 716 158 554
+ -10000 346 167 508 551 583 474 886 359 451
+ -10000 14 904 325 989 493 196 425 623 163
+ -10000 556 333 233 179 325 984 207 871 35
+ -10000 908 437 983 336 342 632 480 687 533
+ -10000 695 808 229 811 447 841 903 904 278
+ -10000 284 30 864 585 435 926 957 275 86
+ -10000 179 890 383 599 752 352 6 622 20
+ -10000 570 504 951 850 122 91 682 135 795
+ -10000 692 115 734 75 668 908 217 790 10
+ -10000 927 953 71 783 961 697 764 15 45
+ -10000 144 430 524 597 562 671 694 405 802
+ -10000 822 755 130 163 235 43 460 509 864
+ -10000 30 602 752 866 261 539 894 620 528
+ -10000 290 502 585 996 745 870 892 347 921
+ -10000 753 38 387 987 458 223 489 359 667
+ -10000 170 60 889 240 182 819 782 847 807
+ -10000 263 336 310 312 81 946 785 801 392
+ -10000 828 436 726 572 478 215 939 986 863
+ -10000 269 243 375 43 308 604 887 960 362
+ -10000 908 869 278 64 962 872 857 575 638
+ -10000 987 323 346 520 227 88 142 325 926
+ -10000 10 541 803 346 228 607 651 885 820
+ -10000 215 140 226 104 972 892 77 319 449
+ -10000 120 923 236 626 145 609 247 518 631
+ -10000 863 468 945 995 738 668 683 69 58
+ -10000 294 515 799 987 854 295 761 708 468
+ -10000 261 747 871 512 483 480 801 720 20
+ -10000 16 282 522 659 344 280 99 971 753
+ -10000 453 293 600 893 195 343 154 81 224
+ -10000 301 960 250 504 420 176 849 813 316
+ -10000 97 10 194 481 837 112 866 871 157
+ -10000 345 1 85 824 623 455 662 143 244
+ -10000 579 28 722 717 689 370 361 216 474
+ -10000 221 672 202 488 191 716 759 990 762
+ -10000 426 193 189 692 367 767 678 17 80
+ -10000 61 488 512 403 542 491 333 575 489
+ -10000 590 357 164 453 995 708 237 383 20
+ -10000 714 381 975 573 766 32 348 23 676
+ -10000 888 387 747 282 801 507 861 398 565
+ -10000 731 997 827 752 700 898 998 154 3
+ -10000 373 393 309 533 497 853 829 235 549
+ -10000 815 761 74 490 573 471 551 320 825
+ -10000 10 474 216 89 595 229 49 309 50
+ -10000 674 637 38 189 493 763 171 349 503
+ -10000 580 243 721 239 257 975 945 207 29
+ -10000 177 290 160 873 207 954 324 426 793
+ -10000 476 601 254 910 567 949 187 830 181
+ -10000 497 755 761 98 546 313 536 638 469
+ -10000 832 84 329 865 130 638 97 21 534
+ -10000 796 606 222 505 573 368 670 160 362
+ -10000 194 26 270 937 120 742 871 465 326
+ -10000 195 207 23 14 48 299 210 244 102
+ -10000 524 471 282 766 172 754 280 922 77
+ -10000 203 250 193 466 485 330 468 474 562
+ -10000 288 864 685 980 380 373 80 377 5
+ -10000 331 250 232 611 763 823 383 767 849
+ -10000 610 60 945 790 335 330 936 970 12
+ -10000 154 910 256 194 11 6 386 159 147
+ -10000 295 814 954 789 138 744 415 57 847
+ -10000 573 533 797 508 177 609 402 871 619
+ -10000 52 950 779 144 690 311 691 644 997
+ -10000 639 192 484 900 32 525 360 215 84
+ -10000 109 176 260 231 257 927 780 754 40
+ -10000 593 802 596 694 304 31 293 876 441
+ -10000 876 74 231 473 841 214 763 94 105
+ -10000 593 302 33 967 159 66 391 205 917
+ -10000 832 232 189 504 741 981 887 30 635
+ -10000 112 162 397 672 649 103 879 406 161
+ -10000 362 647 120 922 274 928 31 79 307
+ -10000 110 465 602 802 110 781 985 510 659
+ -10000 528 379 377 887 405 705 212 844 737
+ -10000 67 432 137 78 443 247 803 343 150
+ -10000 133 512 932 552 732 544 332 107 534
+ -10000 421 560 101 266 730 217 763 643 981
+ -10000 728 853 142 222 909 721 385 608 144
+ -10000 922 838 849 408 166 5 156 265 892
+ -10000 66 259 641 677 587 497 487 261 733
+ -10000 919 52 99 100 179 128 172 9 367
+ -10000 379 59 573 248 70 662 649 920 436
+ -10000 28 467 969 350 453 78 603 668 478
+ -10000 739 751 659 328 654 211 865 227 515
+ -10000 858 894 212 863 154 477 196 252 190
+ -10000 996 566 495 964 26 45 589 582 251
+ -10000 664 403 152 569 572 89 819 769 326
+ -10000 923 48 612 72 523 506 228 458 714
+ -10000 960 482 194 693 104 818 426 826 828
+ -10000 188 460 828 298 506 899 244 383 195
+ -10000 824 824 471 379 52 103 125 208 179
+ -10000 510 139 722 605 566 274 944 708 443
+ -10000 926 308 76 829 265 882 41 919 310
+ -10000 320 14 820 917 636 898 269 602 78
+ -10000 143 403 491 484 600 518 340 671 851
+ -10000 62 892 306 452 61 322 404 463 90
+ -10000 381 255 665 495 909 845 292 749 329
+ -10000 686 839 530 987 724 952 384 292 850
+ -10000 176 609 740 538 990 159 534 782 494
+ -10000 384 596 736 976 875 6 507 126 715
+ -10000 276 821 496 449 810 251 604 540 151
+ -10000 433 429 403 108 950 229 734 224 510
+ -10000 988 442 673 701 630 512 220 448 544
+ -10000 959 570 822 439 231 102 966 573 307
+ -10000 646 685 603 518 526 860 256 917 894
+ -10000 560 447 398 281 868 81 296 650 527
+ -10000 80 860 407 610 34 321 620 572 183
+ -10000 409 897 660 803 497 186 52 363 934
+ -10000 491 820 118 580 513 692 589 6 325
+ -10000 865 679 690 932 605 813 890 59 564
+ -10000 90 473 575 822 201 710 808 39 622
+ -10000 726 987 906 916 245 152 180 186 476
+ -10000 284 254 548 750 77 598 115 103 791
+ -10000 210 749 136 315 179 633 707 144 91
+ -10000 315 309 396 219 804 119 555 560 761
+ -10000 329 584 27 197 446 624 771 580 592
+ -10000 47 593 641 938 283 122 687 108 829
+ -10000 220 489 106 885 107 6 519 202 526
+ -10000 508 706 968 864 767 314 363 374 810
+ -10000 397 216 327 931 492 215 625 92 271
+ -10000 338 907 931 922 792 407 493 8 52
+ -10000 643 88 737 507 610 872 381 296 277
+ -10000 56 889 364 288 965 209 955 981 458
+ -10000 887 397 222 307 513 592 609 509 205
+ -10000 692 758 874 245 274 564 565 276 36
+ -10000 863 110 815 790 345 186 891 379 845
+ -10000 831 586 887 547 135 833 884 350 308
+ -10000 296 414 773 440 431 690 841 521 231
+ -10000 256 572 897 868 281 536 282 235 775
+ -10000 843 290 374 327 24 34 470 198 132
+ -10000 462 493 598 777 227 731 844 372 527
+ -10000 717 419 541 916 472 663 94 671 517
+ -10000 883 408 183 115 90 118 453 418 525
+ -10000 975 989 155 462 652 272 345 378 123
+ -10000 698 774 219 584 368 56 236 504 405
+ -10000 481 794 528 144 727 680 255 599 34
+ -10000 266 598 680 814 605 184 89 199 393
+ -10000 217 327 469 800 26 618 883 43 772
+ -10000 186 102 5 662 931 455 888 556 205
+ -10000 792 817 708 420 763 68 850 805 942
+ -10000 996 855 698 435 779 567 445 970 897
+ -10000 525 911 853 618 631 88 358 267 635
+ -10000 861 743 767 277 770 588 292 228 60
+ -10000 949 226 683 157 621 212 768 161 562
+ -10000 199 658 187 46 402 30 368 107 746
+ -10000 182 229 202 959 20 596 420 484 272
+ -10000 301 619 321 775 414 525 358 163 709
+ -10000 554 988 867 50 385 679 894 325 557
+ -10000 625 152 679 797 104 39 465 421 914
+ -10000 261 817 387 234 289 652 54 373 145
+ -10000 6 449 617 189 713 129 299 751 279
+ -10000 317 219 265 676 828 907 883 518 651
+ -10000 553 659 62 441 26 520 863 937 827
+ -10000 463 753 578 898 36 160 148 921 355
+ -10000 643 226 549 851 843 744 196 686 365
+ -10000 289 681 237 680 33 530 679 753 70
+ -10000 621 150 727 406 853 303 569 368 251
+ -10000 533 947 510 76 481 80 581 880 668
+ -10000 583 239 420 741 533 914 157 804 316
+ -10000 412 896 614 888 216 263 702 264 299
+ -10000 76 411 748 821 990 916 122 413 681
+ -10000 990 288 938 369 864 558 364 410 591
+ -10000 423 679 406 127 30 412 146 454 509
+ -10000 712 525 727 210 779 874 251 622 882
+ -10000 630 400 153 681 104 981 530 800 251
+ -10000 116 199 306 748 661 953 1 807 596
+ -10000 170 759 452 499 521 851 721 222 48
+ -10000 257 211 273 260 706 262 200 428 348
+ -10000 453 607 380 936 404 515 565 540 396
+ -10000 650 220 714 692 494 450 897 25 152
+ -10000 886 209 457 14 123 139 819 785 164
+ -10000 718 697 444 384 964 85 668 79 836
+ -10000 680 444 496 300 299 599 211 936 197
+ -10000 277 41 89 598 779 525 670 990 838
+ -10000 758 763 367 467 127 197 693 924 490
+ -10000 661 5 676 139 18 32 289 901 448
+ -10000 744 419 544 681 880 940 610 647 689
+ -10000 43 836 874 181 185 201 2 73 258
+ -10000 847 198 938 621 875 991 585 411 869
+ -10000 67 139 595 692 265 24 227 554 357
+ -10000 4 795 652 423 298 809 390 37 236
+ -10000 976 867 84 82 963 92 363 677 188
+ -10000 974 573 713 372 25 917 689 434 616
+ -10000 898 218 728 179 743 760 259 202 980
+ -10000 663 409 24 766 133 494 503 369 967
+ -10000 376 922 123 297 46 859 739 144 998
+ -10000 41 463 127 114 637 775 331 772 116
+ -10000 41 302 93 900 520 871 55 354 965
+ -10000 416 533 941 977 279 123 201 175 34
+ -10000 548 594 942 600 723 896 177 129 987
+ -10000 122 676 683 25 6 205 131 320 44
+ -10000 223 250 491 800 919 976 915 294 329
+ -10000 189 267 322 693 957 384 69 795 81
+ -10000 523 125 281 312 791 679 167 640 463
+ -10000 807 546 555 391 257 166 211 538 254
+ -10000 672 359 838 170 166 865 859 958 333
+ -10000 439 287 309 325 800 686 962 729 79
+ -10000 984 266 180 232 325 410 829 980 345
+ -10000 797 224 561 850 281 473 552 406 242
+ -10000 699 180 317 545 339 297 707 796 262
+ -10000 462 650 96 976 206 696 228 275 225
+ -10000 91 243 792 982 728 869 418 442 815
+ -10000 214 3 822 603 450 90 471 283 473
+ -10000 88 807 773 901 760 216 367 680 810
+ -10000 515 903 395 179 621 79 613 463 885
+ -10000 225 339 13 963 996 396 859 139 808
+ -10000 772 113 616 548 446 321 867 62 348
+ -10000 253 125 433 754 517 194 869 273 437
+ -10000 533 920 919 879 701 374 55 883 612
+ -10000 6 748 98 141 420 183 203 583 174
+ -10000 586 4 213 136 311 605 582 843 942
+ -10000 821 133 334 390 965 83 850 202 785
+ -10000 65 278 350 574 80 546 476 269 433
+ -10000 65 40 410 344 53 355 839 470 269
+ -10000 68 721 93 393 475 903 678 495 165
+ -10000 127 458 552 777 986 800 858 148 849
+ -10000 882 983 96 255 282 822 227 530 372
+ -10000 884 909 920 617 675 144 500 462 618
+ -10000 866 1000 46 973 71 596 995 841 392
+ -10000 312 179 582 440 139 170 486 693 588
+ -10000 245 107 284 228 58 894 765 524 311
+ -10000 899 588 300 99 595 722 982 619 323
+ -10000 87 124 421 516 234 378 931 104 127
+ -10000 78 547 459 956 885 366 180 438 892
+ -10000 97 28 188 907 641 568 606 428 236
+ -10000 853 559 240 272 749 89 206 135 761
+ -10000 134 9 661 905 301 970 653 50 422
+ -10000 54 903 24 22 781 16 262 882 241
+ -10000 838 786 399 383 279 547 339 165 843
+ -10000 856 168 257 98 768 869 417 521 873
+ -10000 814 462 962 885 306 37 524 323 290
+ -10000 443 904 74 292 262 387 74 973 946
+ -10000 465 439 996 871 68 487 851 206 429
+ -10000 1 907 827 538 721 390 62 55 130
+ -10000 744 534 243 207 212 799 748 612 389
+ -10000 30 571 753 259 586 976 272 563 832
+ -10000 627 700 742 851 445 145 530 575 461
+ -10000 247 607 393 958 73 989 565 165 25
+ -10000 118 220 837 903 672 517 516 46 156
+ -10000 962 232 277 357 731 124 475 994 677
+ -10000 647 5 147 20 592 157 384 59 352
+ -10000 820 681 289 151 6 812 856 528 991
+ -10000 379 220 652 926 314 993 851 81 855
+ -10000 158 528 432 569 587 194 755 742 787
+ -10000 222 897 99 542 131 451 582 34 295
+ -10000 78 585 802 709 953 932 649 645 157
+ -10000 415 452 371 698 606 398 257 469 809
+ -10000 221 99 39 959 459 897 626 204 4
+ -10000 578 359 784 734 488 460 384 488 860
+ -10000 22 182 358 684 492 111 935 142 475
+ -10000 574 152 98 92 716 275 667 340 337
+ -10000 806 934 649 478 665 521 253 994 557
+ -10000 502 611 682 898 159 328 717 324 542
+ -10000 731 309 622 708 848 494 140 64 426
+ -10000 581 517 226 792 811 257 835 135 425
+ -10000 100 700 799 670 306 58 736 297 712
+ -10000 148 189 450 110 346 868 989 516 560
+ -10000 685 882 495 139 978 637 272 990 31
+ -10000 534 449 424 159 640 94 931 192 446
+ -10000 162 982 522 458 303 174 343 753 130
+ -10000 127 696 946 105 110 102 409 224 600
+ -10000 858 110 862 303 337 397 202 591 525
+ -10000 232 228 153 317 408 193 515 467 961
+ -10000 592 739 424 570 956 670 519 3 722
+ -10000 408 532 851 332 893 423 668 360 20
+ -10000 304 327 788 766 931 615 529 331 555
+ -10000 820 624 162 143 247 600 397 415 706
+ -10000 445 259 217 595 412 342 243 221 405
+ -10000 916 460 728 318 8 88 688 210 274
+ -10000 828 493 222 54 269 576 132 981 817
+ -10000 478 974 198 688 596 497 879 813 352
+ -10000 557 198 757 532 119 23 232 621 470
+ -10000 10 58 912 642 53 648 501 648 902
+ -10000 696 505 84 750 691 201 709 508 832
+ -10000 861 112 221 57 9 3 428 596 1000
+ -10000 651 346 81 878 701 780 20 418 155
+ -10000 354 27 70 84 286 640 31 955 769
+ -10000 407 592 852 782 896 158 497 248 467
+ -10000 983 171 694 958 879 320 954 427 272
+ -10000 239 387 337 60 221 385 667 373 38
+ -10000 966 364 676 180 540 902 477 848 19
+ -10000 294 437 676 409 843 628 390 609 983
+ -10000 470 632 230 367 294 416 674 873 12
+ -10000 0 412 466 797 573 860 724 16 262
+ -10000 44 936 593 876 396 987 50 783 581
+ -10000 416 293 788 164 625 373 336 266 198
+ -10000 170 702 225 277 414 823 659 237 953
+ -10000 328 468 326 722 530 521 282 699 670
+ -10000 845 18 366 417 531 600 9 106 932
+ -10000 119 851 571 29 110 323 311 760 668
+ -10000 908 780 461 802 667 898 278 80 676
+ -10000 453 887 410 13 880 99 137 84 370
+ -10000 145 734 697 446 396 975 453 485 255
+ -10000 650 762 163 649 847 910 155 123 494
+ -10000 670 505 933 15 315 364 629 105 247
+ -10000 783 269 90 982 745 367 721 159 140
+ -10000 773 21 829 678 426 264 761 538 858
+ -10000 459 706 870 153 660 369 814 341 460
+ -10000 633 12 723 191 857 365 632 944 681
+ -10000 769 987 916 959 363 831 224 302 879
+ -10000 197 343 700 50 393 45 657 392 517
+ -10000 154 420 579 809 65 826 821 653 662
+ -10000 686 108 715 286 855 199 967 453 528
+ -10000 275 670 575 635 607 318 490 489 274
+ -10000 704 925 47 123 502 740 85 273 26
+ -10000 693 865 206 249 64 241 977 729 978
+ -10000 891 554 115 446 678 572 506 80 923
+ -10000 333 527 630 430 410 178 641 322 147
+ -10000 566 655 518 804 225 2 994 567 25
+ -10000 599 308 927 943 964 837 932 482 277
+ -10000 275 367 364 618 528 980 67 524 56
+ -10000 706 792 127 954 485 826 238 122 77
+ -10000 794 668 588 800 143 794 784 678 978
+ -10000 736 141 574 310 678 97 679 511 399
+ -10000 12 755 234 845 376 777 806 195 563
+ -10000 601 688 289 954 637 278 180 296 940
+ -10000 886 438 251 899 47 202 223 190 579
+ -10000 100 921 834 292 987 294 25 250 698
+ -10000 339 372 319 242 949 590 683 460 809
+ -10000 885 766 322 426 128 448 437 864 491
+ -10000 844 630 660 475 118 856 926 21 766
+ -10000 172 759 148 523 6 996 114 158 217
+ -10000 2 381 472 704 931 271 155 606 235
+ -10000 920 63 304 380 882 327 526 235 485
+ -10000 193 700 246 656 775 702 217 372 868
+ -10000 667 256 177 163 955 165 712 278 817
+ -10000 137 429 799 383 840 819 124 41 228
+ -10000 427 472 23 285 420 307 515 866 525
+ -10000 505 155 632 929 952 235 675 76 334
+ -10000 80 779 661 796 747 944 616 241 992
+ -10000 600 833 294 286 187 740 510 151 417
+ -10000 283 332 752 104 719 801 75 298 375
+ -10000 753 283 850 742 455 928 782 369 847
+ -10000 331 727 457 382 28 941 354 166 196
+ -10000 422 586 245 164 930 336 708 214 431
+ -10000 507 138 900 558 963 209 372 848 82
+ -10000 652 986 546 691 128 721 662 25 99
+ -10000 404 320 603 808 254 737 337 480 243
+ -10000 103 121 993 470 445 858 431 313 706
+ -10000 466 93 890 805 974 813 384 80 245
+ -10000 427 156 994 147 474 655 863 874 11
+ -10000 666 516 309 726 82 303 275 774 893
+ -10000 572 134 530 660 14 603 125 211 578
+ -10000 300 939 867 974 999 243 443 836 22
+ -10000 896 405 109 261 778 939 498 893 14
+ -10000 539 919 289 989 652 78 148 963 829
+ -10000 124 612 367 347 66 961 78 291 49
+ -10000 466 227 290 351 23 333 680 212 670
+ -10000 574 701 807 858 308 225 228 993 461
+ -10000 775 417 641 450 457 37 891 197 828
+ -10000 965 686 635 802 783 849 31 628 389
+ -10000 428 972 842 252 67 928 211 1000 55
+ -10000 338 602 590 397 257 571 910 690 942
+ -10000 324 363 62 665 370 36 699 123 382
+ -10000 721 478 383 131 754 262 176 124 93
+ -10000 710 874 594 404 765 548 545 28 535
+ -10000 108 310 962 69 659 597 293 155 270
+ -10000 188 954 383 268 164 388 152 680 995
+ -10000 562 912 167 979 329 51 415 233 898
+ -10000 853 240 257 84 998 402 272 12 735
+ -10000 86 336 188 712 526 716 181 467 618
+ -10000 247 127 976 181 113 474 241 103 521
+ -10000 912 443 782 899 922 905 625 980 863
+ -10000 735 721 404 393 985 76 121 476 553
+ -10000 637 130 214 170 967 252 323 855 766
+ -10000 307 526 625 20 331 969 302 899 591
+ -10000 903 141 804 705 767 846 424 188 964
+ -10000 178 250 124 38 110 814 848 721 662
+ -10000 625 778 934 725 278 485 600 220 267
+ -10000 888 587 377 118 161 267 75 277 599
+ -10000 359 688 976 424 211 795 395 608 205
+ -10000 394 914 208 496 114 21 554 784 706
+ -10000 972 826 752 408 713 487 117 412 208
+ -10000 846 772 747 892 643 49 76 325 392
+ -10000 377 652 494 910 883 572 118 644 337
+ -10000 237 608 237 301 975 127 539 290 310
+ -10000 20 246 746 79 768 293 588 561 876
+ -10000 50 618 904 200 25 594 992 542 149
+ -10000 955 139 111 613 554 35 973 227 617
+ -10000 920 723 725 237 125 497 815 370 689
+ -10000 432 80 183 179 767 389 833 861 927
+ -10000 966 163 245 151 406 228 388 443 646
+ -10000 530 956 73 535 821 114 675 720 483
+ -10000 152 690 546 515 229 344 842 327 88
+ -10000 676 429 570 832 561 146 528 934 564
+ -10000 520 957 684 726 370 603 165 57 19
+ -10000 500 831 275 957 995 763 110 598 755
+ -10000 436 763 895 467 901 988 385 203 354
+ -10000 192 55 746 867 997 818 117 950 212
+ -10000 29 368 796 301 134 337 913 798 64
+ -10000 645 780 228 515 596 951 69 174 333
+ -10000 471 622 361 447 267 99 828 716 93
+ -10000 463 121 820 119 51 931 516 46 722
+ -10000 574 488 163 405 908 632 79 774 504
+ -10000 914 738 865 964 516 195 344 382 740
+ -10000 715 112 86 960 59 327 842 18 606
+ -10000 201 128 295 340 93 931 316 717 622
+ -10000 806 776 386 815 230 112 770 453 481
+ -10000 117 355 559 64 157 440 663 622 873
+ -10000 680 497 417 278 200 642 731 978 696
+ -10000 858 302 201 761 523 391 114 638 832
+ -10000 356 464 477 649 913 948 179 410 479
+ -10000 292 520 413 377 793 543 435 814 813
+ -10000 688 772 88 82 91 227 609 368 321
+ -10000 459 731 654 33 467 925 81 875 872
+ -10000 841 167 832 665 881 102 38 493 80
+ -10000 970 634 23 968 903 42 883 893 370
+ -10000 196 735 696 272 852 193 319 870 222
+ -10000 382 326 777 543 283 731 247 597 222
+ -10000 462 863 273 618 524 583 556 53 465
+ -10000 116 118 724 845 253 605 433 987 636
+ -10000 130 21 765 14 490 636 642 459 77
+ -10000 699 469 150 64 928 944 339 240 281
+ -10000 664 695 838 755 358 647 200 859 365
+ -10000 603 29 71 867 431 677 47 250 415
+ -10000 335 990 871 994 961 476 720 674 470
+ -10000 359 380 549 892 488 899 263 491 202
+ -10000 621 987 538 822 330 697 460 208 522
+ -10000 242 283 384 826 46 510 882 382 498
+ -10000 246 712 977 105 435 26 773 583 693
+ -10000 592 962 657 763 510 367 972 24 908
+ -10000 160 169 204 64 678 927 273 256 218
+ -10000 623 325 397 551 678 10 882 132 529
+ -10000 920 129 750 977 865 1 552 866 460
+ -10000 807 914 764 708 966 640 69 306 885
+ -10000 830 752 658 956 122 863 55 634 622
+ -10000 487 695 377 261 653 173 261 920 377
+ -10000 350 241 858 164 449 377 942 573 812
+ -10000 501 437 129 29 608 99 331 359 918
+ -10000 85 589 819 701 518 730 946 278 657
+ -10000 592 963 525 626 428 367 507 607 60
+ -10000 247 906 481 324 466 811 991 642 952
+ -10000 811 786 495 179 208 953 885 213 940
+ -10000 558 357 315 402 719 357 863 394 163
+ -10000 763 801 118 863 780 727 52 244 145
+ -10000 72 846 568 678 699 78 472 615 729
+ -10000 614 165 645 936 107 548 995 728 173
+ -10000 198 640 931 115 877 573 329 860 36
+ -10000 854 950 802 350 690 396 99 493 248
+ -10000 82 480 234 377 152 311 351 351 505
+ -10000 659 315 327 547 649 828 444 69 109
+ -10000 811 812 480 688 337 68 654 456 34
+ -10000 378 795 687 710 424 117 631 636 632
+ -10000 803 125 666 240 129 532 444 84 71
+ -10000 387 604 322 249 450 222 586 803 605
+ -10000 706 392 144 464 373 919 784 399 424
+ -10000 977 911 220 757 828 51 810 579 45
+ -10000 480 785 406 2 453 637 82 331 926
+ -10000 45 569 250 535 342 919 62 875 891
+ -10000 572 365 615 152 109 856 755 288 437
+ -10000 4 286 100 230 768 15 950 368 137
+ -10000 753 857 384 10 49 891 899 836 695
+ -10000 990 829 598 938 528 403 602 424 725
+ -10000 15 491 314 896 453 535 360 215 803
+ -10000 578 685 554 180 768 810 39 911 944
+ -10000 991 501 993 431 651 556 590 888 539
+ -10000 373 961 413 259 170 378 768 893 429
+ -10000 629 655 118 928 906 838 940 840 401
+ -10000 358 208 69 107 789 103 744 927 807
+ -10000 852 67 622 452 433 276 210 251 364
+ -10000 197 681 909 623 747 50 403 30 0
+ -10000 560 304 607 460 141 23 935 597 825
+ -10000 6 544 561 856 370 29 814 390 965
+ -10000 652 277 865 68 367 521 131 964 422
+ -10000 28 229 496 516 215 838 125 417 273
+ -10000 396 756 840 917 397 611 565 209 157
+ -10000 405 797 750 20 298 816 284 678 524
+ -10000 428 539 459 932 124 688 292 460 340
+ -10000 696 507 896 562 779 783 490 354 750
+ -10000 621 591 326 778 557 488 342 472 875
+ -10000 999 623 286 658 634 860 915 516 317
+ -10000 885 88 690 332 315 816 428 118 59
+ -10000 135 38 677 380 34 457 992 893 198
+ -10000 598 469 70 11 190 609 633 173 271
+ -10000 734 950 257 792 791 796 201 158 285
+ -10000 105 262 600 7 972 432 278 936 752
+ -10000 665 687 468 5 768 475 876 994 823
+ -10000 82 481 356 948 976 514 130 936 35
+ -10000 909 757 957 630 379 909 86 530 699
+ -10000 936 144 278 321 744 986 631 746 25
+ -10000 928 264 623 255 201 142 337 132 889
+ -10000 544 540 440 143 722 81 305 545 157
+ -10000 69 684 40 817 481 16 548 673 332
+ -10000 484 488 578 28 580 270 489 856 730
+ -10000 532 373 317 416 773 619 910 489 568
+ -10000 565 383 605 907 964 457 764 609 9
+ -10000 366 770 424 581 833 152 27 467 810
+ -10000 941 559 504 414 881 55 2 672 809
+ -10000 644 355 935 711 723 525 1 297 904
+ -10000 431 88 359 810 179 312 657 463 833
+ -10000 718 256 466 592 606 237 695 964 357
+ -10000 36 325 57 493 136 468 663 81 231
+ -10000 345 19 980 208 521 921 412 63 373
+ -10000 488 34 829 28 202 41 616 548 394
+ -10000 887 215 991 827 620 675 285 754 487
+ -10000 439 949 891 558 828 509 432 967 565
+ -10000 972 860 731 842 270 560 206 184 980
+ -10000 238 375 153 815 158 288 119 681 50
+ -10000 389 691 501 694 939 124 322 809 566
+ -10000 170 410 419 267 162 704 683 995 483
+ -10000 429 49 41 515 161 519 737 601 702
+ -10000 346 648 766 722 312 649 245 222 54
+ -10000 528 904 89 407 350 744 700 807 148
+ -10000 508 30 54 628 863 577 808 329 703
+ -10000 800 476 641 938 74 886 238 826 234
+ -10000 861 613 436 726 344 608 686 164 744
+ -10000 261 519 537 448 923 779 315 311 431
+ -10000 362 53 203 874 28 428 737 237 44
+ -10000 616 455 512 689 230 35 976 794 705
+ -10000 320 652 509 719 845 678 77 494 257
+ -10000 502 881 872 375 990 693 157 773 545
+ -10000 515 983 768 955 334 836 292 209 805
+ -10000 663 580 700 320 59 661 415 467 611
+ -10000 172 494 384 65 336 912 283 381 850
+ -10000 494 236 905 457 425 715 517 497 206
+ -10000 362 432 483 231 708 391 44 311 393
+ -10000 831 776 27 68 883 172 712 263 115
+ -10000 934 360 401 435 177 381 610 597 876
+ -10000 379 407 888 466 375 998 724 605 657
+ -10000 252 41 163 994 415 257 625 24 283
+ -10000 255 965 411 83 906 686 387 547 321
+ -10000 470 789 349 697 782 648 287 350 62
+ -10000 602 42 246 30 561 530 863 365 441
+ -10000 115 975 68 112 529 2 469 485 607
+ -10000 606 77 534 790 167 1 774 87 383
+ -10000 283 47 788 187 338 296 404 354 71
+ -10000 913 867 673 5 278 15 469 254 375
+ -10000 380 411 107 685 307 356 707 520 373
+ -10000 565 368 500 692 564 859 962 986 360
+ -10000 678 85 514 945 129 504 585 789 658
+ -10000 730 130 650 22 517 432 513 105 282
+ -10000 799 172 331 954 71 930 412 154 879
+ -10000 383 551 253 933 161 873 129 470 666
+ -10000 696 832 461 863 378 82 432 467 810
+ -10000 101 816 49 198 919 966 911 126 397
+ -10000 322 932 785 600 543 620 593 296 646
+ -10000 556 453 499 818 319 606 998 92 498
+ -10000 791 938 504 813 143 624 470 853 246
+ -10000 645 284 854 191 544 599 918 6 750
+ -10000 813 727 577 932 538 767 877 750 650
+ -10000 718 420 914 881 271 153 569 339 796
+ -10000 410 821 794 827 505 881 617 255 993
+ -10000 14 821 402 488 718 74 147 131 218
+ -10000 877 58 310 682 261 36 768 168 834
+ -10000 754 475 120 533 375 100 398 236 937
+ -10000 938 294 282 654 657 658 635 735 597
+ -10000 871 478 619 107 923 538 400 577 419
+ -10000 535 980 489 775 889 944 291 716 984
+ -10000 103 682 787 920 580 66 219 16 962
+ -10000 91 711 873 283 288 602 489 494 903
+ -10000 544 198 670 775 433 78 542 282 718
+ -10000 492 461 385 153 890 764 137 145 822
+ -10000 999 572 9 385 466 550 935 133 230
+ -10000 515 337 903 77 15 600 756 192 462
+ -10000 892 926 935 513 336 853 460 1 316
+ -10000 215 440 714 981 45 13 954 490 769
+ -10000 725 324 609 216 458 49 368 435 843
+ -10000 204 837 943 182 341 526 869 774 647
+ -10000 610 924 932 775 672 990 758 984 221
+ -10000 20 311 218 496 730 108 925 648 614
+ -10000 198 601 330 757 442 867 141 446 562
+ -10000 773 221 24 619 902 838 175 48 259
+ -10000 907 227 700 540 934 53 48 191 600
+ -10000 419 384 853 104 575 323 474 721 545
+ -10000 282 925 476 417 78 734 146 809 814
+ -10000 598 460 540 890 836 590 380 98 600
+ -10000 533 538 779 858 264 836 919 630 635
+ -10000 471 572 873 429 259 124 732 177 706
+ -10000 773 640 66 606 403 265 928 452 806
+ -10000 735 912 285 28 158 370 488 888 657
+ -10000 272 491 619 69 915 85 870 72 457
+ -10000 400 284 357 48 822 230 981 698 494
+ -10000 674 9 287 317 240 162 423 301 246
+ -10000 188 988 627 94 707 748 205 174 990
+ -10000 549 890 449 858 87 569 336 966 889
+ -10000 834 596 877 127 26 521 294 605 457
+ -10000 238 63 608 542 71 862 543 643 280
+ -10000 475 233 815 489 162 858 151 628 256
+ -10000 256 169 264 950 212 998 347 494 785
+ -10000 305 647 211 40 184 844 110 118 716
+ -10000 962 963 188 459 503 769 249 864 475
+ -10000 473 950 34 408 264 498 527 389 127
+ -10000 562 971 651 220 509 44 121 302 141
+ -10000 833 556 48 581 785 22 65 150 438
+ -10000 200 354 503 637 616 32 951 12 644
+ -10000 561 470 989 356 338 530 142 216 487
+ -10000 623 419 591 665 388 851 235 898 85
+ -10000 928 301 517 232 346 551 596 208 911
+ -10000 673 384 706 421 559 737 230 355 480
+ -10000 665 360 907 485 778 553 424 100 756
+ -10000 659 276 316 291 282 1000 8 879 82
+ -10000 131 831 81 884 865 37 590 910 971
+ -10000 487 940 522 953 476 633 580 656 267
+ -10000 736 653 633 376 912 404 950 750 980
+ -10000 935 319 1000 5 4 768 275 606 911
+ -10000 221 449 486 369 932 998 327 630 894
+ -10000 696 929 881 726 438 218 802 1000 401
+ -10000 64 935 214 408 611 508 173 854 39
+ -10000 792 475 115 366 157 581 560 388 207
+ -10000 395 887 155 451 69 806 947 666 93
+ -10000 44 171 933 901 496 356 532 819 367
+ -10000 885 158 707 665 114 405 87 383 389
+ -10000 137 611 470 285 68 771 116 421 543
+ -10000 674 573 25 7 808 375 105 771 348
+ -10000 32 735 21 580 261 622 531 125 911
+ -10000 646 68 509 881 284 59 835 813 771
+ -10000 53 245 830 599 467 466 229 99 571
+ -10000 44 354 212 451 357 138 263 966 626
+ -10000 619 614 421 770 607 261 22 735 211
+ -10000 646 68 507 997 557 203 159 999 220
+ -10000 934 535 76 940 617 140 592 294 582
+ -10000 821 344 420 565 50 782 538 652 650
+ -10000 552 954 600 92 755 973 12 74 179
+ -10000 739 126 676 993 919 984 695 978 51
+ -10000 670 635 556 981 260 9 805 623 851
+ -10000 531 148 949 260 736 326 89 239 301
+ -10000 271 785 368 776 793 203 135 366 420
+ -10000 997 388 421 402 52 193 753 733 509
+ -10000 987 882 740 957 399 85 91 233 697
+ -10000 689 673 537 538 866 749 411 978 0
+ -10000 195 727 171 563 242 820 931 561 417
+ -10000 924 421 138 651 821 806 950 402 569
+ -10000 895 731 150 557 365 603 924 341 551
+ -10000 258 306 710 204 16 499 672 19 520
+ -10000 511 230 292 970 702 671 647 931 933
+ -10000 5 405 752 529 751 473 121 718 479
+ -10000 293 208 672 23 630 580 75 282 70
+ -10000 931 926 579 481 555 911 204 663 872
+ -10000 729 857 102 151 611 526 264 509 219
+ -10000 333 502 922 798 94 18 289 935 898
+ -10000 1 496 982 169 142 583 135 317 376
+ -10000 238 346 625 537 877 844 566 920 245
+ -10000 359 27 913 907 232 145 779 571 689
+ -10000 587 527 470 549 892 132 771 608 82
+ -10000 8 890 509 196 956 103 829 500 533
+ -10000 958 595 528 676 198 293 153 574 67
+ -10000 807 23 111 715 994 246 350 102 630
+ -10000 619 754 166 389 917 441 342 506 775
+ -10000 941 891 755 982 451 281 416 893 435
+ -10000 703 247 598 587 755 512 221 542 685
+ -10000 863 931 974 555 976 700 403 715 454
+ -10000 705 783 39 757 700 852 760 249 346
+ -10000 960 955 136 950 375 239 594 559 315
+ -10000 694 588 350 349 168 984 765 55 620
+ -10000 557 145 925 1000 903 836 946 73 133
+ -10000 13 685 502 994 600 818 47 658 402
+ -10000 259 18 265 149 880 242 231 47 685
+ -10000 689 286 584 569 914 432 735 218 425
+ -10000 228 731 378 584 899 597 415 841 262
+ -10000 436 208 169 930 997 261 286 659 364
+ -10000 709 827 751 323 826 202 396 33 253
+ -10000 400 134 988 32 574 967 569 910 232
+ -10000 263 667 578 336 364 280 194 611 692
+ -10000 704 287 251 151 36 106 860 592 722
+ -10000 998 797 293 800 402 202 741 308 374
+ -10000 172 539 652 731 574 765 294 847 636
+ -10000 195 545 632 33 310 339 867 360 240
+ -10000 414 658 329 926 165 469 750 623 502
+ -10000 307 542 65 282 316 269 105 69 852
+ -10000 117 837 634 89 394 556 945 65 271
+ -10000 570 86 312 451 432 773 929 720 285
+ -10000 416 254 564 283 522 77 812 78 789
+ -10000 512 315 215 939 370 998 171 727 106
+ -10000 370 576 738 332 48 573 312 251 133
+ -10000 311 724 977 984 162 506 171 3 361
+ -10000 724 331 502 592 215 420 886 986 770
+ -10000 189 418 373 386 610 377 642 912 107
+ -10000 801 888 36 837 851 922 562 487 423
+ -10000 855 387 326 303 871 214 183 749 258
+ -10000 789 269 790 288 509 673 720 745 524
+ -10000 158 674 661 430 718 995 712 479 115
+ -10000 86 654 159 385 566 491 560 471 514
+ -10000 853 592 524 320 255 804 167 941 268
+ -10000 513 753 938 505 224 495 279 938 26
+ -10000 927 653 990 626 119 270 968 24 954
+ -10000 763 669 772 310 64 139 517 152 686
+ -10000 123 564 911 515 740 51 330 130 241
+ -10000 577 675 302 904 812 915 246 125 991
+ -10000 877 723 194 285 24 547 815 534 567
+ -10000 634 553 750 801 263 633 992 978 979
+ -10000 172 595 9 618 371 974 180 308 28
+ -10000 339 441 47 117 92 179 358 996 43
+ -10000 290 613 148 545 350 692 743 168 322
+ -10000 188 491 928 386 286 28 394 342 884
+ -10000 2 984 892 519 6 565 902 909 116
+ -10000 955 452 394 923 598 503 33 809 695
+ -10000 183 971 68 21 720 45 162 872 454
+ -10000 419 866 921 439 842 881 426 105 395
+ -10000 310 349 997 525 337 151 299 260 337
+ -10000 90 436 468 188 437 972 358 290 709
+ -10000 146 813 684 76 273 150 938 591 801
+ -10000 817 121 308 308 482 201 161 619 39
+ -10000 324 912 455 227 272 539 583 789 700
+ -10000 551 438 889 935 975 867 218 487 101
+ -10000 757 802 119 119 75 897 349 223 660
+ -10000 696 356 486 708 869 244 133 199 814
+ -10000 579 240 559 575 230 705 58 495 820
+ -10000 952 39 814 621 966 982 625 165 710
+ -10000 138 513 164 832 601 279 346 794 792
+ -10000 837 763 807 667 157 352 233 735 341
+ -10000 570 563 900 81 933 621 178 665 566
+ -10000 992 305 415 782 431 380 424 555 457
+ -10000 810 598 520 524 171 741 706 909 782
+ -10000 699 178 177 780 983 389 206 354 529
+ -10000 246 402 486 404 750 664 572 615 378
+ -10000 706 652 882 512 990 981 819 156 118
+ -10000 582 390 97 460 88 506 482 892 621
+ -10000 330 723 920 759 39 165 295 301 372
+ -10000 863 390 771 199 524 397 603 980 872
+ -10000 864 921 782 680 832 653 36 159 544
+ -10000 914 575 843 101 888 502 433 195 956
+ -10000 87 235 325 714 646 686 75 943 666
+ -10000 740 315 35 970 422 558 357 725 422
+ -10000 630 203 715 60 178 309 739 279 383
+ -10000 838 754 302 938 429 270 499 663 387
+ -10000 955 632 571 734 592 604 366 77 458
+ -10000 313 992 685 425 406 275 87 322 729
+ -10000 780 874 490 55 71 198 266 585 814
+ -10000 132 762 645 379 729 535 45 278 538
+ -10000 79 778 374 292 589 428 572 975 481
+ -10000 781 405 448 980 354 776 469 721 525
+ -10000 247 300 426 856 312 95 5 700 224
+ -10000 826 978 805 785 7 2 538 696 619
+ -10000 599 803 795 716 458 340 623 259 659
+ -10000 561 400 392 618 276 250 932 408 99
+ -10000 440 145 798 286 378 723 212 207 521
+ -10000 85 980 151 383 338 436 815 807 382
+ -10000 895 622 397 309 705 502 132 76 878
+ -10000 66 402 320 421 296 234 873 960 35
+ -10000 152 966 332 237 558 756 956 571 697
+ -10000 469 575 830 426 33 484 648 368 957
+ -10000 615 448 320 640 666 141 605 387 522
+ -10000 430 443 291 250 923 955 948 677 168
+ -10000 218 778 924 538 827 343 137 117 477
+ -10000 843 130 698 68 180 881 904 315 449
+ -10000 889 890 87 240 41 675 862 328 610
+ -10000 546 320 118 229 608 216 409 95 353
+ -10000 73 237 707 513 390 0 705 463 14
+ -10000 137 10 315 789 295 994 61 277 977
+ -10000 163 421 254 922 620 61 516 706 48
+ -10000 993 960 253 387 358 256 665 581 238
+ -10000 224 91 420 815 854 637 389 694 254
+ -10000 297 486 316 156 126 221 571 680 464
+ -10000 377 607 34 221 6 193 977 3 656
+ -10000 102 914 623 576 179 39 336 582 301
+ -10000 77 696 605 247 867 716 663 892 374
+ -10000 471 298 427 591 745 428 258 387 15
+ -10000 826 362 286 436 616 898 810 453 995
+ -10000 321 160 924 904 264 238 12 946 341
+ -10000 367 665 998 176 940 240 747 750 559
+ -10000 990 286 417 565 446 919 783 930 909
+ -10000 79 612 716 957 430 453 701 859 661
+ -10000 687 869 442 778 16 106 55 57 951
+ -10000 943 585 306 931 72 801 906 677 328
+ -10000 134 839 312 11 419 831 789 317 543
+ -10000 499 439 441 807 45 240 633 77 696
+ -10000 314 846 378 225 505 797 143 115 275
+ -10000 941 313 729 98 433 447 342 131 746
+ -10000 932 408 614 175 83 688 559 393 464
+ -10000 491 844 392 317 460 216 257 40 452
+ -10000 833 880 4 656 685 742 343 466 754
+ -10000 673 959 449 268 492 75 70 161 919
+ -10000 950 540 471 217 96 679 647 463 747
+ -10000 149 946 523 623 78 71 198 669 582
+ -10000 829 74 115 927 190 930 19 766 145
+ -10000 305 377 351 761 136 497 316 768 261
+ -10000 980 965 166 953 959 859 585 368 597
+ -10000 469 392 170 81 935 662 72 995 482
+ -10000 99 79 835 134 62 552 626 966 918
+ -10000 632 421 784 88 524 712 729 260 262
+ -10000 721 965 414 413 288 244 165 382 835
+ -10000 946 519 320 490 106 744 680 34 239
+ -10000 124 453 571 258 500 96 643 49 710
+ -10000 403 11 542 265 536 936 740 269 778
+ -10000 38 283 495 854 243 354 416 791 241
+ -10000 295 25 447 772 826 293 911 276 963
+ -10000 826 18 855 839 164 23 43 216 679
+ -10000 296 655 67 392 996 761 210 989 543
+ -10000 297 69 202 130 754 501 78 986 310
+ -10000 703 571 287 628 18 198 275 581 926
+ -10000 998 805 180 888 127 55 21 957 992
+ -10000 201 784 911 686 459 832 890 836 566
+ -10000 816 124 864 426 663 599 922 453 933
+ -10000 810 860 804 324 134 847 937 627 928
+ -10000 263 431 350 455 896 812 273 360 296
+ -10000 389 470 56 881 464 131 117 201 145
+ -10000 778 734 484 135 324 724 36 995 655
+ -10000 87 434 59 159 503 705 650 390 943
+ -10000 844 316 965 497 103 604 923 222 864
+ -10000 135 343 584 596 756 376 311 306 771
+ -10000 955 802 655 477 81 498 799 673 322
+ -10000 855 647 999 448 883 412 230 94 438
+ -10000 401 117 963 949 566 720 903 929 255
+ -10000 705 642 711 625 183 880 317 50 169
+ -10000 574 189 416 718 895 848 669 991 533
+ -10000 919 412 587 18 252 389 832 960 221
+ -10000 624 659 141 311 860 796 626 377 422
+ -10000 934 329 579 809 504 2 953 997 93
+ -10000 859 258 362 291 255 35 875 272 240
+ -10000 408 374 862 773 8 509 921 180 25
+ -10000 409 19 203 542 953 297 14 893 331
+ -10000 171 341 638 664 476 497 837 796 254
+ -10000 544 96 940 360 80 376 718 633 164
+ -10000 444 378 268 0 716 903 513 491 314
+ -10000 95 206 472 218 743 611 438 274 190
+ -10000 60 40 627 214 692 463 679 439 306
+ -10000 64 568 414 61 586 324 763 486 210
+ -10000 408 313 668 588 119 898 868 651 755
+ -10000 81 652 898 695 505 199 560 810 103
+ -10000 55 352 226 745 487 580 687 642 881
+ -10000 507 736 843 26 138 670 863 709 529
+ -10000 713 373 323 980 925 711 16 108 600
+ -10000 87 13 802 917 768 864 375 759 492
+end
+maximize
+ 0 10000 10000 10000 10000 10000 10000 -10000 -10000 -10000
+!adjacency
diff --git a/third_party/cddlib/examples/samplev1.ext b/third_party/cddlib/examples/samplev1.ext
new file mode 100644
index 0000000..1ba4e03
--- /dev/null
+++ b/third_party/cddlib/examples/samplev1.ext
@@ -0,0 +1,12 @@
+* file name: libtesta.ext
+* a 1-D cone in 3D space
+V-representation
+begin
+    2    4   integer
+  1  1  0  1
+  0  0  1  0 
+end
+incidence
+adjacency
+
+
diff --git a/third_party/cddlib/examples/samplev2.ext b/third_party/cddlib/examples/samplev2.ext
new file mode 100644
index 0000000..826d198
--- /dev/null
+++ b/third_party/cddlib/examples/samplev2.ext
@@ -0,0 +1,12 @@
+* file name: libtestb.ext
+* a 1-D cone in 3D space without any vertices
+V-representation
+begin
+    3    4   integer
+  0  0  0  1
+  1  1  0  0
+  0  1 -1  0
+end
+linearity  1  3
+
+
diff --git a/third_party/cddlib/examples/samplev3.ext b/third_party/cddlib/examples/samplev3.ext
new file mode 100644
index 0000000..f692bf1
--- /dev/null
+++ b/third_party/cddlib/examples/samplev3.ext
@@ -0,0 +1,16 @@
+* test file for redundancy removal
+* the redundant rows: 2 4 5 6 7 
+* the implicit linearities : 8 9 
+V-representation
+begin
+  9  3  integer
+ 1 0 0
+ 1 2 0
+ 1 0 2
+ 1 1 1
+ 1 2 1
+ 1 1 2
+ 1 2 2
+ 0 1 0
+ 0 -1 0
+end
diff --git a/third_party/cddlib/install-sh b/third_party/cddlib/install-sh
new file mode 100755
index 0000000..a5897de
--- /dev/null
+++ b/third_party/cddlib/install-sh
@@ -0,0 +1,519 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2006-12-25.00
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" ""	$nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+  doit_exec=exec
+else
+  doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+  test "$posix_glob" != "?" || {
+    if (set -f) 2>/dev/null; then
+      posix_glob=
+    else
+      posix_glob=:
+    fi
+  }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+     --help     display this help and exit.
+     --version  display version info and exit.
+
+  -c            (ignored)
+  -C            install only if different (preserve the last data modification time)
+  -d            create directories instead of installing files.
+  -g GROUP      $chgrpprog installed files to GROUP.
+  -m MODE       $chmodprog installed files to MODE.
+  -o USER       $chownprog installed files to USER.
+  -s            $stripprog installed files.
+  -t DIRECTORY  install into DIRECTORY.
+  -T            report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+  RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) ;;
+
+    -C) copy_on_change=true;;
+
+    -d) dir_arg=true;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+	shift;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+	case $mode in
+	  *' '* | *'	'* | *'
+'*	  | *'*'* | *'?'* | *'['*)
+	    echo "$0: invalid mode: $mode" >&2
+	    exit 1;;
+	esac
+	shift;;
+
+    -o) chowncmd="$chownprog $2"
+	shift;;
+
+    -s) stripcmd=$stripprog;;
+
+    -t) dst_arg=$2
+	shift;;
+
+    -T) no_target_directory=true;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --)	shift
+	break;;
+
+    -*)	echo "$0: invalid option: $1" >&2
+	exit 1;;
+
+    *)  break;;
+  esac
+  shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dst_arg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dst_arg"
+      shift # fnord
+    fi
+    shift # arg
+    dst_arg=$arg
+  done
+fi
+
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+if test -z "$dir_arg"; then
+  trap '(exit $?); exit' 1 2 13 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+	u_plus_rw=
+      else
+	u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+	u_plus_rw=
+      else
+	u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  else
+
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dst_arg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dst_arg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dst_arg: Is a directory" >&2
+	exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      # Prefer dirname, but fall back on a substitute if dirname fails.
+      dstdir=`
+	(dirname "$dst") 2>/dev/null ||
+	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	     X"$dst" : 'X\(//\)[^/]' \| \
+	     X"$dst" : 'X\(//\)$' \| \
+	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+	echo X"$dst" |
+	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\/\)[^/].*/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\/\)$/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\).*/{
+		   s//\1/
+		   q
+		 }
+		 s/.*/./; q'
+      `
+
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+	# Create intermediate dirs using mode 755 as modified by the umask.
+	# This is like FreeBSD 'install' as of 1997-10-28.
+	umask=`umask`
+	case $stripcmd.$umask in
+	  # Optimize common cases.
+	  *[2367][2367]) mkdir_umask=$umask;;
+	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+	  *[0-7])
+	    mkdir_umask=`expr $umask + 22 \
+	      - $umask % 100 % 40 + $umask % 20 \
+	      - $umask % 10 % 4 + $umask % 2
+	    `;;
+	  *) mkdir_umask=$umask,go-w;;
+	esac
+
+	# With -d, create the new directory with the user-specified mode.
+	# Otherwise, rely on $mkdir_umask.
+	if test -n "$dir_arg"; then
+	  mkdir_mode=-m$mode
+	else
+	  mkdir_mode=
+	fi
+
+	posix_mkdir=false
+	case $umask in
+	  *[123567][0-7][0-7])
+	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
+	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+	    ;;
+	  *)
+	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+	    if (umask $mkdir_umask &&
+		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+	    then
+	      if test -z "$dir_arg" || {
+		   # Check for POSIX incompatibilities with -m.
+		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+		   # other-writeable bit of parent directory when it shouldn't.
+		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+		   case $ls_ld_tmpdir in
+		     d????-?r-*) different_mode=700;;
+		     d????-?--*) different_mode=755;;
+		     *) false;;
+		   esac &&
+		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+		   }
+		 }
+	      then posix_mkdir=:
+	      fi
+	      rmdir "$tmpdir/d" "$tmpdir"
+	    else
+	      # Remove any dirs left behind by ancient mkdir implementations.
+	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+	    fi
+	    trap '' 0;;
+	esac;;
+    esac
+
+    if
+      $posix_mkdir && (
+	umask $mkdir_umask &&
+	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
+
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
+
+      case $dstdir in
+	/*) prefix='/';;
+	-*) prefix='./';;
+	*)  prefix='';;
+      esac
+
+      eval "$initialize_posix_glob"
+
+      oIFS=$IFS
+      IFS=/
+      $posix_glob set -f
+      set fnord $dstdir
+      shift
+      $posix_glob set +f
+      IFS=$oIFS
+
+      prefixes=
+
+      for d
+      do
+	test -z "$d" && continue
+
+	prefix=$prefix$d
+	if test -d "$prefix"; then
+	  prefixes=
+	else
+	  if $posix_mkdir; then
+	    (umask=$mkdir_umask &&
+	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+	    # Don't fail if two instances are running concurrently.
+	    test -d "$prefix" || exit 1
+	  else
+	    case $prefix in
+	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+	      *) qprefix=$prefix;;
+	    esac
+	    prefixes="$prefixes '$qprefix'"
+	  fi
+	fi
+	prefix=$prefix/
+      done
+
+      if test -n "$prefixes"; then
+	# Don't fail if two instances are running concurrently.
+	(umask $mkdir_umask &&
+	 eval "\$doit_exec \$mkdirprog $prefixes") ||
+	  test -d "$dstdir" || exit 1
+	obsolete_mkdir_used=true
+      fi
+    fi
+  fi
+
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+    # If -C, don't bother to copy if it wouldn't change the file.
+    if $copy_on_change &&
+       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
+
+       eval "$initialize_posix_glob" &&
+       $posix_glob set -f &&
+       set X $old && old=:$2:$4:$5:$6 &&
+       set X $new && new=:$2:$4:$5:$6 &&
+       $posix_glob set +f &&
+
+       test "$old" = "$new" &&
+       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+    then
+      rm -f "$dsttmp"
+    else
+      # Rename the file to the real destination.
+      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+      # The rename failed, perhaps because mv can't rename something else
+      # to itself, or perhaps because mv is so ancient that it does not
+      # support -f.
+      {
+	# Now remove or move aside any old file at destination location.
+	# We try this two ways since rm can't unlink itself on some
+	# systems and the destination file might be busy for other
+	# reasons.  In this case, the final cleanup might fail but the new
+	# file should still install successfully.
+	{
+	  test ! -f "$dst" ||
+	  $doit $rmcmd -f "$dst" 2>/dev/null ||
+	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+	  } ||
+	  { echo "$0: cannot unlink or rename $dst" >&2
+	    (exit 1); exit 1
+	  }
+	} &&
+
+	# Now rename the file to the real destination.
+	$doit $mvcmd "$dsttmp" "$dst"
+      }
+    fi || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/third_party/cddlib/lib-src-gmp/Makefile.am b/third_party/cddlib/lib-src-gmp/Makefile.am
new file mode 100644
index 0000000..b3ab11a
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/Makefile.am
@@ -0,0 +1,28 @@
+lib_LTLIBRARIES = libcddgmp.la
+
+libcddgmp_la_SOURCES = \
+cddcore.c \
+cddlp.c	\
+cddmp.c \
+cddio.c \
+cddlib.c \
+cddproj.c \
+cddcore_f.c \
+cddlp_f.c	\
+cddmp_f.c \
+cddio_f.c \
+cddlib_f.c \
+cddproj_f.c \
+setoper.c
+
+include_HEADERS = \
+cdd.h \
+cddmp.h \
+cddtypes.h \
+cdd_f.h \
+cddmp_f.h \
+cddtypes_f.h \
+setoper.h
+
+AM_CPPFLAGS = -I$(gmpincludedir) -DGMPRATIONAL
+AM_LDFLAGS = -version-info 0:0:0
diff --git a/third_party/cddlib/lib-src-gmp/Makefile.in b/third_party/cddlib/lib-src-gmp/Makefile.in
new file mode 100644
index 0000000..4ab9342
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/Makefile.in
@@ -0,0 +1,524 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = lib-src-gmp
+DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libcddgmp_la_LIBADD =
+am_libcddgmp_la_OBJECTS = cddcore.lo cddlp.lo cddmp.lo cddio.lo \
+	cddlib.lo cddproj.lo cddcore_f.lo cddlp_f.lo cddmp_f.lo \
+	cddio_f.lo cddlib_f.lo cddproj_f.lo setoper.lo
+libcddgmp_la_OBJECTS = $(am_libcddgmp_la_OBJECTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+SOURCES = $(libcddgmp_la_SOURCES)
+DIST_SOURCES = $(libcddgmp_la_SOURCES)
+includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(include_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+lib_LTLIBRARIES = libcddgmp.la
+libcddgmp_la_SOURCES = \
+cddcore.c \
+cddlp.c	\
+cddmp.c \
+cddio.c \
+cddlib.c \
+cddproj.c \
+cddcore_f.c \
+cddlp_f.c	\
+cddmp_f.c \
+cddio_f.c \
+cddlib_f.c \
+cddproj_f.c \
+setoper.c
+
+include_HEADERS = \
+cdd.h \
+cddmp.h \
+cddtypes.h \
+cdd_f.h \
+cddmp_f.h \
+cddtypes_f.h \
+setoper.h
+
+AM_CPPFLAGS = -I$(gmpincludedir) -DGMPRATIONAL
+AM_LDFLAGS = -version-info 0:0:0
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  lib-src-gmp/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  lib-src-gmp/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    f=$(am__strip_dir) \
+	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	  else :; fi; \
+	done
+
+uninstall-libLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	done
+
+clean-libLTLIBRARIES:
+	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libcddgmp.la: $(libcddgmp_la_OBJECTS) $(libcddgmp_la_DEPENDENCIES) 
+	$(LINK) -rpath $(libdir) $(libcddgmp_la_OBJECTS) $(libcddgmp_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddcore.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddcore_f.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddio.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddio_f.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddlib.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddlib_f.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddlp.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddlp_f.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddmp.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddmp_f.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddproj.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddproj_f.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setoper.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-includeHEADERS: $(include_HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+	@list='$(include_HEADERS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
+	  $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+	done
+
+uninstall-includeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(include_HEADERS)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(includedir)/$$f"; \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-includeHEADERS
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libLTLIBRARIES clean-libtool ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-includeHEADERS install-info \
+	install-info-am install-libLTLIBRARIES install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-includeHEADERS \
+	uninstall-libLTLIBRARIES
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/third_party/cddlib/lib-src-gmp/cdd.h b/third_party/cddlib/lib-src-gmp/cdd.h
new file mode 120000
index 0000000..170f98f
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cdd.h
@@ -0,0 +1 @@
+../lib-src/cdd.h
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src-gmp/cdd_f.h b/third_party/cddlib/lib-src-gmp/cdd_f.h
new file mode 100644
index 0000000..1bee024
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cdd_f.h
Binary files differ
diff --git a/third_party/cddlib/lib-src-gmp/cddcore.c b/third_party/cddlib/lib-src-gmp/cddcore.c
new file mode 120000
index 0000000..2ad9de8
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddcore.c
@@ -0,0 +1 @@
+../lib-src/cddcore.c
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src-gmp/cddcore_f.c b/third_party/cddlib/lib-src-gmp/cddcore_f.c
new file mode 100644
index 0000000..f1ae9d9
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddcore_f.c
Binary files differ
diff --git a/third_party/cddlib/lib-src-gmp/cddio.c b/third_party/cddlib/lib-src-gmp/cddio.c
new file mode 120000
index 0000000..06fd468
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddio.c
@@ -0,0 +1 @@
+../lib-src/cddio.c
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src-gmp/cddio_f.c b/third_party/cddlib/lib-src-gmp/cddio_f.c
new file mode 100644
index 0000000..5dcf1cf
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddio_f.c
Binary files differ
diff --git a/third_party/cddlib/lib-src-gmp/cddlib.c b/third_party/cddlib/lib-src-gmp/cddlib.c
new file mode 120000
index 0000000..b4cd45a
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddlib.c
@@ -0,0 +1 @@
+../lib-src/cddlib.c
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src-gmp/cddlib_f.c b/third_party/cddlib/lib-src-gmp/cddlib_f.c
new file mode 100644
index 0000000..a3b0ab6
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddlib_f.c
Binary files differ
diff --git a/third_party/cddlib/lib-src-gmp/cddlp.c b/third_party/cddlib/lib-src-gmp/cddlp.c
new file mode 120000
index 0000000..44d1799
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddlp.c
@@ -0,0 +1 @@
+../lib-src/cddlp.c
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src-gmp/cddlp_f.c b/third_party/cddlib/lib-src-gmp/cddlp_f.c
new file mode 100644
index 0000000..8fa1f4b
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddlp_f.c
Binary files differ
diff --git a/third_party/cddlib/lib-src-gmp/cddmp.c b/third_party/cddlib/lib-src-gmp/cddmp.c
new file mode 120000
index 0000000..d1fb58a
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddmp.c
@@ -0,0 +1 @@
+../lib-src/cddmp.c
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src-gmp/cddmp.h b/third_party/cddlib/lib-src-gmp/cddmp.h
new file mode 120000
index 0000000..c09bb09
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddmp.h
@@ -0,0 +1 @@
+../lib-src/cddmp.h
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src-gmp/cddmp_f.c b/third_party/cddlib/lib-src-gmp/cddmp_f.c
new file mode 100644
index 0000000..717ea18
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddmp_f.c
Binary files differ
diff --git a/third_party/cddlib/lib-src-gmp/cddmp_f.h b/third_party/cddlib/lib-src-gmp/cddmp_f.h
new file mode 100644
index 0000000..0b82599
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddmp_f.h
Binary files differ
diff --git a/third_party/cddlib/lib-src-gmp/cddproj.c b/third_party/cddlib/lib-src-gmp/cddproj.c
new file mode 120000
index 0000000..14ba32e
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddproj.c
@@ -0,0 +1 @@
+../lib-src/cddproj.c
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src-gmp/cddproj_f.c b/third_party/cddlib/lib-src-gmp/cddproj_f.c
new file mode 100644
index 0000000..63033b6
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddproj_f.c
Binary files differ
diff --git a/third_party/cddlib/lib-src-gmp/cddtypes.h b/third_party/cddlib/lib-src-gmp/cddtypes.h
new file mode 120000
index 0000000..157c8d2
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddtypes.h
@@ -0,0 +1 @@
+../lib-src/cddtypes.h
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src-gmp/cddtypes_f.h b/third_party/cddlib/lib-src-gmp/cddtypes_f.h
new file mode 100644
index 0000000..4d24bf9
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/cddtypes_f.h
Binary files differ
diff --git a/third_party/cddlib/lib-src-gmp/setoper.c b/third_party/cddlib/lib-src-gmp/setoper.c
new file mode 120000
index 0000000..95eee52
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/setoper.c
@@ -0,0 +1 @@
+../lib-src/setoper.c
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src-gmp/setoper.h b/third_party/cddlib/lib-src-gmp/setoper.h
new file mode 120000
index 0000000..66da2cf
--- /dev/null
+++ b/third_party/cddlib/lib-src-gmp/setoper.h
@@ -0,0 +1 @@
+../lib-src/setoper.h
\ No newline at end of file
diff --git a/third_party/cddlib/lib-src/Makefile.am b/third_party/cddlib/lib-src/Makefile.am
new file mode 100644
index 0000000..fe08dc3
--- /dev/null
+++ b/third_party/cddlib/lib-src/Makefile.am
@@ -0,0 +1,19 @@
+lib_LTLIBRARIES = libcdd.la
+
+libcdd_la_SOURCES = \
+cddcore.c \
+cddlp.c	\
+cddmp.c \
+cddio.c \
+cddlib.c \
+cddproj.c \
+setoper.c
+
+include_HEADERS = \
+cdd.h \
+cddmp.h \
+cddtypes.h \
+setoper.h
+
+AM_CPPFLAGS = -UGMPRATIONAL
+AM_LDFLAGS = -version-info 0:0:0
diff --git a/third_party/cddlib/lib-src/Makefile.in b/third_party/cddlib/lib-src/Makefile.in
new file mode 100644
index 0000000..bd3c2b5
--- /dev/null
+++ b/third_party/cddlib/lib-src/Makefile.in
@@ -0,0 +1,508 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = lib-src
+DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
+libLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(lib_LTLIBRARIES)
+libcdd_la_LIBADD =
+am_libcdd_la_OBJECTS = cddcore.lo cddlp.lo cddmp.lo cddio.lo cddlib.lo \
+	cddproj.lo setoper.lo
+libcdd_la_OBJECTS = $(am_libcdd_la_OBJECTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+SOURCES = $(libcdd_la_SOURCES)
+DIST_SOURCES = $(libcdd_la_SOURCES)
+includeHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(include_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+lib_LTLIBRARIES = libcdd.la
+libcdd_la_SOURCES = \
+cddcore.c \
+cddlp.c	\
+cddmp.c \
+cddio.c \
+cddlib.c \
+cddproj.c \
+setoper.c
+
+include_HEADERS = \
+cdd.h \
+cddmp.h \
+cddtypes.h \
+setoper.h
+
+AM_CPPFLAGS = -UGMPRATIONAL
+AM_LDFLAGS = -version-info 0:0:0
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  lib-src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  lib-src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    f=$(am__strip_dir) \
+	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
+	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
+	  else :; fi; \
+	done
+
+uninstall-libLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
+	done
+
+clean-libLTLIBRARIES:
+	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libcdd.la: $(libcdd_la_OBJECTS) $(libcdd_la_DEPENDENCIES) 
+	$(LINK) -rpath $(libdir) $(libcdd_la_OBJECTS) $(libcdd_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddcore.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddio.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddlib.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddlp.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddmp.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cddproj.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setoper.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-includeHEADERS: $(include_HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+	@list='$(include_HEADERS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
+	  $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
+	done
+
+uninstall-includeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(include_HEADERS)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(includedir)/$$f"; \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-includeHEADERS
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libLTLIBRARIES clean-libtool ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-includeHEADERS install-info \
+	install-info-am install-libLTLIBRARIES install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-includeHEADERS \
+	uninstall-libLTLIBRARIES
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/third_party/cddlib/lib-src/cdd.h b/third_party/cddlib/lib-src/cdd.h
new file mode 100644
index 0000000..6925745
--- /dev/null
+++ b/third_party/cddlib/lib-src/cdd.h
@@ -0,0 +1,290 @@
+/* cdd.h: Header file for cddlib.c 
+   written by Komei Fukuda, fukuda@math.ethz.ch
+   Version 0.94h, April 30, 2015
+*/
+
+/* cddlib.c : C-Implementation of the double description method for
+   computing all vertices and extreme rays of the polyhedron 
+   P= {x :  b - A x >= 0}.  
+   Please read COPYING (GNU General Public Licence) and
+   the manual cddlibman.tex for detail.
+*/
+
+#ifndef  __CDD_H
+#define  __CDD_H
+#endif  /* __CDD_H */
+
+#ifndef  __CDDMP_H
+#include "cddmp.h"
+#endif  /* __CDDMP_H */
+
+#ifndef  __CDDTYPES_H
+#include "cddtypes.h"
+#endif  /* __CDDTYPES_H */
+
+#ifdef GMPRATIONAL
+#ifndef __CDD_HF
+#include "cdd_f.h"
+#endif
+#endif
+
+/* GLOBAL CONSTANTS and STATISTICS VARIABLES (to be set by dd_set_global_constants() */
+extern mytype dd_zero;
+extern mytype dd_one;
+extern mytype dd_purezero;
+extern mytype dd_minuszero;
+extern mytype dd_minusone;
+
+extern time_t dd_statStartTime; /* cddlib starting time */
+extern long dd_statBApivots;  /* basis finding pivots */
+extern long dd_statCCpivots;  /* criss-cross pivots */
+extern long dd_statDS1pivots; /* phase 1 pivots */
+extern long dd_statDS2pivots; /* phase 2 pivots */
+extern long dd_statACpivots;  /* anticycling (cc) pivots */
+#ifdef GMPRATIONAL
+extern long dd_statBSpivots;  /* basis status checking pivots */
+#endif
+extern dd_LPSolverType dd_choiceLPSolverDefault;  /* Default LP solver Algorithm */
+extern dd_LPSolverType dd_choiceRedcheckAlgorithm;  /* Redundancy Checking Algorithm */
+extern dd_boolean dd_choiceLexicoPivotQ;    /* whether to use the lexicographic pivot */
+
+   /* to be used to avoid creating temporary spaces for mytype */
+#define dd_almostzero  1.0E-7
+
+/* ---------- FUNCTIONS MEANT TO BE PUBLIC ---------- */
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/* basic matrix manipulations */
+void dd_InitializeArow(dd_colrange,dd_Arow *);
+void dd_InitializeAmatrix(dd_rowrange,dd_colrange,dd_Amatrix *);
+void dd_InitializeBmatrix(dd_colrange, dd_Bmatrix *);
+dd_SetFamilyPtr dd_CreateSetFamily(dd_bigrange,dd_bigrange);
+void dd_FreeSetFamily(dd_SetFamilyPtr);
+dd_MatrixPtr dd_CreateMatrix(dd_rowrange,dd_colrange);
+void dd_FreeAmatrix(dd_rowrange,dd_colrange,dd_Amatrix);
+void dd_FreeArow(dd_colrange, dd_Arow);
+void dd_FreeBmatrix(dd_colrange,dd_Bmatrix);
+void dd_FreeDDMemory(dd_PolyhedraPtr);
+void dd_FreePolyhedra(dd_PolyhedraPtr);
+void dd_FreeMatrix(dd_MatrixPtr);
+void dd_SetToIdentity(dd_colrange, dd_Bmatrix);
+
+/* sign recognitions */
+dd_boolean dd_Nonnegative(mytype);
+dd_boolean dd_Nonpositive(mytype);
+dd_boolean dd_Positive(mytype);
+dd_boolean dd_Negative(mytype);
+dd_boolean dd_EqualToZero(mytype);
+dd_boolean dd_Nonzero(mytype);
+dd_boolean dd_Equal(mytype,mytype);
+dd_boolean dd_Larger(mytype,mytype);
+dd_boolean dd_Smaller(mytype,mytype);
+void dd_abs(mytype, mytype);
+void dd_LinearComb(mytype, mytype, mytype, mytype, mytype);
+void dd_InnerProduct(mytype, dd_colrange, dd_Arow, dd_Arow);
+
+/* major cddlib operations */
+dd_MatrixPtr dd_CopyInput(dd_PolyhedraPtr);
+dd_MatrixPtr dd_CopyOutput(dd_PolyhedraPtr);
+dd_MatrixPtr dd_CopyInequalities(dd_PolyhedraPtr);
+dd_MatrixPtr dd_CopyGenerators(dd_PolyhedraPtr);
+dd_SetFamilyPtr dd_CopyIncidence(dd_PolyhedraPtr);
+dd_SetFamilyPtr dd_CopyAdjacency(dd_PolyhedraPtr);
+dd_SetFamilyPtr dd_CopyInputIncidence(dd_PolyhedraPtr);
+dd_SetFamilyPtr dd_CopyInputAdjacency(dd_PolyhedraPtr);
+dd_boolean dd_DDFile2File(char *ifile, char *ofile, dd_ErrorType *err);
+dd_boolean dd_DDInputAppend(dd_PolyhedraPtr*, dd_MatrixPtr, dd_ErrorType*);
+dd_MatrixPtr dd_PolyFile2Matrix(FILE *f, dd_ErrorType *);
+
+dd_PolyhedraPtr dd_DDMatrix2Poly(dd_MatrixPtr, dd_ErrorType *);
+dd_PolyhedraPtr dd_DDMatrix2Poly2(dd_MatrixPtr, dd_RowOrderType, dd_ErrorType *);
+dd_boolean dd_Redundant(dd_MatrixPtr, dd_rowrange, dd_Arow, dd_ErrorType *);  /* 092 */
+dd_rowset dd_RedundantRows(dd_MatrixPtr, dd_ErrorType *);  /* 092 */
+dd_boolean dd_SRedundant(dd_MatrixPtr, dd_rowrange, dd_Arow, dd_ErrorType *);  /* 093a */
+dd_rowset dd_SRedundantRows(dd_MatrixPtr, dd_ErrorType *);  /* 093a */
+dd_rowset dd_RedundantRowsViaShooting(dd_MatrixPtr, dd_ErrorType *); /* 092 */
+dd_rowrange dd_RayShooting(dd_MatrixPtr, dd_Arow intpt, dd_Arow direction);  /* 092 */ 
+ /* 092, find the first inequality "hit" by a ray from an intpt.  */
+dd_boolean dd_ImplicitLinearity(dd_MatrixPtr, dd_rowrange, dd_Arow, dd_ErrorType *);  /* 092 */
+dd_rowset dd_ImplicitLinearityRows(dd_MatrixPtr, dd_ErrorType *);  /* 092  */
+int dd_FreeOfImplicitLinearity(dd_MatrixPtr, dd_Arow, dd_rowset *, dd_ErrorType *) ; /* 094 */
+dd_boolean dd_MatrixCanonicalizeLinearity(dd_MatrixPtr *, dd_rowset *,dd_rowindex *, dd_ErrorType *); /* 094 */
+dd_boolean dd_MatrixCanonicalize(dd_MatrixPtr *, dd_rowset *, dd_rowset *, dd_rowindex *, dd_ErrorType *); /* 094 */
+dd_boolean dd_MatrixRedundancyRemove(dd_MatrixPtr *M, dd_rowset *redset,dd_rowindex *newpos, dd_ErrorType *); /* 094 */
+dd_boolean dd_FindRelativeInterior(dd_MatrixPtr, dd_rowset *, dd_rowset *, dd_LPSolutionPtr *, dd_ErrorType *);  /* 094 */
+dd_boolean dd_ExistsRestrictedFace(dd_MatrixPtr, dd_rowset, dd_rowset, dd_ErrorType *);  /* 0.94 */
+dd_boolean dd_ExistsRestrictedFace2(dd_MatrixPtr, dd_rowset, dd_rowset, dd_LPSolutionPtr *, dd_ErrorType *); /* 0.94 */
+
+dd_SetFamilyPtr dd_Matrix2Adjacency(dd_MatrixPtr, dd_ErrorType *);  /* 093 */
+dd_SetFamilyPtr dd_Matrix2WeakAdjacency(dd_MatrixPtr, dd_ErrorType *);  /* 093a */
+long dd_MatrixRank(dd_MatrixPtr, dd_rowset, dd_colset, dd_rowset *, dd_colset *);
+
+/* Matrix Basic Operations */
+dd_MatrixPtr dd_MatrixCopy(dd_MatrixPtr); /* a new name for dd_CopyMatrix */
+dd_MatrixPtr dd_CopyMatrix(dd_MatrixPtr); /* 090c, kept for compatibility */
+dd_MatrixPtr dd_MatrixNormalizedCopy(dd_MatrixPtr); /* 094 */
+dd_MatrixPtr dd_MatrixNormalizedSortedCopy(dd_MatrixPtr,dd_rowindex*); /* 094 */
+dd_MatrixPtr dd_MatrixUniqueCopy(dd_MatrixPtr,dd_rowindex*); /* 094 */
+dd_MatrixPtr dd_MatrixNormalizedSortedUniqueCopy(dd_MatrixPtr,dd_rowindex*); /* 094 */
+dd_MatrixPtr dd_MatrixSortedUniqueCopy(dd_MatrixPtr,dd_rowindex*); /* 094 */
+
+dd_MatrixPtr dd_MatrixAppend(dd_MatrixPtr, dd_MatrixPtr);  /* a name for dd_AppendMatrix */
+dd_MatrixPtr dd_AppendMatrix(dd_MatrixPtr, dd_MatrixPtr);  /* 090c, kept for compatibility */
+
+int dd_MatrixAppendTo(dd_MatrixPtr*, dd_MatrixPtr);  /* 092 */
+int dd_Remove(dd_MatrixPtr*, dd_rowrange);  /* 092 */
+dd_MatrixPtr dd_MatrixSubmatrix(dd_MatrixPtr, dd_rowset delset); /* 092 */
+dd_MatrixPtr dd_MatrixSubmatrix2(dd_MatrixPtr, dd_rowset delset,dd_rowindex*); /* 094.  It returns new row positions. */
+dd_MatrixPtr dd_MatrixSubmatrix2L(dd_MatrixPtr, dd_rowset delset,dd_rowindex*); /* 094.  Linearity shifted up. */
+int dd_MatrixShiftupLinearity(dd_MatrixPtr *,dd_rowindex *); /* 094 */
+int dd_MatrixRowRemove(dd_MatrixPtr *M, dd_rowrange r); /* 092 */
+int dd_MatrixRowRemove2(dd_MatrixPtr *M, dd_rowrange r,dd_rowindex*); /* 094*/
+int dd_MatrixRowsRemove(dd_MatrixPtr *M, dd_rowset delset); /* 094 */
+int dd_MatrixRowsRemove2(dd_MatrixPtr *M, dd_rowset delset,dd_rowindex*); /* 094 */
+
+/* input/output */
+void dd_SetInputFile(FILE **f,dd_DataFileType inputfile, dd_ErrorType *);
+void dd_SetWriteFileName(dd_DataFileType, dd_DataFileType, char, dd_RepresentationType);
+
+void dd_WriteAmatrix(FILE *, dd_Amatrix, dd_rowrange, dd_colrange);
+void dd_WriteArow(FILE *f, dd_Arow a, dd_colrange);
+void dd_WriteBmatrix(FILE *, dd_colrange, dd_Bmatrix T);
+void dd_WriteMatrix(FILE *, dd_MatrixPtr);
+void dd_MatrixIntegerFilter(dd_MatrixPtr);
+void dd_WriteReal(FILE *, mytype);
+void dd_WriteNumber(FILE *f, mytype x); 
+    /* write a number depending on the arithmetic used.  */
+void dd_WritePolyFile(FILE *, dd_PolyhedraPtr);
+void dd_WriteRunningMode(FILE *, dd_PolyhedraPtr);
+void dd_WriteErrorMessages(FILE *, dd_ErrorType);
+void dd_WriteSetFamily(FILE *, dd_SetFamilyPtr);
+void dd_WriteSetFamilyCompressed(FILE *, dd_SetFamilyPtr);
+void dd_WriteProgramDescription(FILE *);
+void dd_WriteDDTimes(FILE *, dd_PolyhedraPtr);
+void dd_WriteTimes(FILE *, time_t, time_t);
+void dd_WriteIncidence(FILE *, dd_PolyhedraPtr);
+void dd_WriteAdjacency(FILE *, dd_PolyhedraPtr);
+void dd_WriteInputAdjacency(FILE *, dd_PolyhedraPtr);
+void dd_WriteInputIncidence(FILE *, dd_PolyhedraPtr);
+
+/* functions and types for LP solving */
+
+dd_LPPtr dd_Matrix2LP(dd_MatrixPtr, dd_ErrorType *);
+  /* Load a matrix to create an LP object. */
+  
+dd_LPPtr dd_Matrix2Feasibility(dd_MatrixPtr, dd_ErrorType *);
+  /* Load a matrix to create an LP object for feasibility (obj == 0) .*/  /*  094 */
+  
+dd_LPPtr dd_Matrix2Feasibility2(dd_MatrixPtr, dd_rowset, dd_rowset, dd_ErrorType *);
+  /* Load a matrix to create an LP object for feasibility with additional equality and
+   strict inequality constraints. */  /*  094 */
+
+dd_boolean dd_LPSolve(dd_LPPtr,dd_LPSolverType,dd_ErrorType *);
+dd_boolean dd_LPSolve0(dd_LPPtr,dd_LPSolverType,dd_ErrorType *);
+void dd_CrissCrossSolve(dd_LPPtr lp,dd_ErrorType *);
+void dd_DualSimplexSolve(dd_LPPtr lp,dd_ErrorType *);
+
+dd_LPPtr dd_MakeLPforInteriorFinding(dd_LPPtr);  
+dd_LPSolutionPtr dd_CopyLPSolution(dd_LPPtr);  /* 0.90c */
+void dd_WriteLP(FILE *, dd_LPPtr); /* 092 */
+
+dd_LPPtr dd_CreateLPData(dd_LPObjectiveType,dd_NumberType,dd_rowrange,dd_colrange);
+int dd_LPReverseRow(dd_LPPtr, dd_rowrange);
+    /* reverse the i-th row (1 <= i <= no. of rows) */
+int dd_LPReplaceRow(dd_LPPtr, dd_rowrange, dd_Arow);
+    /* replace the i-th row (1 <= i <= no. of rows) */
+dd_Arow dd_LPCopyRow(dd_LPPtr, dd_rowrange);
+    /* copy the i-th row (1 <= i <= no. of rows) */
+
+void dd_FreeLPData(dd_LPPtr);
+void dd_FreeLPSolution(dd_LPSolutionPtr);
+
+void dd_WriteLPResult(FILE *, dd_LPPtr, dd_ErrorType);
+void dd_WriteLPErrorMessages(FILE *, dd_ErrorType);
+void dd_WriteLPTimes(FILE *, dd_LPPtr);
+void dd_WriteLPStats(FILE *f);
+void dd_WriteLPMode(FILE *f);
+
+dd_MatrixPtr dd_FourierElimination(dd_MatrixPtr,dd_ErrorType *);
+dd_MatrixPtr dd_BlockElimination(dd_MatrixPtr, dd_colset, dd_ErrorType *);
+
+#if defined(__cplusplus)
+}
+#endif
+
+/* ---------- FUNCTIONS MEANT TO BE NON-PUBLIC ---------- */
+void dd_QuickSort(dd_rowindex, long, long, dd_Amatrix, long);
+void dd_RandomPermutation(dd_rowindex, long, unsigned int seed);
+void dd_UniqueRows(dd_rowindex, long, long, dd_Amatrix, long, dd_rowset, long *);
+
+dd_boolean dd_DoubleDescription(dd_PolyhedraPtr, dd_ErrorType*);
+dd_boolean dd_DoubleDescription2(dd_PolyhedraPtr, dd_RowOrderType, dd_ErrorType *);
+
+void dd_FreeDDMemory0(dd_ConePtr);
+void dd_fread_rational_value (FILE *f, mytype value);
+void dd_sread_rational_value (const char *s, mytype value);
+void dd_AddNewHalfspace1(dd_ConePtr, dd_rowrange);
+void dd_AddNewHalfspace2(dd_ConePtr, dd_rowrange);
+void dd_AddRay(dd_ConePtr, mytype *);
+void dd_AddArtificialRay(dd_ConePtr);
+void dd_AValue(mytype*,dd_colrange, dd_Amatrix, mytype *, dd_rowrange);
+void dd_CheckAdjacency(dd_ConePtr, dd_RayPtr*, dd_RayPtr*, dd_boolean *);
+void dd_CheckEquality(dd_colrange, dd_RayPtr *, dd_RayPtr *, dd_boolean *);
+void dd_ComputeRowOrderVector(dd_ConePtr);
+void dd_ConditionalAddEdge(dd_ConePtr,dd_RayPtr, dd_RayPtr, dd_RayPtr);
+void dd_CopyArow(mytype *, mytype *, dd_colrange);
+void dd_CopyNormalizedAmatrix(mytype **, mytype **, dd_rowrange, dd_colrange);
+void dd_CopyNormalizedArow(mytype *, mytype *, dd_colrange);
+void dd_CopyAmatrix(mytype **, mytype **, dd_rowrange, dd_colrange);
+void dd_PermuteCopyAmatrix(mytype **, mytype **, dd_rowrange, dd_colrange, dd_rowindex);
+void dd_PermutePartialCopyAmatrix(mytype **, mytype **, dd_rowrange, dd_colrange, dd_rowindex,dd_rowrange, dd_rowrange);
+void dd_CopyBmatrix(dd_colrange, dd_Bmatrix T, dd_Bmatrix TCOPY);
+void dd_CopyRay(mytype *, dd_colrange, dd_RayPtr,
+   dd_RepresentationType, dd_colindex);
+void dd_CreateInitialEdges(dd_ConePtr);
+void dd_CreateNewRay(dd_ConePtr, dd_RayPtr, dd_RayPtr, dd_rowrange);
+void dd_Eliminate(dd_ConePtr, dd_RayPtr*);
+void dd_EvaluateARay1(dd_rowrange, dd_ConePtr);
+void dd_EvaluateARay2(dd_rowrange, dd_ConePtr);
+void dd_FeasibilityIndices(long *, long *, dd_rowrange, dd_ConePtr);
+void dd_FindBasis(dd_ConePtr, long *rank);
+void dd_FindInitialRays(dd_ConePtr, dd_boolean *);
+void dd_ColumnReduce(dd_ConePtr);
+void dd_GaussianColumnPivot(dd_rowrange, dd_colrange, dd_Amatrix, dd_Bmatrix,  dd_rowrange, dd_colrange);
+dd_boolean dd_LexSmaller(mytype *, mytype *, long);
+dd_boolean dd_LexLarger(mytype *, mytype *, long);
+dd_boolean dd_LexEqual(mytype *, mytype *, long);
+void dd_Normalize(dd_colrange, mytype *);
+void dd_MatrixIntegerFilter(dd_MatrixPtr);
+void dd_ProcessCommandLine(FILE*,dd_MatrixPtr, const char *);
+void dd_SelectNextHalfspace(dd_ConePtr, dd_rowset, dd_rowrange *);
+void dd_SelectPivot2(dd_rowrange,dd_colrange,dd_Amatrix,
+dd_Bmatrix,dd_RowOrderType,dd_rowindex, dd_rowset,dd_rowrange,dd_rowset,
+dd_colset,dd_rowrange *,dd_colrange *,dd_boolean *);
+void dd_SelectPreorderedNext(dd_ConePtr, dd_rowset, dd_rowrange *);
+void dd_SetInequalitySets(dd_ConePtr);
+void dd_SnapToInteger(mytype, mytype);
+void dd_StoreRay1(dd_ConePtr, mytype *, dd_boolean *);
+void dd_StoreRay2(dd_ConePtr, mytype *, dd_boolean *, dd_boolean *);
+void dd_TableauEntry(mytype *, dd_rowrange, dd_colrange, dd_Amatrix, dd_Bmatrix T, dd_rowrange, dd_colrange);
+void dd_UpdateEdges(dd_ConePtr, dd_RayPtr, dd_RayPtr);
+void dd_UpdateRowOrderVector(dd_ConePtr, dd_rowset PriorityRows);
+void dd_WriteRay(FILE *, dd_colrange, dd_RayPtr,
+   dd_RepresentationType, dd_colindex);
+void dd_ZeroIndexSet(dd_rowrange, dd_colrange, dd_Amatrix, mytype *, dd_rowset);
+
+/* New functions to handle data loading, NON-PUBLIC */
+dd_NumberType dd_GetNumberType(const char *);
+dd_ConePtr dd_ConeDataLoad(dd_PolyhedraPtr);
+dd_PolyhedraPtr dd_CreatePolyhedraData(dd_rowrange, dd_colrange);
+dd_boolean dd_InitializeConeData(dd_rowrange, dd_colrange, dd_ConePtr*);
+dd_boolean dd_AppendMatrix2Poly(dd_PolyhedraPtr*, dd_MatrixPtr);
+
+
+
+
+
+/* end of cddlib.h */
diff --git a/third_party/cddlib/lib-src/cddcore.c b/third_party/cddlib/lib-src/cddcore.c
new file mode 100644
index 0000000..de6f21f
--- /dev/null
+++ b/third_party/cddlib/lib-src/cddcore.c
@@ -0,0 +1,2110 @@
+/* cddcore.c:  Core Procedures for cddlib
+   written by Komei Fukuda, fukuda@math.ethz.ch
+   Version 0.94h, April 30, 2015
+*/
+
+/* cddlib : C-library of the double description method for
+   computing all vertices and extreme rays of the polyhedron 
+   P= {x :  b - A x >= 0}.  
+   Please read COPYING (GNU General Public Licence) and
+   the manual cddlibman.tex for detail.
+*/
+
+#include "setoper.h"  /* set operation library header (Ver. June 1, 2000 or later) */
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+void dd_CheckAdjacency(dd_ConePtr cone,
+    dd_RayPtr *RP1, dd_RayPtr *RP2, dd_boolean *adjacent)
+{
+  dd_RayPtr TempRay;
+  dd_boolean localdebug=dd_FALSE;
+  static dd_rowset Face, Face1;
+  static dd_rowrange last_m=0;
+  
+  if (last_m!=cone->m) {
+    if (last_m>0){
+      set_free(Face); set_free(Face1);
+    }
+    set_initialize(&Face, cone->m); 
+    set_initialize(&Face1, cone->m); 
+    last_m=cone->m;
+  }
+
+  if (dd_debug) localdebug=dd_TRUE;
+  *adjacent = dd_TRUE;
+  set_int(Face1, (*RP1)->ZeroSet, (*RP2)->ZeroSet);
+  set_int(Face, Face1, cone->AddedHalfspaces);
+  if (set_card(Face)< cone->d - 2) {
+    *adjacent = dd_FALSE;
+    if (localdebug) {
+      fprintf(stderr,"non adjacent: set_card(face) %ld < %ld = cone->d.\n",
+        set_card(Face),cone->d);
+    }
+    return;
+  }
+  else if (cone->parent->NondegAssumed) {
+  	*adjacent = dd_TRUE;
+  	return;
+  }
+  TempRay = cone->FirstRay;
+  while (TempRay != NULL && *adjacent) {
+    if (TempRay != *RP1 && TempRay != *RP2) {
+    	set_int(Face1, TempRay->ZeroSet, cone->AddedHalfspaces);
+      	if (set_subset(Face, Face1)) *adjacent = dd_FALSE;
+    }
+    TempRay = TempRay->Next;
+  }
+}
+
+void dd_Eliminate(dd_ConePtr cone, dd_RayPtr*Ptr)
+{
+  /*eliminate the record pointed by Ptr^.Next*/
+  dd_RayPtr TempPtr;
+  dd_colrange j;
+
+  TempPtr = (*Ptr)->Next;
+  (*Ptr)->Next = (*Ptr)->Next->Next;
+  if (TempPtr == cone->FirstRay)   /*Update the first pointer*/
+    cone->FirstRay = (*Ptr)->Next;
+  if (TempPtr == cone->LastRay)   /*Update the last pointer*/
+    cone->LastRay = *Ptr;
+
+  /* Added, Marc Pfetsch 010219 */
+  for (j=0;j < cone->d;j++)
+dd_clear(TempPtr->Ray[j]);
+  dd_clear(TempPtr->ARay);
+
+  free(TempPtr->Ray);          /* free the ray vector memory */
+  set_free(TempPtr->ZeroSet);  /* free the ZeroSet memory */
+  free(TempPtr);   /* free the dd_Ray structure memory */
+  cone->RayCount--; 
+}
+
+void dd_SetInequalitySets(dd_ConePtr cone)
+{
+  dd_rowrange i;
+  
+  set_emptyset(cone->GroundSet);
+  set_emptyset(cone->EqualitySet);
+  set_emptyset(cone->NonequalitySet);  
+  for (i = 1; i <= (cone->parent->m); i++){
+    set_addelem(cone->GroundSet, i);
+    if (cone->parent->EqualityIndex[i]==1) set_addelem(cone->EqualitySet,i);
+    if (cone->parent->EqualityIndex[i]==-1) set_addelem(cone->NonequalitySet,i);
+  }
+}
+
+
+void dd_AValue(mytype *val, dd_colrange d_size, dd_Amatrix A, mytype *p, dd_rowrange i)
+{
+  /*return the ith component of the vector  A x p */
+  dd_colrange j;
+  mytype x;
+
+  dd_init(x); 
+  dd_set(*val,dd_purezero);
+ /* Changed by Marc Pfetsch 010219 */
+
+  for (j = 0; j < d_size; j++){
+    dd_mul(x,A[i - 1][j], p[j]);
+    dd_add(*val, *val, x);
+  }
+  dd_clear(x);
+}
+
+void dd_StoreRay1(dd_ConePtr cone, mytype *p, dd_boolean *feasible)
+{  /* Original ray storing routine when RelaxedEnumeration is dd_FALSE */
+  dd_rowrange i,k,fii=cone->m+1;
+  dd_colrange j;
+  mytype temp;
+  dd_RayPtr RR;
+  dd_boolean localdebug=dd_debug;
+
+  dd_init(temp);
+  RR=cone->LastRay;
+  *feasible = dd_TRUE;
+  set_initialize(&(RR->ZeroSet),cone->m);
+  for (j = 0; j < cone->d; j++){
+    dd_set(RR->Ray[j],p[j]);
+  }
+  for (i = 1; i <= cone->m; i++) {
+    k=cone->OrderVector[i];
+    dd_AValue(&temp, cone->d, cone->A, p, k);
+    if (localdebug) {
+      fprintf(stderr,"dd_StoreRay1: dd_AValue at row %ld =",k);
+      dd_WriteNumber(stderr, temp);
+      fprintf(stderr,"\n");
+    }
+    if (dd_EqualToZero(temp)) {
+      set_addelem(RR->ZeroSet, k);
+      if (localdebug) {
+        fprintf(stderr,"recognized zero!\n");
+      }
+    }
+    if (dd_Negative(temp)){
+      if (localdebug) {
+        fprintf(stderr,"recognized negative!\n");
+      }
+      *feasible = dd_FALSE;
+      if (fii>cone->m) fii=i;  /* the first violating inequality index */
+      if (localdebug) {
+        fprintf(stderr,"this ray is not feasible, neg comp = %ld\n", fii);
+        dd_WriteNumber(stderr, temp);  fprintf(stderr,"\n");
+      }
+    }
+  }
+  RR->FirstInfeasIndex=fii;
+  RR->feasible = *feasible;
+  dd_clear(temp);
+}
+
+void dd_StoreRay2(dd_ConePtr cone, mytype *p, 
+    dd_boolean *feasible, dd_boolean *weaklyfeasible)
+   /* Ray storing routine when RelaxedEnumeration is dd_TRUE.
+       weaklyfeasible is true iff it is feasible with
+       the strict_inequality conditions deleted. */
+{
+  dd_RayPtr RR;
+  dd_rowrange i,k,fii=cone->m+1;
+  dd_colrange j;
+  mytype temp;
+  dd_boolean localdebug=dd_debug;
+
+  dd_init(temp);
+  RR=cone->LastRay;
+  if (dd_debug) localdebug=dd_TRUE;
+  *feasible = dd_TRUE;
+  *weaklyfeasible = dd_TRUE;
+  set_initialize(&(RR->ZeroSet),cone->m);
+  for (j = 0; j < cone->d; j++){
+    dd_set(RR->Ray[j],p[j]);
+  }
+  for (i = 1; i <= cone->m; i++) {
+    k=cone->OrderVector[i];
+    dd_AValue(&temp, cone->d, cone->A, p, k);
+    if (dd_EqualToZero(temp)){
+      set_addelem(RR->ZeroSet, k);
+      if (cone->parent->EqualityIndex[k]==-1) 
+        *feasible=dd_FALSE;  /* strict inequality required */
+    }
+/*    if (temp < -zero){ */
+    if (dd_Negative(temp)){
+      *feasible = dd_FALSE;
+      if (fii>cone->m && cone->parent->EqualityIndex[k]>=0) {
+        fii=i;  /* the first violating inequality index */
+        *weaklyfeasible=dd_FALSE;
+      }
+    }
+  }
+  RR->FirstInfeasIndex=fii;
+  RR->feasible = *feasible;
+  dd_clear(temp);
+}
+
+
+void dd_AddRay(dd_ConePtr cone, mytype *p)
+{  
+  dd_boolean feasible, weaklyfeasible;
+  dd_colrange j;
+
+  if (cone->FirstRay == NULL) {
+    cone->FirstRay = (dd_RayPtr) malloc(sizeof(dd_RayType));
+    cone->FirstRay->Ray = (mytype *) calloc(cone->d, sizeof(mytype));
+    for (j=0; j<cone->d; j++) dd_init(cone->FirstRay->Ray[j]);
+    dd_init(cone->FirstRay->ARay);
+    if (dd_debug)
+      fprintf(stderr,"Create the first ray pointer\n");
+    cone->LastRay = cone->FirstRay;
+    cone->ArtificialRay->Next = cone->FirstRay;
+  } else {
+    cone->LastRay->Next = (dd_RayPtr) malloc(sizeof(dd_RayType));
+    cone->LastRay->Next->Ray = (mytype *) calloc(cone->d, sizeof(mytype));
+    for (j=0; j<cone->d; j++) dd_init(cone->LastRay->Next->Ray[j]);
+    dd_init(cone->LastRay->Next->ARay);
+    if (dd_debug) fprintf(stderr,"Create a new ray pointer\n");
+    cone->LastRay = cone->LastRay->Next;
+  }
+  cone->LastRay->Next = NULL;
+  cone->RayCount++;
+  cone->TotalRayCount++;
+  if (dd_debug) {
+    if (cone->TotalRayCount % 100 == 0) {
+      fprintf(stderr,"*Rays (Total, Currently Active, Feasible) =%8ld%8ld%8ld\n",
+	 cone->TotalRayCount, cone->RayCount, cone->FeasibleRayCount);
+    }
+  }
+  if (cone->parent->RelaxedEnumeration){
+    dd_StoreRay2(cone, p, &feasible, &weaklyfeasible);
+    if (weaklyfeasible) (cone->WeaklyFeasibleRayCount)++;
+  } else {
+    dd_StoreRay1(cone, p, &feasible);
+    if (feasible) (cone->WeaklyFeasibleRayCount)++;
+    /* weaklyfeasible is equiv. to feasible in this case. */
+  }
+  if (!feasible) return;
+  else {
+    (cone->FeasibleRayCount)++;
+  }
+}
+
+void dd_AddArtificialRay(dd_ConePtr cone)
+{  
+  dd_Arow zerovector;
+  dd_colrange j,d1;
+  dd_boolean feasible;
+
+  if (cone->d<=0) d1=1; else d1=cone->d;
+  dd_InitializeArow(d1, &zerovector);
+  if (cone->ArtificialRay != NULL) {
+    fprintf(stderr,"Warning !!!  FirstRay in not nil.  Illegal Call\n");
+    free(zerovector); /* 086 */
+    return;
+  }
+  cone->ArtificialRay = (dd_RayPtr) malloc(sizeof(dd_RayType));
+  cone->ArtificialRay->Ray = (mytype *) calloc(d1, sizeof(mytype));
+  for (j=0; j<d1; j++) dd_init(cone->ArtificialRay->Ray[j]);
+  dd_init(cone->ArtificialRay->ARay);
+
+  if (dd_debug) fprintf(stderr,"Create the artificial ray pointer\n");
+
+  cone->LastRay=cone->ArtificialRay;
+  dd_StoreRay1(cone, zerovector, &feasible);  
+    /* This stores a vector to the record pointed by cone->LastRay */
+  cone->ArtificialRay->Next = NULL;
+  for (j = 0; j < d1; j++){
+    dd_clear(zerovector[j]);
+  }
+  free(zerovector); /* 086 */
+}
+
+void dd_ConditionalAddEdge(dd_ConePtr cone, 
+    dd_RayPtr Ray1, dd_RayPtr Ray2, dd_RayPtr ValidFirstRay)
+{
+  long it,it_row,fii1,fii2,fmin,fmax;
+  dd_boolean adjacent,lastchance;
+  dd_RayPtr TempRay,Rmin,Rmax;
+  dd_AdjacencyType *NewEdge;
+  dd_boolean localdebug=dd_FALSE;
+  dd_rowset ZSmin, ZSmax;
+  static dd_rowset Face, Face1;
+  static dd_rowrange last_m=0;
+  
+  if (last_m!=cone->m) {
+    if (last_m>0){
+      set_free(Face); set_free(Face1);
+    }
+    set_initialize(&Face, cone->m);
+    set_initialize(&Face1, cone->m);
+    last_m=cone->m;
+  }
+  
+  fii1=Ray1->FirstInfeasIndex;
+  fii2=Ray2->FirstInfeasIndex;
+  if (fii1<fii2){
+    fmin=fii1; fmax=fii2;
+    Rmin=Ray1;
+    Rmax=Ray2;
+  }
+  else{
+    fmin=fii2; fmax=fii1;
+    Rmin=Ray2;
+    Rmax=Ray1;
+  }
+  ZSmin = Rmin->ZeroSet;
+  ZSmax = Rmax->ZeroSet;
+  if (localdebug) {
+    fprintf(stderr,"dd_ConditionalAddEdge: FMIN = %ld (row%ld)   FMAX=%ld\n",
+      fmin, cone->OrderVector[fmin], fmax);
+  }
+  if (fmin==fmax){
+    if (localdebug) fprintf(stderr,"dd_ConditionalAddEdge: equal FII value-> No edge added\n");
+  }
+  else if (set_member(cone->OrderVector[fmin],ZSmax)){
+    if (localdebug) fprintf(stderr,"dd_ConditionalAddEdge: No strong separation -> No edge added\n");
+  }
+  else {  /* the pair will be separated at the iteration fmin */
+    lastchance=dd_TRUE;
+    /* flag to check it will be the last chance to store the edge candidate */
+    set_int(Face1, ZSmax, ZSmin);
+    (cone->count_int)++;
+    if (localdebug){
+      fprintf(stderr,"Face: ");
+      for (it=1; it<=cone->m; it++) {
+        it_row=cone->OrderVector[it];
+        if (set_member(it_row, Face1)) fprintf(stderr,"%ld ",it_row);
+      }
+      fprintf(stderr,"\n");
+    }
+    for (it=cone->Iteration+1; it < fmin && lastchance; it++){
+      it_row=cone->OrderVector[it];
+      if (cone->parent->EqualityIndex[it_row]>=0 && set_member(it_row, Face1)){
+        lastchance=dd_FALSE;
+        (cone->count_int_bad)++;
+        if (localdebug){
+          fprintf(stderr,"There will be another chance iteration %ld (row %ld) to store the pair\n", it, it_row);
+        }
+      }
+    }
+    if (lastchance){
+      adjacent = dd_TRUE;
+      (cone->count_int_good)++;
+      /* adjacent checking */
+      set_int(Face, Face1, cone->AddedHalfspaces);
+      if (localdebug){
+        fprintf(stderr,"Check adjacency\n");
+        fprintf(stderr,"AddedHalfspaces: "); set_fwrite(stderr,cone->AddedHalfspaces);
+        fprintf(stderr,"Face: ");
+        for (it=1; it<=cone->m; it++) {
+          it_row=cone->OrderVector[it];
+          if (set_member(it_row, Face)) fprintf(stderr,"%ld ",it_row);
+        }
+        fprintf(stderr,"\n");
+      }
+      if (set_card(Face)< cone->d - 2) {
+        adjacent = dd_FALSE;
+      }
+      else if (cone->parent->NondegAssumed) {
+    	adjacent = dd_TRUE;
+      }
+      else{
+        TempRay = ValidFirstRay;  /* the first ray for adjacency checking */
+        while (TempRay != NULL && adjacent) {
+          if (TempRay != Ray1 && TempRay != Ray2) {
+            set_int(Face1, TempRay->ZeroSet, cone->AddedHalfspaces);
+            if (set_subset(Face, Face1)) {
+              if (localdebug) set_fwrite(stderr,Face1);
+              adjacent = dd_FALSE;
+            }
+          }
+          TempRay = TempRay->Next;
+        }
+      }
+      if (adjacent){
+        if (localdebug) fprintf(stderr,"The pair is adjacent and the pair must be stored for iteration %ld (row%ld)\n",
+          fmin, cone->OrderVector[fmin]);
+        NewEdge=(dd_AdjacencyPtr) malloc(sizeof *NewEdge);
+        NewEdge->Ray1=Rmax;  /* save the one remains in iteration fmin in the first */
+        NewEdge->Ray2=Rmin;  /* save the one deleted in iteration fmin in the second */
+        NewEdge->Next=NULL;
+        (cone->EdgeCount)++; 
+        (cone->TotalEdgeCount)++;
+        if (cone->Edges[fmin]==NULL){
+          cone->Edges[fmin]=NewEdge;
+          if (localdebug) fprintf(stderr,"Create a new edge list of %ld\n", fmin);
+        }else{
+          NewEdge->Next=cone->Edges[fmin];
+          cone->Edges[fmin]=NewEdge;
+        }
+      }
+    }
+  }
+}
+
+void dd_CreateInitialEdges(dd_ConePtr cone)
+{
+  dd_RayPtr Ptr1, Ptr2;
+  dd_rowrange fii1,fii2;
+  long count=0;
+  dd_boolean adj,localdebug=dd_FALSE;
+
+  cone->Iteration=cone->d;  /* CHECK */
+  if (cone->FirstRay ==NULL || cone->LastRay==NULL){
+    /* fprintf(stderr,"Warning: dd_ CreateInitialEdges called with NULL pointer(s)\n"); */
+    goto _L99;
+  }
+  Ptr1=cone->FirstRay;
+  while(Ptr1!=cone->LastRay && Ptr1!=NULL){
+    fii1=Ptr1->FirstInfeasIndex;
+    Ptr2=Ptr1->Next;
+    while(Ptr2!=NULL){
+      fii2=Ptr2->FirstInfeasIndex;
+      count++;
+      if (localdebug) fprintf(stderr,"dd_ CreateInitialEdges: edge %ld \n",count);
+      dd_CheckAdjacency(cone, &Ptr1, &Ptr2, &adj);
+      if (fii1!=fii2 && adj) 
+        dd_ConditionalAddEdge(cone, Ptr1, Ptr2, cone->FirstRay);
+      Ptr2=Ptr2->Next;
+    }
+    Ptr1=Ptr1->Next;
+  }
+_L99:;  
+}
+
+
+void dd_UpdateEdges(dd_ConePtr cone, dd_RayPtr RRbegin, dd_RayPtr RRend)
+/* This procedure must be called after the ray list is sorted
+   by dd_EvaluateARay2 so that FirstInfeasIndex's are monotonically
+   increasing.
+*/
+{
+  dd_RayPtr Ptr1, Ptr2begin, Ptr2;
+  dd_rowrange fii1;
+  dd_boolean ptr2found,quit,localdebug=dd_FALSE;
+  long count=0,pos1, pos2;
+  float workleft,prevworkleft=110.0,totalpairs;
+
+  totalpairs=(cone->ZeroRayCount-1.0)*(cone->ZeroRayCount-2.0)+1.0;
+  Ptr2begin = NULL; 
+  if (RRbegin ==NULL || RRend==NULL){
+    if (1) fprintf(stderr,"Warning: dd_UpdateEdges called with NULL pointer(s)\n");
+    goto _L99;
+  }
+  Ptr1=RRbegin;
+  pos1=1;
+  do{
+    ptr2found=dd_FALSE;
+    quit=dd_FALSE;
+    fii1=Ptr1->FirstInfeasIndex;
+    pos2=2;
+    for (Ptr2=Ptr1->Next; !ptr2found && !quit; Ptr2=Ptr2->Next,pos2++){
+      if  (Ptr2->FirstInfeasIndex > fii1){
+        Ptr2begin=Ptr2;
+        ptr2found=dd_TRUE;
+      }
+      else if (Ptr2==RRend) quit=dd_TRUE;
+    }
+    if (ptr2found){
+      quit=dd_FALSE;
+      for (Ptr2=Ptr2begin; !quit ; Ptr2=Ptr2->Next){
+        count++;
+        if (localdebug) fprintf(stderr,"dd_UpdateEdges: edge %ld \n",count);
+        dd_ConditionalAddEdge(cone, Ptr1,Ptr2,RRbegin);
+        if (Ptr2==RRend || Ptr2->Next==NULL) quit=dd_TRUE;
+      }
+    }
+    Ptr1=Ptr1->Next;
+    pos1++;
+    workleft = 100.0 * (cone->ZeroRayCount-pos1) * (cone->ZeroRayCount - pos1-1.0) / totalpairs;
+    if (cone->ZeroRayCount>=500 && dd_debug && pos1%10 ==0 && prevworkleft-workleft>=10 ) {
+      fprintf(stderr,"*Work of iteration %5ld(/%ld): %4ld/%4ld => %4.1f%% left\n",
+	     cone->Iteration, cone->m, pos1, cone->ZeroRayCount, workleft);
+      prevworkleft=workleft;
+    }    
+  }while(Ptr1!=RRend && Ptr1!=NULL);
+_L99:;  
+}
+
+void dd_FreeDDMemory0(dd_ConePtr cone)
+{
+  dd_RayPtr Ptr, PrevPtr;
+  long count;
+  dd_colrange j;
+  dd_boolean localdebug=dd_FALSE;
+  
+  /* THIS SHOULD BE REWRITTEN carefully */
+  PrevPtr=cone->ArtificialRay;
+  if (PrevPtr!=NULL){
+    count=0;
+    for (Ptr=cone->ArtificialRay->Next; Ptr!=NULL; Ptr=Ptr->Next){
+      /* Added Marc Pfetsch 2/19/01 */
+      for (j=0;j < cone->d;j++)
+dd_clear(PrevPtr->Ray[j]);
+      dd_clear(PrevPtr->ARay);
+
+      free(PrevPtr->Ray);
+      free(PrevPtr->ZeroSet);
+      free(PrevPtr);
+      count++;
+      PrevPtr=Ptr;
+    };
+    cone->FirstRay=NULL;
+    /* Added Marc Pfetsch 010219 */
+    for (j=0;j < cone->d;j++)
+dd_clear(cone->LastRay->Ray[j]);
+    dd_clear(cone->LastRay->ARay);
+
+    free(cone->LastRay->Ray);
+    cone->LastRay->Ray = NULL;
+    set_free(cone->LastRay->ZeroSet);
+    cone->LastRay->ZeroSet = NULL;
+    free(cone->LastRay);
+    cone->LastRay = NULL;
+    cone->ArtificialRay=NULL;
+    if (localdebug) fprintf(stderr,"%ld ray storage spaces freed\n",count);
+  }
+/* must add (by Sato) */
+  free(cone->Edges);
+  
+  set_free(cone->GroundSet); 
+  set_free(cone->EqualitySet); 
+  set_free(cone->NonequalitySet); 
+  set_free(cone->AddedHalfspaces); 
+  set_free(cone->WeaklyAddedHalfspaces); 
+  set_free(cone->InitialHalfspaces);
+  free(cone->InitialRayIndex);
+  free(cone->OrderVector);
+  free(cone->newcol);
+
+/* Fixed by Shawn Rusaw.  Originally it was cone->d instead of cone->d_alloc */
+  dd_FreeBmatrix(cone->d_alloc,cone->B);
+  dd_FreeBmatrix(cone->d_alloc,cone->Bsave);
+
+/* Fixed by Marc Pfetsch 010219*/
+  dd_FreeAmatrix(cone->m_alloc,cone->d_alloc,cone->A);
+  cone->A = NULL;
+
+  free(cone);
+}
+
+void dd_FreeDDMemory(dd_PolyhedraPtr poly)
+{
+  dd_FreeDDMemory0(poly->child);
+  poly->child=NULL;
+}
+
+void dd_FreePolyhedra(dd_PolyhedraPtr poly)
+{
+  dd_bigrange i;
+
+  if ((poly)->child != NULL) dd_FreeDDMemory(poly);
+  dd_FreeAmatrix((poly)->m_alloc,poly->d_alloc, poly->A);
+  dd_FreeArow((poly)->d_alloc,(poly)->c);
+  free((poly)->EqualityIndex);
+  if (poly->AincGenerated){
+    for (i=1; i<=poly->m1; i++){
+      set_free(poly->Ainc[i-1]);
+    }
+    free(poly->Ainc);
+    set_free(poly->Ared);
+    set_free(poly->Adom);
+    poly->Ainc=NULL;
+  }
+
+  free(poly);
+}
+
+void dd_Normalize(dd_colrange d_size, mytype *V)
+{
+  long j,jmin=0;
+  mytype temp,min;
+  dd_boolean nonzerofound=dd_FALSE;
+
+  if (d_size>0){
+    dd_init(min);  dd_init(temp);
+    dd_abs(min,V[0]);  jmin=0; /* set the minmizer to 0 */
+    if (dd_Positive(min)) nonzerofound=dd_TRUE;
+    for (j = 1; j < d_size; j++) {
+      dd_abs(temp,V[j]);
+      if (dd_Positive(temp)){
+        if (!nonzerofound || dd_Smaller(temp,min)){
+          nonzerofound=dd_TRUE;
+          dd_set(min, temp);  jmin=j;
+        }
+      }
+    }
+    if (dd_Positive(min)){
+      for (j = 0; j < d_size; j++) dd_div(V[j], V[j], min);
+    }
+    dd_clear(min); dd_clear(temp);
+  }
+}
+
+
+void dd_ZeroIndexSet(dd_rowrange m_size, dd_colrange d_size, dd_Amatrix A, mytype *x, dd_rowset ZS)
+{
+  dd_rowrange i;
+  mytype temp;
+
+  /* Changed by Marc Pfetsch 010219 */
+  dd_init(temp);
+  set_emptyset(ZS);
+  for (i = 1; i <= m_size; i++) {
+    dd_AValue(&temp, d_size, A, x, i);
+    if (dd_EqualToZero(temp)) set_addelem(ZS, i);
+  }
+
+  /* Changed by Marc Pfetsch 010219 */
+  dd_clear(temp);
+}
+
+void dd_CopyBmatrix(dd_colrange d_size, dd_Bmatrix T, dd_Bmatrix TCOPY)
+{
+  dd_rowrange i;
+  dd_colrange j;
+
+  for (i=0; i < d_size; i++) {
+    for (j=0; j < d_size; j++) {
+      dd_set(TCOPY[i][j],T[i][j]);
+    }
+  }
+}
+
+
+void dd_CopyArow(mytype *acopy, mytype *a, dd_colrange d)
+{
+  dd_colrange j;
+
+  for (j = 0; j < d; j++) {
+    dd_set(acopy[j],a[j]);
+  }
+}
+
+void dd_CopyNormalizedArow(mytype *acopy, mytype *a, dd_colrange d)
+{
+  dd_CopyArow(acopy, a, d);
+  dd_Normalize(d,acopy);
+}
+
+void dd_CopyAmatrix(mytype **Acopy, mytype **A, dd_rowrange m, dd_colrange d)
+{
+  dd_rowrange i;
+
+  for (i = 0; i< m; i++) {
+    dd_CopyArow(Acopy[i],A[i],d);
+  }
+}
+
+void dd_CopyNormalizedAmatrix(mytype **Acopy, mytype **A, dd_rowrange m, dd_colrange d)
+{
+  dd_rowrange i;
+
+  for (i = 0; i< m; i++) {
+    dd_CopyNormalizedArow(Acopy[i],A[i],d);
+  }
+}
+
+void dd_PermuteCopyAmatrix(mytype **Acopy, mytype **A, dd_rowrange m, dd_colrange d, dd_rowindex roworder)
+{
+  dd_rowrange i;
+
+  for (i = 1; i<= m; i++) {
+    dd_CopyArow(Acopy[i-1],A[roworder[i]-1],d);
+  }
+}
+
+void dd_PermutePartialCopyAmatrix(mytype **Acopy, mytype **A, dd_rowrange m, dd_colrange d, dd_rowindex roworder,dd_rowrange p, dd_rowrange q)
+{
+ /* copy the rows of A whose roworder is positive.  roworder[i] is the row index of the copied row. */
+  dd_rowrange i,k;
+
+  k=0;
+  for (i = 1; i<= m; i++) {
+    if (roworder[i]>0) dd_CopyArow(Acopy[roworder[i]-1],A[i-1],d);
+  }
+}
+
+void dd_InitializeArow(dd_colrange d,dd_Arow *a)
+{
+  dd_colrange j;
+
+  if (d>0) *a=(mytype*) calloc(d,sizeof(mytype));
+  for (j = 0; j < d; j++) {
+      dd_init((*a)[j]);
+  }
+}
+
+void dd_InitializeAmatrix(dd_rowrange m,dd_colrange d,dd_Amatrix *A)
+{
+  dd_rowrange i;
+
+  if (m>0) (*A)=(mytype**) calloc(m,sizeof(mytype*));
+  for (i = 0; i < m; i++) {
+    dd_InitializeArow(d,&((*A)[i]));
+  }
+}
+
+void dd_FreeAmatrix(dd_rowrange m,dd_colrange d,dd_Amatrix A)
+{
+  dd_rowrange i;
+  dd_colrange j;
+
+  for (i = 0; i < m; i++) {
+    for (j = 0; j < d; j++) {
+      dd_clear(A[i][j]);
+    }
+  }
+  if (A!=NULL) {
+    for (i = 0; i < m; i++) {
+      free(A[i]);
+    }
+    free(A);
+  }
+}
+
+void dd_FreeArow(dd_colrange d, dd_Arow a)
+{
+  dd_colrange j;
+
+  for (j = 0; j < d; j++) {
+    dd_clear(a[j]);
+  }
+  free(a);
+}
+
+
+void dd_InitializeBmatrix(dd_colrange d,dd_Bmatrix *B)
+{
+  dd_colrange i,j;
+
+  (*B)=(mytype**) calloc(d,sizeof(mytype*));
+  for (j = 0; j < d; j++) {
+    (*B)[j]=(mytype*) calloc(d,sizeof(mytype));
+  }
+  for (i = 0; i < d; i++) {
+    for (j = 0; j < d; j++) {
+      dd_init((*B)[i][j]);
+    }
+  }
+}
+
+void dd_FreeBmatrix(dd_colrange d,dd_Bmatrix B)
+{
+  dd_colrange i,j;
+
+  for (i = 0; i < d; i++) {
+    for (j = 0; j < d; j++) {
+      dd_clear(B[i][j]);
+    }
+  }
+  if (B!=NULL) {
+    for (j = 0; j < d; j++) {
+      free(B[j]);
+    }
+    free(B);
+  }
+}
+
+dd_SetFamilyPtr dd_CreateSetFamily(dd_bigrange fsize, dd_bigrange ssize)
+{
+  dd_SetFamilyPtr F;
+  dd_bigrange i,f0,f1,s0,s1;
+
+  if (fsize<=0) {
+    f0=0; f1=1;  
+    /* if fsize<=0, the fsize is set to zero and the created size is one */
+  } else {
+    f0=fsize; f1=fsize;
+  }
+  if (ssize<=0) {
+    s0=0; s1=1;  
+    /* if ssize<=0, the ssize is set to zero and the created size is one */
+  } else {
+    s0=ssize; s1=ssize;
+  }
+
+  F=(dd_SetFamilyPtr) malloc (sizeof(dd_SetFamilyType));
+  F->set=(set_type*) calloc(f1,sizeof(set_type));
+  for (i=0; i<f1; i++) {
+    set_initialize(&(F->set[i]), s1);
+  }
+  F->famsize=f0;
+  F->setsize=s0;
+  return F;
+}
+
+
+void dd_FreeSetFamily(dd_SetFamilyPtr F)
+{
+  dd_bigrange i,f1;
+
+  if (F!=NULL){
+    if (F->famsize<=0) f1=1; else f1=F->famsize; 
+      /* the smallest created size is one */
+    for (i=0; i<f1; i++) {
+      set_free(F->set[i]);
+    }
+    free(F->set);
+    free(F);
+  }
+}
+
+dd_MatrixPtr dd_CreateMatrix(dd_rowrange m_size,dd_colrange d_size)
+{
+  dd_MatrixPtr M;
+  dd_rowrange m0,m1;
+  dd_colrange d0,d1;
+
+  if (m_size<=0){ 
+    m0=0; m1=1;  
+    /* if m_size <=0, the number of rows is set to zero, the actual size is 1 */
+  } else {
+    m0=m_size; m1=m_size;
+  }
+  if (d_size<=0){ 
+    d0=0; d1=1;  
+    /* if d_size <=0, the number of cols is set to zero, the actual size is 1 */
+  } else {
+    d0=d_size; d1=d_size;
+  }
+  M=(dd_MatrixPtr) malloc (sizeof(dd_MatrixType));
+  dd_InitializeAmatrix(m1,d1,&(M->matrix));
+  dd_InitializeArow(d1,&(M->rowvec));
+  M->rowsize=m0;
+  set_initialize(&(M->linset), m1);
+  M->colsize=d0;
+  M->objective=dd_LPnone;
+  M->numbtype=dd_Unknown;
+  M->representation=dd_Unspecified;
+  return M;
+}
+
+void dd_FreeMatrix(dd_MatrixPtr M)
+{
+  dd_rowrange m1;
+  dd_colrange d1;
+
+  if (M!=NULL) {
+    if (M->rowsize<=0) m1=1; else m1=M->rowsize;
+    if (M->colsize<=0) d1=1; else d1=M->colsize;
+    if (M!=NULL) {
+      dd_FreeAmatrix(m1,d1,M->matrix);
+      dd_FreeArow(d1,M->rowvec);
+      set_free(M->linset);
+      free(M);
+    }
+  }
+}
+
+void dd_SetToIdentity(dd_colrange d_size, dd_Bmatrix T)
+{
+  dd_colrange j1, j2;
+
+  for (j1 = 1; j1 <= d_size; j1++) {
+    for (j2 = 1; j2 <= d_size; j2++) {
+      if (j1 == j2)
+        dd_set(T[j1 - 1][j2 - 1],dd_one);
+      else
+        dd_set(T[j1 - 1][j2 - 1],dd_purezero);
+    }
+  }
+}
+
+void dd_ColumnReduce(dd_ConePtr cone)
+{
+  dd_colrange j,j1=0;
+  dd_rowrange i;
+  dd_boolean localdebug=dd_FALSE;
+
+  for (j=1;j<=cone->d;j++) {
+    if (cone->InitialRayIndex[j]>0){
+      j1=j1+1;
+      if (j1<j) {
+        for (i=1; i<=cone->m; i++) dd_set(cone->A[i-1][j1-1],cone->A[i-1][j-1]);
+        cone->newcol[j]=j1;
+        if (localdebug){
+          fprintf(stderr,"shifting the column %ld to column %ld\n", j, j1);
+        }
+          /* shifting forward */
+      }
+    } else {
+      cone->newcol[j]=0;
+      if (localdebug) {
+        fprintf(stderr,"a generator (or an equation) of the linearity space: ");
+        for (i=1; i<=cone->d; i++) dd_WriteNumber(stderr, cone->B[i-1][j-1]);
+        fprintf(stderr,"\n");
+      }
+    }
+  }
+  cone->d=j1;  /* update the dimension. cone->d_orig remembers the old. */
+  dd_CopyBmatrix(cone->d_orig, cone->B, cone->Bsave);  
+    /* save the dual basis inverse as Bsave.  This matrix contains the linearity space generators. */
+  cone->ColReduced=dd_TRUE;
+}
+
+long dd_MatrixRank(dd_MatrixPtr M, dd_rowset ignoredrows, dd_colset ignoredcols, dd_rowset *rowbasis, dd_colset *colbasis)
+{
+  dd_boolean stop, chosen, localdebug=dd_debug;
+  dd_rowset NopivotRow,PriorityRow;
+  dd_colset ColSelected;
+  dd_Bmatrix B;
+  dd_rowindex roworder;
+  dd_rowrange r;
+  dd_colrange s;
+  long rank;
+
+  rank = 0;
+  stop = dd_FALSE;
+  set_initialize(&ColSelected, M->colsize);
+  set_initialize(&NopivotRow, M->rowsize);
+  set_initialize(rowbasis, M->rowsize);
+  set_initialize(colbasis, M->colsize);
+  set_initialize(&PriorityRow, M->rowsize);
+  set_copy(NopivotRow,ignoredrows);
+  set_copy(ColSelected,ignoredcols);
+  dd_InitializeBmatrix(M->colsize, &B);
+  dd_SetToIdentity(M->colsize, B);
+  roworder=(long *)calloc(M->rowsize+1,sizeof(long));
+  for (r=0; r<M->rowsize; r++){roworder[r+1]=r+1;
+  }
+
+  do {   /* Find a set of rows for a basis */
+      dd_SelectPivot2(M->rowsize, M->colsize,M->matrix,B,dd_MinIndex,roworder,
+       PriorityRow,M->rowsize, NopivotRow, ColSelected, &r, &s, &chosen);
+      if (dd_debug && chosen) 
+        fprintf(stderr,"Procedure dd_MatrixRank: pivot on (r,s) =(%ld, %ld).\n", r, s);
+      if (chosen) {
+        set_addelem(NopivotRow, r);
+        set_addelem(*rowbasis, r);
+        set_addelem(ColSelected, s);
+        set_addelem(*colbasis, s);
+        rank++;
+        dd_GaussianColumnPivot(M->rowsize, M->colsize, M->matrix, B, r, s);
+        if (localdebug) dd_WriteBmatrix(stderr,M->colsize,B);
+      } else {
+        stop=dd_TRUE;
+      }
+      if (rank==M->colsize) stop = dd_TRUE;
+  } while (!stop);
+  dd_FreeBmatrix(M->colsize,B);
+  free(roworder);
+  set_free(ColSelected);
+  set_free(NopivotRow);
+  set_free(PriorityRow);
+  return rank;
+}
+
+
+void dd_FindBasis(dd_ConePtr cone, long *rank)
+{
+  dd_boolean stop, chosen, localdebug=dd_debug;
+  dd_rowset NopivotRow;
+  dd_colset ColSelected;
+  dd_rowrange r;
+  dd_colrange j,s;
+
+  *rank = 0;
+  stop = dd_FALSE;
+  for (j=0;j<=cone->d;j++) cone->InitialRayIndex[j]=0;
+  set_emptyset(cone->InitialHalfspaces);
+  set_initialize(&ColSelected, cone->d);
+  set_initialize(&NopivotRow, cone->m);
+  set_copy(NopivotRow,cone->NonequalitySet);
+  dd_SetToIdentity(cone->d, cone->B);
+  do {   /* Find a set of rows for a basis */
+      dd_SelectPivot2(cone->m, cone->d,cone->A,cone->B,cone->HalfspaceOrder,cone->OrderVector,
+       cone->EqualitySet,cone->m, NopivotRow, ColSelected, &r, &s, &chosen);
+      if (dd_debug && chosen) 
+        fprintf(stderr,"Procedure dd_FindBasis: pivot on (r,s) =(%ld, %ld).\n", r, s);
+      if (chosen) {
+        set_addelem(cone->InitialHalfspaces, r);
+        set_addelem(NopivotRow, r);
+        set_addelem(ColSelected, s);
+        cone->InitialRayIndex[s]=r;    /* cone->InitialRayIndex[s] stores the corr. row index */
+        (*rank)++;
+        dd_GaussianColumnPivot(cone->m, cone->d, cone->A, cone->B, r, s);
+        if (localdebug) dd_WriteBmatrix(stderr,cone->d,cone->B);
+      } else {
+        stop=dd_TRUE;
+      }
+      if (*rank==cone->d) stop = dd_TRUE;
+  } while (!stop);
+  set_free(ColSelected);
+  set_free(NopivotRow);
+}
+
+
+void dd_FindInitialRays(dd_ConePtr cone, dd_boolean *found)
+{
+  dd_rowset CandidateRows;
+  dd_rowrange i;
+  long rank;
+  dd_RowOrderType roworder_save=dd_LexMin;
+
+  *found = dd_FALSE;
+  set_initialize(&CandidateRows, cone->m);
+  if (cone->parent->InitBasisAtBottom==dd_TRUE) {
+    roworder_save=cone->HalfspaceOrder;
+    cone->HalfspaceOrder=dd_MaxIndex;
+    cone->PreOrderedRun=dd_FALSE;
+  }
+  else cone->PreOrderedRun=dd_TRUE;
+  if (dd_debug) dd_WriteBmatrix(stderr, cone->d, cone->B);
+  for (i = 1; i <= cone->m; i++)
+    if (!set_member(i,cone->NonequalitySet)) set_addelem(CandidateRows, i);
+    /*all rows not in NonequalitySet are candidates for initial cone*/
+  dd_FindBasis(cone, &rank);
+  if (dd_debug) dd_WriteBmatrix(stderr, cone->d, cone->B);
+  if (dd_debug) fprintf(stderr,"dd_FindInitialRays: rank of Amatrix = %ld\n", rank);
+  cone->LinearityDim=cone->d - rank;
+  if (dd_debug) fprintf(stderr,"Linearity Dimension = %ld\n", cone->LinearityDim);
+  if (cone->LinearityDim > 0) {
+     dd_ColumnReduce(cone);
+     dd_FindBasis(cone, &rank);
+  }
+  if (!set_subset(cone->EqualitySet,cone->InitialHalfspaces)) {
+    if (dd_debug) {
+      fprintf(stderr,"Equality set is dependent. Equality Set and an initial basis:\n");
+      set_fwrite(stderr,cone->EqualitySet);
+      set_fwrite(stderr,cone->InitialHalfspaces);
+    };
+  }
+  *found = dd_TRUE;
+  set_free(CandidateRows);
+  if (cone->parent->InitBasisAtBottom==dd_TRUE) {
+    cone->HalfspaceOrder=roworder_save;
+  }
+  if (cone->HalfspaceOrder==dd_MaxCutoff||
+      cone->HalfspaceOrder==dd_MinCutoff||
+      cone->HalfspaceOrder==dd_MixCutoff){
+    cone->PreOrderedRun=dd_FALSE;
+  } else cone->PreOrderedRun=dd_TRUE;
+}
+
+void dd_CheckEquality(dd_colrange d_size, dd_RayPtr*RP1, dd_RayPtr*RP2, dd_boolean *equal)
+{
+  long j;
+
+  if (dd_debug)
+    fprintf(stderr,"Check equality of two rays\n");
+  *equal = dd_TRUE;
+  j = 1;
+  while (j <= d_size && *equal) {
+    if (!dd_Equal((*RP1)->Ray[j - 1],(*RP2)->Ray[j - 1]))
+      *equal = dd_FALSE;
+    j++;
+  }
+  if (*equal)
+    fprintf(stderr,"Equal records found !!!!\n");
+}
+
+void dd_CreateNewRay(dd_ConePtr cone, 
+    dd_RayPtr Ptr1, dd_RayPtr Ptr2, dd_rowrange ii)
+{
+  /*Create a new ray by taking a linear combination of two rays*/
+  dd_colrange j;
+  mytype a1, a2, v1, v2;
+  static dd_Arow NewRay;
+  static dd_colrange last_d=0;
+  dd_boolean localdebug=dd_debug;
+
+  dd_init(a1); dd_init(a2); dd_init(v1); dd_init(v2);
+  if (last_d!=cone->d){
+    if (last_d>0) {
+      for (j=0; j<last_d; j++) dd_clear(NewRay[j]);
+      free(NewRay);
+    }
+    NewRay=(mytype*)calloc(cone->d,sizeof(mytype));
+    for (j=0; j<cone->d; j++) dd_init(NewRay[j]);
+    last_d=cone->d;
+  }
+
+  dd_AValue(&a1, cone->d, cone->A, Ptr1->Ray, ii);
+  dd_AValue(&a2, cone->d, cone->A, Ptr2->Ray, ii);
+  if (localdebug) {
+    fprintf(stderr,"CreatNewRay: Ray1 ="); dd_WriteArow(stderr, Ptr1->Ray, cone->d);
+    fprintf(stderr,"CreatNewRay: Ray2 ="); dd_WriteArow(stderr, Ptr2->Ray, cone->d);
+  }
+  dd_abs(v1,a1);
+  dd_abs(v2,a2);
+  if (localdebug){
+    fprintf(stderr,"dd_AValue1 and ABS");  dd_WriteNumber(stderr,a1); dd_WriteNumber(stderr,v1); fprintf(stderr,"\n");
+    fprintf(stderr,"dd_AValue2 and ABS");  dd_WriteNumber(stderr,a2); dd_WriteNumber(stderr,v2); fprintf(stderr,"\n");
+  }
+  for (j = 0; j < cone->d; j++){
+    dd_LinearComb(NewRay[j], Ptr1->Ray[j],v2,Ptr2->Ray[j],v1);
+  }
+  if (localdebug) {
+    fprintf(stderr,"CreatNewRay: New ray ="); dd_WriteArow(stderr, NewRay, cone->d);
+  }
+  dd_Normalize(cone->d, NewRay);
+  if (localdebug) {
+    fprintf(stderr,"CreatNewRay: dd_Normalized ray ="); dd_WriteArow(stderr, NewRay, cone->d);
+  }
+  dd_AddRay(cone, NewRay);
+  dd_clear(a1); dd_clear(a2); dd_clear(v1); dd_clear(v2);
+}
+
+void dd_EvaluateARay1(dd_rowrange i, dd_ConePtr cone)
+/* Evaluate the ith component of the vector  A x RD.Ray 
+    and rearrange the linked list so that
+    the infeasible rays with respect to  i  will be
+    placed consecutively from First 
+ */
+{
+  dd_colrange j;
+  mytype temp,tnext;
+  dd_RayPtr Ptr, PrevPtr, TempPtr;
+
+  dd_init(temp); dd_init(tnext);
+  Ptr = cone->FirstRay;
+  PrevPtr = cone->ArtificialRay;
+  if (PrevPtr->Next != Ptr) {
+    fprintf(stderr,"Error.  Artificial Ray does not point to FirstRay!!!\n");
+  }
+  while (Ptr != NULL) {
+    dd_set(temp,dd_purezero);
+    for (j = 0; j < cone->d; j++){
+      dd_mul(tnext,cone->A[i - 1][j],Ptr->Ray[j]);
+      dd_add(temp,temp,tnext);
+    }
+    dd_set(Ptr->ARay,temp);
+/*    if ( temp <= -zero && Ptr != cone->FirstRay) {*/
+    if ( dd_Negative(temp) && Ptr != cone->FirstRay) {
+      /* fprintf(stderr,"Moving an infeasible record w.r.t. %ld to FirstRay\n",i); */
+      if (Ptr==cone->LastRay) cone->LastRay=PrevPtr;
+      TempPtr=Ptr;
+      Ptr = Ptr->Next;
+      PrevPtr->Next = Ptr;
+      cone->ArtificialRay->Next = TempPtr;
+      TempPtr->Next = cone->FirstRay;
+      cone->FirstRay = TempPtr;
+    }
+    else {
+      PrevPtr = Ptr;
+      Ptr = Ptr->Next;
+    }
+  }
+  dd_clear(temp); dd_clear(tnext);
+}
+
+void dd_EvaluateARay2(dd_rowrange i, dd_ConePtr cone)
+/* Evaluate the ith component of the vector  A x RD.Ray 
+   and rearrange the linked list so that
+   the infeasible rays with respect to  i  will be
+   placed consecutively from First. Also for all feasible rays,
+   "positive" rays and "zero" rays will be placed consecutively.
+ */
+{
+  dd_colrange j;
+  mytype temp,tnext;
+  dd_RayPtr Ptr, NextPtr;
+  dd_boolean zerofound=dd_FALSE,negfound=dd_FALSE,posfound=dd_FALSE;
+
+  if (cone==NULL || cone->TotalRayCount<=0) goto _L99;  
+  dd_init(temp); dd_init(tnext);
+  cone->PosHead=NULL;cone->ZeroHead=NULL;cone->NegHead=NULL;
+  cone->PosLast=NULL;cone->ZeroLast=NULL;cone->NegLast=NULL;
+  Ptr = cone->FirstRay;
+  while (Ptr != NULL) {
+    NextPtr=Ptr->Next;  /* remember the Next record */
+    Ptr->Next=NULL;     /* then clear the Next pointer */
+    dd_set(temp,dd_purezero);
+    for (j = 0; j < cone->d; j++){
+      dd_mul(tnext,cone->A[i - 1][j],Ptr->Ray[j]);
+      dd_add(temp,temp,tnext);
+    }
+    dd_set(Ptr->ARay,temp);
+/*    if ( temp < -zero) {*/
+    if ( dd_Negative(temp)) {
+      if (!negfound){
+        negfound=dd_TRUE;
+        cone->NegHead=Ptr;
+        cone->NegLast=Ptr;
+      }
+      else{
+        Ptr->Next=cone->NegHead;
+        cone->NegHead=Ptr;
+      }
+    }
+/*    else if (temp > zero){*/
+    else if (dd_Positive(temp)){
+      if (!posfound){
+        posfound=dd_TRUE;
+        cone->PosHead=Ptr;
+        cone->PosLast=Ptr;
+      }
+      else{  
+        Ptr->Next=cone->PosHead;
+        cone->PosHead=Ptr;
+       }
+    }
+    else {
+      if (!zerofound){
+        zerofound=dd_TRUE;
+        cone->ZeroHead=Ptr;
+        cone->ZeroLast=Ptr;
+      }
+      else{
+        Ptr->Next=cone->ZeroHead;
+        cone->ZeroHead=Ptr;
+      }
+    }
+    Ptr=NextPtr;
+  }
+  /* joining three neg, pos and zero lists */
+  if (negfound){                 /* -list nonempty */
+    cone->FirstRay=cone->NegHead;
+    if (posfound){               /* -list & +list nonempty */
+      cone->NegLast->Next=cone->PosHead;
+      if (zerofound){            /* -list, +list, 0list all nonempty */
+        cone->PosLast->Next=cone->ZeroHead;
+        cone->LastRay=cone->ZeroLast;
+      } 
+      else{                      /* -list, +list nonempty but  0list empty */
+        cone->LastRay=cone->PosLast;      
+      }
+    }
+    else{                        /* -list nonempty & +list empty */
+      if (zerofound){            /* -list,0list nonempty & +list empty */
+        cone->NegLast->Next=cone->ZeroHead;
+        cone->LastRay=cone->ZeroLast;
+      } 
+      else {                      /* -list nonempty & +list,0list empty */
+        cone->LastRay=cone->NegLast;
+      }
+    }
+  }
+  else if (posfound){            /* -list empty & +list nonempty */
+    cone->FirstRay=cone->PosHead;
+    if (zerofound){              /* -list empty & +list,0list nonempty */
+      cone->PosLast->Next=cone->ZeroHead;
+      cone->LastRay=cone->ZeroLast;
+    } 
+    else{                        /* -list,0list empty & +list nonempty */
+      cone->LastRay=cone->PosLast;
+    }
+  }
+  else{                          /* -list,+list empty & 0list nonempty */
+    cone->FirstRay=cone->ZeroHead;
+    cone->LastRay=cone->ZeroLast;
+  }
+  cone->ArtificialRay->Next=cone->FirstRay;
+  cone->LastRay->Next=NULL;
+  dd_clear(temp); dd_clear(tnext);
+  _L99:;  
+}
+
+void dd_DeleteNegativeRays(dd_ConePtr cone)
+/* Eliminate the infeasible rays with respect to  i  which
+   are supposed to be consecutive from the head of the dd_Ray list,
+   and sort the zero list assumed to be consecutive at the
+   end of the list.
+ */
+{
+  dd_rowrange fii,fiitest;
+  mytype temp;
+  dd_RayPtr Ptr, PrevPtr,NextPtr,ZeroPtr1,ZeroPtr0;
+  dd_boolean found, completed, zerofound=dd_FALSE,negfound=dd_FALSE,posfound=dd_FALSE;
+  dd_boolean localdebug=dd_FALSE;
+  
+  dd_init(temp);
+  cone->PosHead=NULL;cone->ZeroHead=NULL;cone->NegHead=NULL;
+  cone->PosLast=NULL;cone->ZeroLast=NULL;cone->NegLast=NULL;
+
+  /* Delete the infeasible rays  */
+  PrevPtr= cone->ArtificialRay;
+  Ptr = cone->FirstRay;
+  if (PrevPtr->Next != Ptr) 
+    fprintf(stderr,"Error at dd_DeleteNegativeRays: ArtificialRay does not point the FirstRay.\n");
+  completed=dd_FALSE;
+  while (Ptr != NULL && !completed){
+/*    if ( (Ptr->ARay) < -zero ){ */
+    if ( dd_Negative(Ptr->ARay)){
+      dd_Eliminate(cone, &PrevPtr);
+      Ptr=PrevPtr->Next;
+    }
+    else{
+      completed=dd_TRUE;
+    }
+  }
+  
+  /* Sort the zero rays */
+  Ptr = cone->FirstRay;
+  cone->ZeroRayCount=0;
+  while (Ptr != NULL) {
+    NextPtr=Ptr->Next;  /* remember the Next record */
+    dd_set(temp,Ptr->ARay);
+    if (localdebug) {fprintf(stderr,"Ptr->ARay :"); dd_WriteNumber(stderr, temp);}
+/*    if ( temp < -zero) {*/
+    if ( dd_Negative(temp)) {
+      if (!negfound){
+        fprintf(stderr,"Error: An infeasible ray found after their removal\n");
+        negfound=dd_TRUE;
+      }
+    }
+/*    else if (temp > zero){*/
+    else if (dd_Positive(temp)){
+      if (!posfound){
+        posfound=dd_TRUE;
+        cone->PosHead=Ptr;
+        cone->PosLast=Ptr;
+      }
+      else{  
+        cone->PosLast=Ptr;
+       }
+    }
+    else {
+      (cone->ZeroRayCount)++;
+      if (!zerofound){
+        zerofound=dd_TRUE;
+        cone->ZeroHead=Ptr;
+        cone->ZeroLast=Ptr;
+        cone->ZeroLast->Next=NULL;
+      }
+      else{/* Find a right position to store the record sorted w.r.t. FirstInfeasIndex */
+        fii=Ptr->FirstInfeasIndex; 
+        found=dd_FALSE;
+        ZeroPtr1=NULL;
+        for (ZeroPtr0=cone->ZeroHead; !found && ZeroPtr0!=NULL ; ZeroPtr0=ZeroPtr0->Next){
+          fiitest=ZeroPtr0->FirstInfeasIndex;
+          if (fiitest >= fii){
+            found=dd_TRUE;
+          }
+          else ZeroPtr1=ZeroPtr0;
+        }
+        /* fprintf(stderr,"insert position found \n %d  index %ld\n",found, fiitest); */
+        if (!found){           /* the new record must be stored at the end of list */
+          cone->ZeroLast->Next=Ptr;
+          cone->ZeroLast=Ptr;
+          cone->ZeroLast->Next=NULL;
+        }
+        else{
+          if (ZeroPtr1==NULL){ /* store the new one at the head, and update the head ptr */
+            /* fprintf(stderr,"Insert at the head\n"); */
+            Ptr->Next=cone->ZeroHead;
+            cone->ZeroHead=Ptr;
+          }
+          else{                /* store the new one inbetween ZeroPtr1 and 0 */
+            /* fprintf(stderr,"Insert inbetween\n");  */
+            Ptr->Next=ZeroPtr1->Next;
+            ZeroPtr1->Next=Ptr;
+          }
+        }
+        /*
+        Ptr->Next=cone->ZeroHead;
+        cone->ZeroHead=Ptr;
+        */
+      }
+    }
+    Ptr=NextPtr;
+  }
+  /* joining the pos and zero lists */
+  if (posfound){            /* -list empty & +list nonempty */
+    cone->FirstRay=cone->PosHead;
+    if (zerofound){              /* +list,0list nonempty */
+      cone->PosLast->Next=cone->ZeroHead;
+      cone->LastRay=cone->ZeroLast;
+    } 
+    else{                        /* 0list empty & +list nonempty */
+      cone->LastRay=cone->PosLast;
+    }
+  }
+  else{                          /* +list empty & 0list nonempty */
+    cone->FirstRay=cone->ZeroHead;
+    cone->LastRay=cone->ZeroLast;
+  }
+  cone->ArtificialRay->Next=cone->FirstRay;
+  cone->LastRay->Next=NULL;
+  dd_clear(temp);
+}
+
+void dd_FeasibilityIndices(long *fnum, long *infnum, dd_rowrange i, dd_ConePtr cone)
+{
+  /*Evaluate the number of feasible rays and infeasible rays*/
+  /*  w.r.t the hyperplane  i*/
+  dd_colrange j;
+  mytype temp, tnext;
+  dd_RayPtr Ptr;
+
+  dd_init(temp); dd_init(tnext);
+  *fnum = 0;
+  *infnum = 0;
+  Ptr = cone->FirstRay;
+  while (Ptr != NULL) {
+    dd_set(temp,dd_purezero);
+    for (j = 0; j < cone->d; j++){
+      dd_mul(tnext, cone->A[i - 1][j],Ptr->Ray[j]);
+      dd_add(temp, temp, tnext);
+    }
+    if (dd_Nonnegative(temp))
+      (*fnum)++;
+    else
+      (*infnum)++;
+    Ptr = Ptr->Next;
+  }
+  dd_clear(temp); dd_clear(tnext);
+}
+
+dd_boolean dd_LexSmaller(mytype *v1, mytype *v2, long dmax)
+{ /* dmax is the size of vectors v1,v2 */
+  dd_boolean determined, smaller;
+  dd_colrange j;
+
+  smaller = dd_FALSE;
+  determined = dd_FALSE;
+  j = 1;
+  do {
+    if (!dd_Equal(v1[j - 1],v2[j - 1])) {  /* 086 */
+      if (dd_Smaller(v1[j - 1],v2[j - 1])) {  /*086 */
+	    smaller = dd_TRUE;
+	  }
+      determined = dd_TRUE;
+    } else
+      j++;
+  } while (!(determined) && (j <= dmax));
+  return smaller;
+}
+
+
+dd_boolean dd_LexLarger(mytype *v1, mytype *v2, long dmax)
+{
+  return dd_LexSmaller(v2, v1, dmax);
+}
+
+dd_boolean dd_LexEqual(mytype *v1, mytype *v2, long dmax)
+{ /* dmax is the size of vectors v1,v2 */
+  dd_boolean determined, equal;
+  dd_colrange j;
+
+  equal = dd_TRUE;
+  determined = dd_FALSE;
+  j = 1;
+  do {
+    if (!dd_Equal(v1[j - 1],v2[j - 1])) {  /* 093c */
+	equal = dd_FALSE;
+        determined = dd_TRUE;
+    } else {
+      j++;
+    }
+  } while (!(determined) && (j <= dmax));
+  return equal;
+}
+
+void dd_AddNewHalfspace1(dd_ConePtr cone, dd_rowrange hnew)
+/* This procedure 1 must be used with PreorderedRun=dd_FALSE 
+   This procedure is the most elementary implementation of
+   DD and can be used with any type of ordering, including
+   dynamic ordering of rows, e.g. MaxCutoff, MinCutoff.
+   The memory requirement is minimum because it does not
+   store any adjacency among the rays.
+*/
+{
+  dd_RayPtr RayPtr0,RayPtr1,RayPtr2,RayPtr2s,RayPtr3;
+  long pos1, pos2;
+  double prevprogress, progress;
+  mytype value1, value2;
+  dd_boolean adj, equal, completed;
+
+  dd_init(value1); dd_init(value2);
+  dd_EvaluateARay1(hnew, cone);  
+   /*Check feasibility of rays w.r.t. hnew 
+     and put all infeasible ones consecutively */
+
+  RayPtr0 = cone->ArtificialRay;   /*Pointer pointing RayPrt1*/
+  RayPtr1 = cone->FirstRay;        /*1st hnew-infeasible ray to scan and compare with feasible rays*/
+  dd_set(value1,cone->FirstRay->ARay);
+  if (dd_Nonnegative(value1)) {
+    if (cone->RayCount==cone->WeaklyFeasibleRayCount) cone->CompStatus=dd_AllFound;
+    goto _L99;        /* Sicne there is no hnew-infeasible ray and nothing to do */
+  }
+  else {
+    RayPtr2s = RayPtr1->Next;/* RayPtr2s must point the first feasible ray */
+    pos2=1;
+    while (RayPtr2s!=NULL && dd_Negative(RayPtr2s->ARay)) {
+      RayPtr2s = RayPtr2s->Next;
+      pos2++;
+    }
+  }
+  if (RayPtr2s==NULL) {
+    cone->FirstRay=NULL;
+    cone->ArtificialRay->Next=cone->FirstRay;
+    cone->RayCount=0;
+    cone->CompStatus=dd_AllFound;
+    goto _L99;   /* All rays are infeasible, and the computation must stop */
+  }
+  RayPtr2 = RayPtr2s;   /*2nd feasible ray to scan and compare with 1st*/
+  RayPtr3 = cone->LastRay;    /*Last feasible for scanning*/
+  prevprogress=-10.0;
+  pos1 = 1;
+  completed=dd_FALSE;
+  while ((RayPtr1 != RayPtr2s) && !completed) {
+    dd_set(value1,RayPtr1->ARay);
+    dd_set(value2,RayPtr2->ARay);
+    dd_CheckEquality(cone->d, &RayPtr1, &RayPtr2, &equal);
+    if ((dd_Positive(value1) && dd_Negative(value2)) || (dd_Negative(value1) && dd_Positive(value2))){
+      dd_CheckAdjacency(cone, &RayPtr1, &RayPtr2, &adj);
+      if (adj) dd_CreateNewRay(cone, RayPtr1, RayPtr2, hnew);
+    }
+    if (RayPtr2 != RayPtr3) {
+      RayPtr2 = RayPtr2->Next;
+      continue;
+    }
+    if (dd_Negative(value1) || equal) {
+      dd_Eliminate(cone, &RayPtr0);
+      RayPtr1 = RayPtr0->Next;
+      RayPtr2 = RayPtr2s;
+    } else {
+      completed=dd_TRUE;
+    }
+    pos1++;
+    progress = 100.0 * ((double)pos1 / pos2) * (2.0 * pos2 - pos1) / pos2;
+    if (progress-prevprogress>=10 && pos1%10==0 && dd_debug) {
+      fprintf(stderr,"*Progress of iteration %5ld(/%ld):   %4ld/%4ld => %4.1f%% done\n",
+	     cone->Iteration, cone->m, pos1, pos2, progress);
+      prevprogress=progress;
+    }
+  }
+  if (cone->RayCount==cone->WeaklyFeasibleRayCount) cone->CompStatus=dd_AllFound;
+  _L99:;
+  dd_clear(value1); dd_clear(value2);
+}
+
+void dd_AddNewHalfspace2(dd_ConePtr cone, dd_rowrange hnew)
+/* This procedure must be used under PreOrderedRun mode */
+{
+  dd_RayPtr RayPtr0,RayPtr1,RayPtr2;
+  dd_AdjacencyType *EdgePtr, *EdgePtr0;
+  long pos1;
+  dd_rowrange fii1, fii2;
+  dd_boolean localdebug=dd_FALSE;
+
+  dd_EvaluateARay2(hnew, cone);
+   /* Check feasibility of rays w.r.t. hnew 
+      and sort them. ( -rays, +rays, 0rays)*/
+
+  if (cone->PosHead==NULL && cone->ZeroHead==NULL) {
+    cone->FirstRay=NULL;
+    cone->ArtificialRay->Next=cone->FirstRay;
+    cone->RayCount=0;
+    cone->CompStatus=dd_AllFound;
+    goto _L99;   /* All rays are infeasible, and the computation must stop */
+  }
+  
+  if (localdebug){
+    pos1=0;
+    fprintf(stderr,"(pos, FirstInfeasIndex, A Ray)=\n");
+    for (RayPtr0=cone->FirstRay; RayPtr0!=NULL; RayPtr0=RayPtr0->Next){
+      pos1++;
+      fprintf(stderr,"(%ld,%ld,",pos1,RayPtr0->FirstInfeasIndex);
+      dd_WriteNumber(stderr,RayPtr0->ARay); 
+      fprintf(stderr,") ");
+   }
+    fprintf(stderr,"\n");
+  }
+  
+  if (cone->ZeroHead==NULL) cone->ZeroHead=cone->LastRay;
+
+  EdgePtr=cone->Edges[cone->Iteration];
+  while (EdgePtr!=NULL){
+    RayPtr1=EdgePtr->Ray1;
+    RayPtr2=EdgePtr->Ray2;
+    fii1=RayPtr1->FirstInfeasIndex;   
+    dd_CreateNewRay(cone, RayPtr1, RayPtr2, hnew);
+    fii2=cone->LastRay->FirstInfeasIndex;
+    if (fii1 != fii2) 
+      dd_ConditionalAddEdge(cone,RayPtr1,cone->LastRay,cone->PosHead);
+    EdgePtr0=EdgePtr;
+    EdgePtr=EdgePtr->Next;
+    free(EdgePtr0);
+    (cone->EdgeCount)--;
+  }
+  cone->Edges[cone->Iteration]=NULL;
+  
+  dd_DeleteNegativeRays(cone);
+    
+  set_addelem(cone->AddedHalfspaces, hnew);
+
+  if (cone->Iteration<cone->m){
+    if (cone->ZeroHead!=NULL && cone->ZeroHead!=cone->LastRay){
+      if (cone->ZeroRayCount>200 && dd_debug) fprintf(stderr,"*New edges being scanned...\n");
+      dd_UpdateEdges(cone, cone->ZeroHead, cone->LastRay);
+    }
+  }
+
+  if (cone->RayCount==cone->WeaklyFeasibleRayCount) cone->CompStatus=dd_AllFound;
+_L99:;
+}
+
+
+void dd_SelectNextHalfspace0(dd_ConePtr cone, dd_rowset excluded, dd_rowrange *hnext)
+{
+  /*A natural way to choose the next hyperplane.  Simply the largest index*/
+  long i;
+  dd_boolean determined;
+
+  i = cone->m;
+  determined = dd_FALSE;
+  do {
+    if (set_member(i, excluded))
+      i--;
+    else
+      determined = dd_TRUE;
+  } while (!determined && i>=1);
+  if (determined) 
+    *hnext = i;
+  else
+    *hnext = 0;
+}
+
+void dd_SelectNextHalfspace1(dd_ConePtr cone, dd_rowset excluded, dd_rowrange *hnext)
+{
+  /*Natural way to choose the next hyperplane.  Simply the least index*/
+  long i;
+  dd_boolean determined;
+
+  i = 1;
+  determined = dd_FALSE;
+  do {
+    if (set_member(i, excluded))
+      i++;
+    else
+      determined = dd_TRUE;
+  } while (!determined && i<=cone->m);
+  if (determined) 
+    *hnext = i;
+  else 
+    *hnext=0;
+}
+
+void dd_SelectNextHalfspace2(dd_ConePtr cone, dd_rowset excluded, dd_rowrange *hnext)
+{
+  /*Choose the next hyperplane with maximum infeasibility*/
+  long i, fea, inf, infmin, fi=0;   /*feasibility and infeasibility numbers*/
+
+  infmin = cone->RayCount + 1;
+  for (i = 1; i <= cone->m; i++) {
+    if (!set_member(i, excluded)) {
+      dd_FeasibilityIndices(&fea, &inf, i, cone);
+      if (inf < infmin) {
+	infmin = inf;
+	fi = fea;
+	*hnext = i;
+      }
+    }
+  }
+  if (dd_debug) {
+    fprintf(stderr,"*infeasible rays (min) =%5ld, #feas rays =%5ld\n", infmin, fi);
+  }
+}
+
+void dd_SelectNextHalfspace3(dd_ConePtr cone, dd_rowset excluded, dd_rowrange *hnext)
+{
+  /*Choose the next hyperplane with maximum infeasibility*/
+  long i, fea, inf, infmax, fi=0;   /*feasibility and infeasibility numbers*/
+  dd_boolean localdebug=dd_debug;
+
+  infmax = -1;
+  for (i = 1; i <= cone->m; i++) {
+    if (!set_member(i, excluded)) {
+      dd_FeasibilityIndices(&fea, &inf, i, cone);
+      if (inf > infmax) {
+	infmax = inf;
+	fi = fea;
+	*hnext = i;
+      }
+    }
+  }
+  if (localdebug) {
+    fprintf(stderr,"*infeasible rays (max) =%5ld, #feas rays =%5ld\n", infmax, fi);
+  }
+}
+
+void dd_SelectNextHalfspace4(dd_ConePtr cone, dd_rowset excluded, dd_rowrange *hnext)
+{
+  /*Choose the next hyperplane with the most unbalanced cut*/
+  long i, fea, inf, max, tmax, fi=0, infi=0;
+      /*feasibility and infeasibility numbers*/
+
+  max = -1;
+  for (i = 1; i <= cone->m; i++) {
+    if (!set_member(i, excluded)) {
+      dd_FeasibilityIndices(&fea, &inf, i, cone);
+      if (fea <= inf)
+        tmax = inf;
+      else
+        tmax = fea;
+      if (tmax > max) {
+        max = tmax;
+        fi = fea;
+        infi = inf;
+        *hnext = i;
+      }
+    }
+  }
+  if (!dd_debug)
+    return;
+  if (max == fi) {
+    fprintf(stderr,"*infeasible rays (min) =%5ld, #feas rays =%5ld\n", infi, fi);
+  } else {
+    fprintf(stderr,"*infeasible rays (max) =%5ld, #feas rays =%5ld\n", infi, fi);
+  }
+}
+
+void dd_SelectNextHalfspace5(dd_ConePtr cone, dd_rowset excluded, dd_rowrange *hnext)
+{
+  /*Choose the next hyperplane which is lexico-min*/
+  long i, minindex;
+  mytype *v1, *v2;
+
+  minindex = 0;
+  v1 = NULL;
+  for (i = 1; i <= cone->m; i++) {
+    if (!set_member(i, excluded)) {
+	  v2 = cone->A[i - 1];
+      if (minindex == 0) {
+	    minindex = i;
+	    v1=v2;
+      } else if (dd_LexSmaller(v2,v1,cone->d)) {
+        minindex = i;
+	    v1=v2;
+      }
+    }
+  }
+  *hnext = minindex;
+}
+
+
+void dd_SelectNextHalfspace6(dd_ConePtr cone, dd_rowset excluded, dd_rowrange *hnext)
+{
+  /*Choose the next hyperplane which is lexico-max*/
+  long i, maxindex;
+  mytype *v1, *v2;
+
+  maxindex = 0;
+  v1 = NULL;
+  for (i = 1; i <= cone->m; i++) {
+    if (!set_member(i, excluded)) {
+      v2= cone->A[i - 1];
+      if (maxindex == 0) {
+        maxindex = i;
+        v1=v2;
+      } else if (dd_LexLarger(v2, v1, cone->d)) {
+        maxindex = i;
+        v1=v2;
+     }
+    }
+  }
+  *hnext = maxindex;
+}
+
+void dd_UniqueRows(dd_rowindex OV, long p, long r, dd_Amatrix A, long dmax, dd_rowset preferred, long *uniqrows)
+{
+ /* Select a subset of rows of A (with range [p, q] up to dimension dmax) by removing duplicates.
+    When a row subset preferred is nonempty, those row indices in the set have priority.  If
+    two priority rows define the same row vector, one is chosen.
+    For a selected unique row i, OV[i] returns a new position of the unique row i. 
+    For other nonuniqu row i, OV[i] returns a negative of the original row j dominating i.
+    Thus the original contents of OV[p..r] will be rewritten.  Other components remain the same.
+    *uniqrows returns the number of unique rows.
+*/
+  long i,iuniq,j;
+  mytype *x;
+  dd_boolean localdebug=dd_FALSE;
+  
+  if (p<=0 || p > r) goto _L99;
+  iuniq=p; j=1;  /* the first unique row candidate */
+  x=A[p-1];
+  OV[p]=j;  /* tentative row index of the candidate */
+  for (i=p+1;i<=r; i++){
+    if (!dd_LexEqual(x,A[i-1],dmax)) {
+      /* a new row vector found. */
+      iuniq=i;
+      j=j+1;
+      OV[i]=j;    /* Tentatively register the row i.  */
+      x=A[i-1];
+    } else {
+      /* rows are equal */
+      if (set_member(i, preferred) && !set_member(iuniq, preferred)){
+        OV[iuniq]=-i;  /* the row iuniq is dominated by the row i */
+        iuniq=i;  /* the row i is preferred.  Change the candidate. */
+        OV[i]=j;  /* the row i is tentatively registered. */
+        x=A[i-1];
+      } else {
+        OV[i]=-iuniq;  /* the row iuniq is dominated by the row i */
+      }
+    }
+  }
+  *uniqrows=j;
+  if (localdebug){
+    printf("The number of unique rows are %ld\n with order vector",*uniqrows);
+    for (i=p;i<=r; i++){
+      printf(" %ld:%ld ",i,OV[i]);
+    }
+    printf("\n");
+  }
+  _L99:;
+}
+
+long dd_Partition(dd_rowindex OV, long p, long r, dd_Amatrix A, long dmax)
+{
+  mytype *x;
+  long i,j,ovi;
+  
+  x=A[OV[p]-1];
+
+  i=p-1;
+  j=r+1;
+  while (dd_TRUE){
+    do{
+      j--;
+    } while (dd_LexLarger(A[OV[j]-1],x,dmax));
+    do{
+      i++;
+    } while (dd_LexSmaller(A[OV[i]-1],x,dmax));
+    if (i<j){
+      ovi=OV[i];
+      OV[i]=OV[j];
+      OV[j]=ovi;
+    }
+    else{
+      return j;
+    }
+  }
+}
+
+void dd_QuickSort(dd_rowindex OV, long p, long r, dd_Amatrix A, long dmax)
+{
+  long q;
+  
+  if (p < r){
+    q = dd_Partition(OV, p, r, A, dmax);
+    dd_QuickSort(OV, p, q, A, dmax);
+    dd_QuickSort(OV, q+1, r, A, dmax);
+  }
+}
+
+
+#ifndef RAND_MAX 
+#define RAND_MAX 32767 
+#endif
+
+void dd_RandomPermutation(dd_rowindex OV, long t, unsigned int seed)
+{
+  long k,j,ovj;
+  double u,xk,r,rand_max=(double) RAND_MAX;
+  dd_boolean localdebug=dd_FALSE;
+
+  srand(seed);
+  for (j=t; j>1 ; j--) {
+    r=rand();
+    u=r/rand_max;
+    xk=(double)(j*u +1);
+    k=(long)xk;
+    if (localdebug) fprintf(stderr,"u=%g, k=%ld, r=%g, randmax= %g\n",u,k,r,rand_max);
+    ovj=OV[j];
+    OV[j]=OV[k];
+    OV[k]=ovj;
+    if (localdebug) fprintf(stderr,"row %ld is exchanged with %ld\n",j,k); 
+  }
+}
+
+void dd_ComputeRowOrderVector(dd_ConePtr cone)
+{
+  long i,itemp;
+
+  cone->OrderVector[0]=0;
+  switch (cone->HalfspaceOrder){
+  case dd_MaxIndex:
+    for(i=1; i<=cone->m; i++) cone->OrderVector[i]=cone->m-i+1;
+    break;
+
+  case dd_MinIndex: 
+    for(i=1; i<=cone->m; i++) cone->OrderVector[i]=i;    
+    break;
+
+  case dd_LexMin: case dd_MinCutoff: case dd_MixCutoff: case dd_MaxCutoff:
+    for(i=1; i<=cone->m; i++) cone->OrderVector[i]=i;
+    dd_RandomPermutation(cone->OrderVector, cone->m, cone->rseed);
+    dd_QuickSort(cone->OrderVector, 1, cone->m, cone->A, cone->d);
+    break;
+
+  case dd_LexMax:
+    for(i=1; i<=cone->m; i++) cone->OrderVector[i]=i;
+    dd_RandomPermutation(cone->OrderVector, cone->m, cone->rseed);
+    dd_QuickSort(cone->OrderVector, 1, cone->m, cone->A, cone->d);
+    for(i=1; i<=cone->m/2;i++){   /* just reverse the order */
+      itemp=cone->OrderVector[i];
+      cone->OrderVector[i]=cone->OrderVector[cone->m-i+1];
+      cone->OrderVector[cone->m-i+1]=itemp;
+    }
+    break;
+
+  case dd_RandomRow:
+    for(i=1; i<=cone->m; i++) cone->OrderVector[i]=i;
+    dd_RandomPermutation(cone->OrderVector, cone->m, cone->rseed);
+    break;
+
+  }
+}
+
+void dd_UpdateRowOrderVector(dd_ConePtr cone, dd_rowset PriorityRows)
+/* Update the RowOrder vector to shift selected rows
+in highest order.
+*/
+{
+  dd_rowrange i,j,k,j1=0,oj=0;
+  long rr;
+  dd_boolean found, localdebug=dd_FALSE;
+  
+  if (dd_debug) localdebug=dd_TRUE;
+  found=dd_TRUE;
+  rr=set_card(PriorityRows);
+  if (localdebug) set_fwrite(stderr,PriorityRows);
+  for (i=1; i<=rr; i++){
+    found=dd_FALSE;
+    for (j=i; j<=cone->m && !found; j++){
+      oj=cone->OrderVector[j];
+      if (set_member(oj, PriorityRows)){
+        found=dd_TRUE;
+        if (localdebug) fprintf(stderr,"%ldth in sorted list (row %ld) is in PriorityRows\n", j, oj);
+        j1=j;
+      }
+    }
+    if (found){
+      if (j1>i) {
+        /* shift everything lower: ov[i]->cone->ov[i+1]..ov[j1-1]->cone->ov[j1] */
+        for (k=j1; k>=i; k--) cone->OrderVector[k]=cone->OrderVector[k-1];
+        cone->OrderVector[i]=oj;
+        if (localdebug){
+          fprintf(stderr,"OrderVector updated to:\n");
+          for (j = 1; j <= cone->m; j++) fprintf(stderr," %2ld", cone->OrderVector[j]);
+          fprintf(stderr,"\n");
+        }
+      }
+    } else {
+      fprintf(stderr,"UpdateRowOrder: Error.\n");
+      goto _L99;
+    }
+  }
+_L99:;
+}
+
+void dd_SelectPreorderedNext(dd_ConePtr cone, dd_rowset excluded, dd_rowrange *hh)
+{
+  dd_rowrange i,k;
+  
+  *hh=0;
+  for (i=1; i<=cone->m && *hh==0; i++){
+    k=cone->OrderVector[i];
+    if (!set_member(k, excluded)) *hh=k ;
+  }
+}
+
+void dd_SelectNextHalfspace(dd_ConePtr cone, dd_rowset excluded, dd_rowrange *hh)
+{
+  if (cone->PreOrderedRun){
+    if (dd_debug) {
+      fprintf(stderr,"debug dd_SelectNextHalfspace: Use PreorderNext\n");
+    }
+    dd_SelectPreorderedNext(cone, excluded, hh);
+  }
+  else {
+    if (dd_debug) {
+      fprintf(stderr,"debug dd_SelectNextHalfspace: Use DynamicOrderedNext\n");
+    }
+
+    switch (cone->HalfspaceOrder) {
+
+    case dd_MaxIndex:
+      dd_SelectNextHalfspace0(cone, excluded, hh);
+      break;
+
+    case dd_MinIndex:
+      dd_SelectNextHalfspace1(cone, excluded, hh);
+      break;
+
+    case dd_MinCutoff:
+      dd_SelectNextHalfspace2(cone, excluded, hh);
+      break;
+
+    case dd_MaxCutoff:
+      dd_SelectNextHalfspace3(cone, excluded, hh);
+      break;
+
+    case dd_MixCutoff:
+      dd_SelectNextHalfspace4(cone, excluded, hh);
+      break;
+
+    default:
+      dd_SelectNextHalfspace0(cone, excluded, hh);
+      break;
+    }
+  }
+}
+
+dd_boolean dd_Nonnegative(mytype val)
+{
+/*  if (val>=-dd_zero) return dd_TRUE;  */
+  if (dd_cmp(val,dd_minuszero)>=0) return dd_TRUE;
+  else return dd_FALSE;
+}
+
+dd_boolean dd_Nonpositive(mytype val)
+{
+/*  if (val<=dd_zero) return dd_TRUE;  */
+  if (dd_cmp(val,dd_zero)<=0) return dd_TRUE;
+  else return dd_FALSE;
+}
+
+dd_boolean dd_Positive(mytype val)
+{
+  return !dd_Nonpositive(val);
+}
+
+dd_boolean dd_Negative(mytype val)
+{
+  return !dd_Nonnegative(val);
+}
+
+dd_boolean dd_EqualToZero(mytype val)
+{
+  return (dd_Nonnegative(val) && dd_Nonpositive(val));
+}
+
+dd_boolean dd_Nonzero(mytype val)
+{
+  return (dd_Positive(val) || dd_Negative(val));
+}
+
+dd_boolean dd_Equal(mytype val1,mytype val2)
+{
+  return (!dd_Larger(val1,val2) && !dd_Smaller(val1,val2));
+}
+
+dd_boolean dd_Larger(mytype val1,mytype val2)
+{
+  mytype temp;
+  dd_boolean answer;
+
+  dd_init(temp);
+  dd_sub(temp,val1, val2);
+  answer=dd_Positive(temp);
+  dd_clear(temp);
+  return answer;
+}
+
+dd_boolean dd_Smaller(mytype val1,mytype val2)
+{
+  return dd_Larger(val2,val1);
+}
+
+void dd_abs(mytype absval, mytype val)
+{
+  if (dd_Negative(val)) dd_neg(absval,val);
+  else dd_set(absval,val); 
+}
+
+void dd_LinearComb(mytype lc, mytype v1, mytype c1, mytype v2, mytype c2)
+/*  lc := v1 * c1 + v2 * c2   */
+{
+  mytype temp;
+
+  dd_init(temp);
+  dd_mul(lc,v1,c1);
+  dd_mul(temp,v2,c2); 
+  dd_add(lc,lc,temp);
+  dd_clear(temp);
+}
+
+void dd_InnerProduct(mytype prod, dd_colrange d, dd_Arow v1, dd_Arow v2)
+{
+  mytype temp;
+  dd_colrange j;
+  dd_boolean localdebug=dd_FALSE;
+
+  dd_init(temp);
+  dd_set_si(prod, 0);
+  for (j = 0; j < d; j++){
+    dd_mul(temp,v1[j],v2[j]); 
+    dd_add(prod,prod,temp);
+  }
+  if (localdebug) {
+    fprintf(stderr,"InnerProduct:\n"); 
+    dd_WriteArow(stderr, v1, d);
+    dd_WriteArow(stderr, v2, d);
+    fprintf(stderr,"prod ="); 
+    dd_WriteNumber(stderr, prod);
+    fprintf(stderr,"\n");
+  }
+  
+  dd_clear(temp);
+}
+
+/* end of cddcore.c */
+
+
diff --git a/third_party/cddlib/lib-src/cddio.c b/third_party/cddlib/lib-src/cddio.c
new file mode 100644
index 0000000..58545d5
--- /dev/null
+++ b/third_party/cddlib/lib-src/cddio.c
@@ -0,0 +1,2021 @@
+/* cddio.c:  Basic Input and Output Procedures for cddlib
+   written by Komei Fukuda, fukuda@math.ethz.ch
+   Version 0.94h, April 30, 2015
+*/
+
+/* cddlib : C-library of the double description method for
+   computing all vertices and extreme rays of the polyhedron 
+   P= {x :  b - A x >= 0}.  
+   Please read COPYING (GNU General Public Licence) and
+   the manual cddlibman.tex for detail.
+*/
+
+#include "setoper.h"  /* set operation library header (Ver. June 1, 2000 or later) */
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+/* void dd_fread_rational_value (FILE *, mytype *); */
+void dd_SetLinearity(dd_MatrixPtr, char *);
+
+void dd_SetInputFile(FILE **f,dd_DataFileType inputfile,dd_ErrorType *Error)
+{
+  int opened=0,stop,quit=0;
+  int i,dotpos=0,trial=0;
+  char ch;
+  char *tempname;
+  
+  
+  *Error=dd_NoError;
+  while (!opened && !quit) {
+    fprintf(stderr,"\n>> Input file: ");
+    scanf("%s",inputfile);
+    ch=getchar();
+    stop=dd_FALSE;
+    for (i=0; i<dd_filenamelen && !stop; i++){
+      ch=inputfile[i];
+      switch (ch) {
+        case '.': 
+          dotpos=i+1;
+          break;
+        case ';':  case ' ':  case '\0':  case '\n':  case '\t':     
+          stop=dd_TRUE;
+          tempname=(char*)calloc(dd_filenamelen,sizeof(ch));
+          strncpy(tempname,inputfile,i);
+          strcpy(inputfile,tempname);
+          free(tempname);
+          break;
+      }
+    }
+    if ( ( *f = fopen(inputfile,"r") )!= NULL) {
+      fprintf(stderr,"input file %s is open\n",inputfile);
+      opened=1;
+      *Error=dd_NoError;
+    }
+    else{
+      fprintf(stderr,"The file %s not found\n",inputfile);
+      trial++;
+      if (trial>5) {
+        *Error=dd_IFileNotFound;
+        quit=1;
+      }
+    }
+  }
+}
+
+void dd_SetWriteFileName(dd_DataFileType inputfile, dd_DataFileType outfile, char cflag, dd_RepresentationType rep)
+{
+  char *extension;
+  dd_DataFileType ifilehead="";
+  int i,dotpos;
+  
+  switch (cflag) {
+    case 'o':
+      switch (rep) {
+        case dd_Generator:
+          extension=".ine"; break;     /* output file for ine data */
+        case dd_Inequality:
+          extension=".ext"; break;     /* output file for ext data */
+        default: 
+          extension=".xxx";break;
+      }
+      break;
+
+    case 'a':         /* decide for output adjacence */
+      if (rep==dd_Inequality)
+        extension=".ead";       /* adjacency file for ext data */
+      else
+        extension=".iad";       /* adjacency file for ine data */
+      break;
+    case 'i':         /* decide for output incidence */
+      if (rep==dd_Inequality)
+        extension=".ecd";       /* ext incidence file */
+      else
+        extension=".icd";       /* ine incidence file */
+      break;
+    case 'n':         /* decide for input incidence */
+      if (rep==dd_Inequality)
+        extension=".icd";       /* ine incidence file */
+      else
+        extension=".ecd";       /* ext incidence file */
+      break;
+    case 'j':        /* decide for input adjacency */
+      if (rep==dd_Inequality)
+        extension=".iad";       /* ine adjacency file */
+      else
+        extension=".ead";       /* ext adjacency file */
+      break;
+    case 'l':
+      extension=".ddl";break;   /* log file */
+    case 'd':
+      extension=".dex";break;   /* decomposition output */
+    case 'p':
+      extension="sub.ine";break;  /* preprojection sub inequality file */
+    case 'v':
+      extension=".solved";break;  /* verify_input file */
+    case 's':
+      extension=".lps";break;   /* LP solution file */
+    default:
+      extension=".xxx";break;
+  }
+  dotpos=-1;
+  for (i=0; i< strlen(inputfile); i++){
+    if (inputfile[i]=='.') dotpos=i;
+  }
+  if (dotpos>1) strncpy(ifilehead, inputfile, dotpos);
+  else strcpy(ifilehead,inputfile);
+  if (strlen(inputfile)<=0) strcpy(ifilehead,"tempcdd");
+  strcpy(outfile,ifilehead); 
+  strcat(outfile,extension); 
+  if (strcmp(inputfile, outfile)==0) {
+    strcpy(outfile,inputfile); 
+    strcat(outfile,extension); 
+  }
+/*  fprintf(stderr,"outfile name = %s\n",outfile);  */
+}
+
+
+dd_NumberType dd_GetNumberType(const char *line)
+{
+  dd_NumberType nt;
+
+  if (strncmp(line, "integer", 7)==0) {
+    nt = dd_Integer;
+  }
+  else if (strncmp(line, "rational", 8)==0) {
+    nt = dd_Rational;
+  }
+  else if (strncmp(line, "real", 4)==0) {
+    nt = dd_Real;
+  }
+  else { 
+    nt=dd_Unknown;
+  }
+  return nt;
+}
+
+void dd_ProcessCommandLine(FILE *f, dd_MatrixPtr M, const char *line)
+{
+  char newline[dd_linelenmax];
+  dd_colrange j;
+  mytype value;
+
+  dd_init(value);
+  if (strncmp(line, "hull", 4)==0) {
+    M->representation = dd_Generator;
+  }
+  if (strncmp(line, "debug", 5)==0) {
+    dd_debug = dd_TRUE;
+#ifdef GMPRATIONAL
+    ddf_debug = ddf_TRUE;
+#endif
+  }
+  if (strncmp(line, "partial_enum", 12)==0 ||
+       strncmp(line, "equality", 8)==0  ||
+       strncmp(line, "linearity", 9)==0 ) {
+    fgets(newline,dd_linelenmax,f);    
+    dd_SetLinearity(M,newline);
+  }
+  if (strncmp(line, "maximize", 8)==0 ||
+      strncmp(line, "minimize", 8)==0) {
+    if (strncmp(line, "maximize", 8)==0) M->objective=dd_LPmax;
+    else M->objective=dd_LPmin;
+    for (j = 1; j <= M->colsize; j++) {
+    if (M->numbtype==dd_Real) {
+#if !defined(GMPRATIONAL)
+        double rvalue;
+        fscanf(f, "%lf", &rvalue);
+        dd_set_d(value, rvalue);
+#endif
+      } else {
+        dd_fread_rational_value (f, value);
+      }
+      dd_set(M->rowvec[j - 1],value);
+      if (dd_debug) {fprintf(stderr,"cost(%5ld) =",j); dd_WriteNumber(stderr,value);}
+    }  /*of j*/
+  }
+  dd_clear(value);
+}
+
+dd_boolean dd_AppendMatrix2Poly(dd_PolyhedraPtr *poly, dd_MatrixPtr M)
+{
+  dd_boolean success=dd_FALSE;
+  dd_MatrixPtr Mpoly,Mnew=NULL;
+  dd_ErrorType err;
+
+  if ((*poly)!=NULL && (*poly)->m >=0 && (*poly)->d>=0 &&
+      (*poly)->d==M->colsize && M->rowsize>0){
+    Mpoly=dd_CopyInput(*poly);
+    Mnew=dd_AppendMatrix(Mpoly, M);
+    dd_FreePolyhedra(*poly);
+    *poly=dd_DDMatrix2Poly(Mnew,&err);
+    dd_FreeMatrix(Mpoly);
+    dd_FreeMatrix(Mnew);
+    if (err==dd_NoError) success=dd_TRUE;
+  }
+  return success;
+}
+
+dd_MatrixPtr dd_MatrixCopy(dd_MatrixPtr M)
+{
+  dd_MatrixPtr Mcopy=NULL;
+  dd_rowrange m;
+  dd_colrange d;
+
+  m= M->rowsize;
+  d= M->colsize;
+  if (m >=0 && d >=0){
+    Mcopy=dd_CreateMatrix(m, d);
+    dd_CopyAmatrix(Mcopy->matrix, M->matrix, m, d);
+    dd_CopyArow(Mcopy->rowvec, M->rowvec, d);
+    set_copy(Mcopy->linset,M->linset);
+    Mcopy->numbtype=M->numbtype;
+    Mcopy->representation=M->representation;
+    Mcopy->objective=M->objective;
+  }
+  return Mcopy;
+}
+
+dd_MatrixPtr dd_CopyMatrix(dd_MatrixPtr M)
+{
+  return dd_MatrixCopy(M);
+}
+
+dd_MatrixPtr dd_MatrixNormalizedCopy(dd_MatrixPtr M)
+{
+  dd_MatrixPtr Mcopy=NULL;
+  dd_rowrange m;
+  dd_colrange d;
+
+  m= M->rowsize;
+  d= M->colsize;
+  if (m >=0 && d >=0){
+    Mcopy=dd_CreateMatrix(m, d);
+    dd_CopyNormalizedAmatrix(Mcopy->matrix, M->matrix, m, d);
+    dd_CopyArow(Mcopy->rowvec, M->rowvec, d);
+    set_copy(Mcopy->linset,M->linset);
+    Mcopy->numbtype=M->numbtype;
+    Mcopy->representation=M->representation;
+    Mcopy->objective=M->objective;
+  }
+  return Mcopy;
+}
+
+
+dd_MatrixPtr dd_MatrixAppend(dd_MatrixPtr M1, dd_MatrixPtr M2)
+{
+  dd_MatrixPtr M=NULL;
+  dd_rowrange i, m,m1,m2;
+  dd_colrange j, d,d1,d2;
+  
+  m1=M1->rowsize;
+  d1=M1->colsize;
+  m2=M2->rowsize;
+  d2=M2->colsize;
+
+  m=m1+m2;
+  d=d1;
+
+  if (d1>=0 && d1==d2 && m1>=0 && m2>=0){
+    M=dd_CreateMatrix(m, d);
+    dd_CopyAmatrix(M->matrix, M1->matrix, m1, d);
+    dd_CopyArow(M->rowvec, M1->rowvec, d);
+    for (i=0; i<m1; i++){
+      if (set_member(i+1,M1->linset)) set_addelem(M->linset,i+1);
+    }
+    for (i=0; i<m2; i++){
+       for (j=0; j<d; j++)
+         dd_set(M->matrix[m1+i][j],M2->matrix[i][j]);
+         /* append the second matrix */
+       if (set_member(i+1,M2->linset)) set_addelem(M->linset,m1+i+1);
+    }
+    M->numbtype=M1->numbtype;
+  }
+  return M;
+}
+
+dd_MatrixPtr dd_MatrixNormalizedSortedCopy(dd_MatrixPtr M,dd_rowindex *newpos)  /* 094 */
+{ 
+  /* Sort the rows of Amatrix lexicographically, and return a link to this sorted copy. 
+  The vector newpos is allocated, where newpos[i] returns the new row index
+  of the original row i (i=1,...,M->rowsize). */
+  dd_MatrixPtr Mcopy=NULL,Mnorm=NULL;
+  dd_rowrange m,i;
+  dd_colrange d;
+  dd_rowindex roworder;
+
+  /* if (newpos!=NULL) free(newpos); */
+  m= M->rowsize;
+  d= M->colsize;
+  roworder=(long *)calloc(m+1,sizeof(long));
+  *newpos=(long *)calloc(m+1,sizeof(long));
+  if (m >=0 && d >=0){
+    Mnorm=dd_MatrixNormalizedCopy(M);
+    Mcopy=dd_CreateMatrix(m, d);
+    for(i=1; i<=m; i++) roworder[i]=i;
+    
+    dd_RandomPermutation(roworder, m, 123);
+    dd_QuickSort(roworder,1,m,Mnorm->matrix,d);
+
+    dd_PermuteCopyAmatrix(Mcopy->matrix, Mnorm->matrix, m, d, roworder);
+    dd_CopyArow(Mcopy->rowvec, M->rowvec, d);
+    for(i=1; i<=m; i++) {
+      if (set_member(roworder[i],M->linset)) set_addelem(Mcopy->linset, i);
+      (*newpos)[roworder[i]]=i;
+    }
+    Mcopy->numbtype=M->numbtype;
+    Mcopy->representation=M->representation;
+    Mcopy->objective=M->objective;
+    dd_FreeMatrix(Mnorm);
+  }
+  free(roworder);
+  return Mcopy;
+}
+
+dd_MatrixPtr dd_MatrixUniqueCopy(dd_MatrixPtr M,dd_rowindex *newpos)
+{ 
+  /* Remove row duplicates, and return a link to this sorted copy. 
+     Linearity rows have priority over the other rows.
+     It is better to call this after sorting with dd_MatrixNormalizedSortedCopy.
+     The vector newpos is allocated, where *newpos[i] returns the new row index
+     of the original row i (i=1,...,M->rowsize).  *newpos[i] is negative if the original
+     row is dominated by -*newpos[i] and eliminated in the new copy.
+  */
+  dd_MatrixPtr Mcopy=NULL;
+  dd_rowrange m,i,uniqrows;
+  dd_rowset preferredrows;
+  dd_colrange d;
+  dd_rowindex roworder;
+
+  /* if (newpos!=NULL) free(newpos); */
+  m= M->rowsize;
+  d= M->colsize;
+  preferredrows=M->linset;
+  roworder=(long *)calloc(m+1,sizeof(long));
+  if (m >=0 && d >=0){
+    for(i=1; i<=m; i++) roworder[i]=i;
+    dd_UniqueRows(roworder, 1, m, M->matrix, d,preferredrows, &uniqrows);
+
+    Mcopy=dd_CreateMatrix(uniqrows, d);
+    dd_PermutePartialCopyAmatrix(Mcopy->matrix, M->matrix, m, d, roworder,1,m);
+    dd_CopyArow(Mcopy->rowvec, M->rowvec, d);
+    for(i=1; i<=m; i++) {
+      if (roworder[i]>0 && set_member(i,M->linset)) set_addelem(Mcopy->linset, roworder[i]);
+    }
+    Mcopy->numbtype=M->numbtype;
+    Mcopy->representation=M->representation;
+    Mcopy->objective=M->objective;
+  }
+  *newpos=roworder;
+  return Mcopy;
+}
+
+
+dd_MatrixPtr dd_MatrixNormalizedSortedUniqueCopy(dd_MatrixPtr M,dd_rowindex *newpos) /* 094 */
+{ 
+  /* Sort and remove row duplicates, and return a link to this sorted copy. 
+     Linearity rows have priority over the other rows.
+     It is better to call this after sorting with dd_MatrixNormalizedSortedCopy.
+     The vector newpos is allocated, where *newpos[i] returns the new row index
+     of the original row i (i=1,...,M->rowsize).  *newpos[i] is negative if the original
+     row is dominated by -*newpos[i] and eliminated in the new copy.
+  */
+  dd_MatrixPtr M1=NULL,M2=NULL;
+  dd_rowrange m,i;
+  dd_colrange d;
+  dd_rowindex newpos1=NULL,newpos1r=NULL,newpos2=NULL;
+
+  /* if (newpos!=NULL) free(newpos); */
+  m= M->rowsize;
+  d= M->colsize;
+  *newpos=(long *)calloc(m+1,sizeof(long));  
+  newpos1r=(long *)calloc(m+1,sizeof(long));  
+  if (m>=0 && d>=0){
+    M1=dd_MatrixNormalizedSortedCopy(M,&newpos1);
+    for (i=1; i<=m;i++) newpos1r[newpos1[i]]=i;  /* reverse of newpos1 */
+    M2=dd_MatrixUniqueCopy(M1,&newpos2);
+    set_emptyset(M2->linset);
+    for(i=1; i<=m; i++) {
+      if (newpos2[newpos1[i]]>0){
+         printf("newpos1[%ld]=%ld, newpos2[newpos1[%ld]]=%ld\n",i,newpos1[i], i,newpos2[newpos1[i]]);
+         if (set_member(i,M->linset)) set_addelem(M2->linset, newpos2[newpos1[i]]);
+         (*newpos)[i]=newpos2[newpos1[i]];
+      } else {
+         (*newpos)[i]=-newpos1r[-newpos2[newpos1[i]]];
+      }
+    }
+  dd_FreeMatrix(M1);free(newpos1);free(newpos2);free(newpos1r);
+  }
+  
+  return M2;
+}
+
+dd_MatrixPtr dd_MatrixSortedUniqueCopy(dd_MatrixPtr M,dd_rowindex *newpos)  /* 094 */
+{ 
+  /* Same as dd_MatrixNormalizedSortedUniqueCopy except that it returns a unnormalized origial data
+     with original ordering.
+  */
+  dd_MatrixPtr M1=NULL,M2=NULL;
+  dd_rowrange m,i,k,ii;
+  dd_colrange d;
+  dd_rowindex newpos1=NULL,newpos1r=NULL,newpos2=NULL;
+
+  /* if (newpos!=NULL) free(newpos); */
+  m= M->rowsize;
+  d= M->colsize;
+  *newpos=(long *)calloc(m+1,sizeof(long));  
+  newpos1r=(long *)calloc(m+1,sizeof(long));  
+  if (m>=0 && d>=0){
+    M1=dd_MatrixNormalizedSortedCopy(M,&newpos1);
+    for (i=1; i<=m;i++) newpos1r[newpos1[i]]=i;  /* reverse of newpos1 */
+    M2=dd_MatrixUniqueCopy(M1,&newpos2);
+    dd_FreeMatrix(M1);
+    set_emptyset(M2->linset);
+    for(i=1; i<=m; i++) {
+      if (newpos2[newpos1[i]]>0){
+         if (set_member(i,M->linset)) set_addelem(M2->linset, newpos2[newpos1[i]]);
+         (*newpos)[i]=newpos2[newpos1[i]];
+      } else {
+         (*newpos)[i]=-newpos1r[-newpos2[newpos1[i]]];
+      }
+    }
+
+    ii=0;
+    set_emptyset(M2->linset);
+    for (i = 1; i<=m ; i++) {
+      k=(*newpos)[i];
+      if (k>0) {
+        ii+=1;
+        (*newpos)[i]=ii;
+        dd_CopyArow(M2->matrix[ii-1],M->matrix[i-1],d);
+        if (set_member(i,M->linset)) set_addelem(M2->linset, ii);
+      }
+    }
+
+    free(newpos1);free(newpos2);free(newpos1r);
+  }
+  
+  return M2;
+}
+
+dd_MatrixPtr dd_AppendMatrix(dd_MatrixPtr M1, dd_MatrixPtr M2)
+{
+  return dd_MatrixAppend(M1,M2);
+}
+
+int dd_MatrixAppendTo(dd_MatrixPtr *M1, dd_MatrixPtr M2)
+{
+  dd_MatrixPtr M=NULL;
+  dd_rowrange i, m,m1,m2;
+  dd_colrange j, d,d1,d2;
+  dd_boolean success=0;
+  
+  m1=(*M1)->rowsize;
+  d1=(*M1)->colsize;
+  m2=M2->rowsize;
+  d2=M2->colsize;
+
+  m=m1+m2;
+  d=d1;
+
+  if (d1>=0 && d1==d2 && m1>=0 && m2>=0){
+    M=dd_CreateMatrix(m, d);
+    dd_CopyAmatrix(M->matrix, (*M1)->matrix, m1, d);
+    dd_CopyArow(M->rowvec, (*M1)->rowvec, d);
+    for (i=0; i<m1; i++){
+      if (set_member(i+1,(*M1)->linset)) set_addelem(M->linset,i+1);
+    }
+    for (i=0; i<m2; i++){
+       for (j=0; j<d; j++)
+         dd_set(M->matrix[m1+i][j],M2->matrix[i][j]);
+         /* append the second matrix */
+       if (set_member(i+1,M2->linset)) set_addelem(M->linset,m1+i+1);
+    }
+    M->numbtype=(*M1)->numbtype;
+    dd_FreeMatrix(*M1);
+    *M1=M;
+    success=1;
+  }
+  return success;
+}
+
+int dd_MatrixRowRemove(dd_MatrixPtr *M, dd_rowrange r) /* 092 */
+{
+  dd_rowrange i,m;
+  dd_colrange d;
+  dd_boolean success=0;
+  
+  m=(*M)->rowsize;
+  d=(*M)->colsize;
+
+  if (r >= 1 && r <=m){
+    (*M)->rowsize=m-1;
+    dd_FreeArow(d, (*M)->matrix[r-1]);
+    set_delelem((*M)->linset,r);
+    /* slide the row headers */
+    for (i=r; i<m; i++){
+      (*M)->matrix[i-1]=(*M)->matrix[i];
+      if (set_member(i+1, (*M)->linset)){
+        set_delelem((*M)->linset,i+1);
+        set_addelem((*M)->linset,i);
+      }
+    }
+    success=1;
+  }
+  return success;
+}
+
+int dd_MatrixRowRemove2(dd_MatrixPtr *M, dd_rowrange r, dd_rowindex *newpos) /* 094 */
+{
+  dd_rowrange i,m;
+  dd_colrange d;
+  dd_boolean success=0;
+  dd_rowindex roworder;
+  
+  m=(*M)->rowsize;
+  d=(*M)->colsize;
+
+  if (r >= 1 && r <=m){
+    roworder=(long *)calloc(m+1,sizeof(long));
+    (*M)->rowsize=m-1;
+    dd_FreeArow(d, (*M)->matrix[r-1]);
+    set_delelem((*M)->linset,r);
+    /* slide the row headers */
+    for (i=1; i<r; i++) roworder[i]=i;
+    roworder[r]=0; /* meaning it is removed */
+    for (i=r; i<m; i++){
+      (*M)->matrix[i-1]=(*M)->matrix[i];
+      roworder[i+1]=i;
+      if (set_member(i+1, (*M)->linset)){
+        set_delelem((*M)->linset,i+1);
+        set_addelem((*M)->linset,i);
+      }
+    }
+    success=1;
+  }
+  return success;
+}
+
+dd_MatrixPtr dd_MatrixSubmatrix(dd_MatrixPtr M, dd_rowset delset) /* 092 */
+{
+  dd_MatrixPtr Msub=NULL;
+  dd_rowrange i,isub=1, m,msub;
+  dd_colrange d;
+ 
+  m= M->rowsize;
+  d= M->colsize;
+  msub=m;
+  if (m >=0 && d >=0){
+    for (i=1; i<=m; i++) {
+       if (set_member(i,delset)) msub-=1;
+    }
+    Msub=dd_CreateMatrix(msub, d);
+    for (i=1; i<=m; i++){
+      if (!set_member(i,delset)){
+        dd_CopyArow(Msub->matrix[isub-1], M->matrix[i-1], d);
+        if (set_member(i, M->linset)){
+          set_addelem(Msub->linset,isub);
+        }
+        isub++;
+      }
+    }
+    dd_CopyArow(Msub->rowvec, M->rowvec, d);
+    Msub->numbtype=M->numbtype;
+    Msub->representation=M->representation;
+    Msub->objective=M->objective;
+  }
+  return Msub;
+}
+
+dd_MatrixPtr dd_MatrixSubmatrix2(dd_MatrixPtr M, dd_rowset delset,dd_rowindex *newpos) /* 092 */
+{ /* returns a pointer to a new matrix which is a submatrix of M with rows in delset
+  removed.  *newpos[i] returns the position of the original row i in the new matrix.
+  It is -1 if and only if it is deleted.
+  */
+  
+  dd_MatrixPtr Msub=NULL;
+  dd_rowrange i,isub=1, m,msub;
+  dd_colrange d;
+  dd_rowindex roworder;
+
+  m= M->rowsize;
+  d= M->colsize;
+  msub=m;
+  if (m >=0 && d >=0){
+    roworder=(long *)calloc(m+1,sizeof(long));
+    for (i=1; i<=m; i++) {
+       if (set_member(i,delset)) msub-=1;
+    }
+    Msub=dd_CreateMatrix(msub, d);
+    for (i=1; i<=m; i++){
+      if (set_member(i,delset)){
+        roworder[i]=0; /* zero means the row i is removed */
+      } else {
+        dd_CopyArow(Msub->matrix[isub-1], M->matrix[i-1], d);
+        if (set_member(i, M->linset)){
+          set_addelem(Msub->linset,isub);
+        }
+        roworder[i]=isub;
+        isub++;
+      }
+    }
+    *newpos=roworder;
+    dd_CopyArow(Msub->rowvec, M->rowvec, d);
+    Msub->numbtype=M->numbtype;
+    Msub->representation=M->representation;
+    Msub->objective=M->objective;
+  }
+  return Msub;
+}
+
+
+dd_MatrixPtr dd_MatrixSubmatrix2L(dd_MatrixPtr M, dd_rowset delset,dd_rowindex *newpos) /* 094 */
+{ /* This is same as dd_MatrixSubmatrix2 except that the linearity rows will be shifted up
+     so that they are at the top of the matrix.
+  */
+  dd_MatrixPtr Msub=NULL;
+  dd_rowrange i,iL, iI, m,msub;
+  dd_colrange d;
+  dd_rowindex roworder;
+
+  m= M->rowsize;
+  d= M->colsize;
+  msub=m;
+  if (m >=0 && d >=0){
+    roworder=(long *)calloc(m+1,sizeof(long));
+    for (i=1; i<=m; i++) {
+       if (set_member(i,delset)) msub-=1;
+    }
+    Msub=dd_CreateMatrix(msub, d);
+    iL=1; iI=set_card(M->linset)+1;  /* starting positions */
+    for (i=1; i<=m; i++){
+      if (set_member(i,delset)){
+        roworder[i]=0; /* zero means the row i is removed */
+      } else {
+        if (set_member(i,M->linset)){
+          dd_CopyArow(Msub->matrix[iL-1], M->matrix[i-1], d);
+          set_delelem(Msub->linset,i);
+          set_addelem(Msub->linset,iL);
+          roworder[i]=iL;
+          iL+=1;
+        } else {
+          dd_CopyArow(Msub->matrix[iI-1], M->matrix[i-1], d);
+          roworder[i]=iI;
+          iI+=1;
+        }
+       }
+    }
+    *newpos=roworder;
+    dd_CopyArow(Msub->rowvec, M->rowvec, d);
+    Msub->numbtype=M->numbtype;
+    Msub->representation=M->representation;
+    Msub->objective=M->objective;
+  }
+  return Msub;
+}
+
+int dd_MatrixRowsRemove(dd_MatrixPtr *M, dd_rowset delset) /* 094 */
+{
+  dd_MatrixPtr Msub=NULL;
+  int success;
+  
+  Msub=dd_MatrixSubmatrix(*M, delset);
+  dd_FreeMatrix(*M);
+  *M=Msub;
+  success=1;
+  return success;
+}
+
+int dd_MatrixRowsRemove2(dd_MatrixPtr *M, dd_rowset delset,dd_rowindex *newpos) /* 094 */
+{
+  dd_MatrixPtr Msub=NULL;
+  int success;
+  
+  Msub=dd_MatrixSubmatrix2(*M, delset,newpos);
+  dd_FreeMatrix(*M);
+  *M=Msub;
+  success=1;
+  return success;
+}
+
+int dd_MatrixShiftupLinearity(dd_MatrixPtr *M,dd_rowindex *newpos) /* 094 */
+{
+  dd_MatrixPtr Msub=NULL;
+  int success;
+  dd_rowset delset;
+  
+  set_initialize(&delset,(*M)->rowsize);  /* emptyset */
+  Msub=dd_MatrixSubmatrix2L(*M, delset,newpos);
+  dd_FreeMatrix(*M);
+  *M=Msub;
+  
+  set_free(delset);
+  success=1;
+  return success;
+}
+
+dd_PolyhedraPtr dd_CreatePolyhedraData(dd_rowrange m, dd_colrange d)
+{
+  dd_rowrange i;
+  dd_PolyhedraPtr poly=NULL;
+
+  poly=(dd_PolyhedraPtr) malloc (sizeof(dd_PolyhedraType));
+  poly->child       =NULL; /* this links the homogenized cone data */
+  poly->m           =m;
+  poly->d           =d;  
+  poly->n           =-1;  /* the size of output is not known */
+  poly->m_alloc     =m+2; /* the allocated row size of matrix A */
+  poly->d_alloc     =d;   /* the allocated col size of matrix A */
+  poly->ldim		=0;   /* initialize the linearity dimension */
+  poly->numbtype=dd_Real;
+  dd_InitializeAmatrix(poly->m_alloc,poly->d_alloc,&(poly->A));
+  dd_InitializeArow(d,&(poly->c));           /* cost vector */
+  poly->representation       =dd_Inequality;
+  poly->homogeneous =dd_FALSE;
+
+  poly->EqualityIndex=(int *)calloc(m+2, sizeof(int));  
+    /* size increased to m+2 in 092b because it is used by the child cone, 
+       This is a bug fix suggested by Thao Dang. */
+    /* ith component is 1 if it is equality, -1 if it is strict inequality, 0 otherwise. */
+  for (i = 0; i <= m+1; i++) poly->EqualityIndex[i]=0;
+
+  poly->IsEmpty                 = -1;  /* initially set to -1, neither TRUE nor FALSE, meaning unknown */
+  
+  poly->NondegAssumed           = dd_FALSE;
+  poly->InitBasisAtBottom       = dd_FALSE;
+  poly->RestrictedEnumeration   = dd_FALSE;
+  poly->RelaxedEnumeration      = dd_FALSE;
+
+  poly->AincGenerated=dd_FALSE;  /* Ainc is a set array to store the input incidence. */
+
+  return poly;
+}
+
+dd_boolean dd_InitializeConeData(dd_rowrange m, dd_colrange d, dd_ConePtr *cone)
+{
+  dd_boolean success=dd_TRUE;
+  dd_colrange j;
+
+  (*cone)=(dd_ConePtr)calloc(1, sizeof(dd_ConeType));
+
+/* INPUT: A given representation of a cone: inequality */
+  (*cone)->m=m;
+  (*cone)->d=d;
+  (*cone)->m_alloc=m+2; /* allocated row size of matrix A */
+  (*cone)->d_alloc=d;   /* allocated col size of matrix A, B and Bsave */
+  (*cone)->numbtype=dd_Real;
+  (*cone)->parent=NULL;
+
+/* CONTROL: variables to control computation */
+  (*cone)->Iteration=0;
+
+  (*cone)->HalfspaceOrder=dd_LexMin;
+
+  (*cone)->ArtificialRay=NULL;
+  (*cone)->FirstRay=NULL;
+  (*cone)->LastRay=NULL; /* The second description: Generator */
+  (*cone)->PosHead=NULL;
+  (*cone)->ZeroHead=NULL;
+  (*cone)->NegHead=NULL;
+  (*cone)->PosLast=NULL;
+  (*cone)->ZeroLast=NULL;
+  (*cone)->NegLast=NULL;
+  (*cone)->RecomputeRowOrder  = dd_TRUE;
+  (*cone)->PreOrderedRun      = dd_FALSE;
+  set_initialize(&((*cone)->GroundSet),(*cone)->m_alloc);
+  set_initialize(&((*cone)->EqualitySet),(*cone)->m_alloc);
+  set_initialize(&((*cone)->NonequalitySet),(*cone)->m_alloc);
+  set_initialize(&((*cone)->AddedHalfspaces),(*cone)->m_alloc);
+  set_initialize(&((*cone)->WeaklyAddedHalfspaces),(*cone)->m_alloc);
+  set_initialize(&((*cone)->InitialHalfspaces),(*cone)->m_alloc);
+  (*cone)->RayCount=0;
+  (*cone)->FeasibleRayCount=0;
+  (*cone)->WeaklyFeasibleRayCount=0;
+  (*cone)->TotalRayCount=0;
+  (*cone)->ZeroRayCount=0;
+  (*cone)->EdgeCount=0;
+  (*cone)->TotalEdgeCount=0;
+  (*cone)->count_int=0;
+  (*cone)->count_int_good=0;
+  (*cone)->count_int_bad=0;
+  (*cone)->rseed=1;  /* random seed for random row permutation */
+ 
+  dd_InitializeBmatrix((*cone)->d_alloc, &((*cone)->B));
+  dd_InitializeBmatrix((*cone)->d_alloc, &((*cone)->Bsave));
+  dd_InitializeAmatrix((*cone)->m_alloc,(*cone)->d_alloc,&((*cone)->A));
+
+  (*cone)->Edges
+     =(dd_AdjacencyType**) calloc((*cone)->m_alloc,sizeof(dd_AdjacencyType*));
+  for (j=0; j<(*cone)->m_alloc; j++) (*cone)->Edges[j]=NULL; /* 094h */
+  (*cone)->InitialRayIndex=(long*)calloc(d+1,sizeof(long));
+  (*cone)->OrderVector=(long*)calloc((*cone)->m_alloc+1,sizeof(long));
+
+  (*cone)->newcol=(long*)calloc(((*cone)->d)+1,sizeof(long));
+  for (j=0; j<=(*cone)->d; j++) (*cone)->newcol[j]=j;  /* identity map, initially */
+  (*cone)->LinearityDim = -2; /* -2 if it is not computed */
+  (*cone)->ColReduced   = dd_FALSE;
+  (*cone)->d_orig = d;
+
+/* STATES: variables to represent current state. */
+/*(*cone)->Error;
+  (*cone)->CompStatus;
+  (*cone)->starttime;
+  (*cone)->endtime;
+*/
+    
+  return success;
+}
+
+dd_ConePtr dd_ConeDataLoad(dd_PolyhedraPtr poly)
+{
+  dd_ConePtr cone=NULL;
+  dd_colrange d,j;
+  dd_rowrange m,i;
+
+  m=poly->m;
+  d=poly->d;
+  if (!(poly->homogeneous) && poly->representation==dd_Inequality){
+    m=poly->m+1;
+  }
+  poly->m1=m;
+
+  dd_InitializeConeData(m, d, &cone);
+  cone->representation=poly->representation;
+
+/* Points to the original polyhedra data, and reversely */
+  cone->parent=poly;
+  poly->child=cone;
+
+  for (i=1; i<=poly->m; i++)
+    for (j=1; j<=cone->d; j++)
+      dd_set(cone->A[i-1][j-1],poly->A[i-1][j-1]);  
+  
+  if (poly->representation==dd_Inequality && !(poly->homogeneous)){
+    dd_set(cone->A[m-1][0],dd_one);
+    for (j=2; j<=d; j++) dd_set(cone->A[m-1][j-1],dd_purezero);
+  }
+
+  return cone;
+}
+
+void dd_SetLinearity(dd_MatrixPtr M, char *line)
+{
+  int i=0;
+  dd_rowrange eqsize,var;
+  char *next;
+  const char ct[]=", ";  /* allows separators "," and " ". */
+
+  next=strtok(line,ct);
+  eqsize=atol(next); 
+  while (i < eqsize && (next=strtok(NULL,ct))!=NULL) {
+     var=atol(next);
+     set_addelem(M->linset,var); i++;
+  }
+  if (i!=eqsize) {
+    fprintf(stderr,"* Warning: there are inconsistencies in linearity setting.\n");
+  }
+  return;
+}
+
+dd_MatrixPtr dd_PolyFile2Matrix (FILE *f, dd_ErrorType *Error)
+{
+  dd_MatrixPtr M=NULL;
+  dd_rowrange m_input,i;
+  dd_colrange d_input,j;
+  dd_RepresentationType rep=dd_Inequality;
+  mytype value;
+  dd_boolean found=dd_FALSE, newformat=dd_FALSE, successful=dd_FALSE, linearity=dd_FALSE;
+  char command[dd_linelenmax], comsave[dd_linelenmax], numbtype[dd_wordlenmax];
+  dd_NumberType NT;
+#if !defined(GMPRATIONAL)
+  double rvalue;
+#endif
+
+  dd_init(value);
+  (*Error)=dd_NoError;
+  while (!found)
+  {
+    if (fscanf(f,"%s",command)==EOF) {
+      (*Error)=dd_ImproperInputFormat;
+      goto _L99;
+    }
+    else {
+      if (strncmp(command, "V-representation", 16)==0) {
+        rep=dd_Generator; newformat=dd_TRUE;
+      }
+      if (strncmp(command, "H-representation", 16)==0){
+        rep=dd_Inequality; newformat=dd_TRUE;
+      }
+      if (strncmp(command, "partial_enum", 12)==0 || 
+          strncmp(command, "equality", 8)==0  ||
+          strncmp(command, "linearity", 9)==0 ) {
+        linearity=dd_TRUE;
+        fgets(comsave,dd_linelenmax,f);
+      }
+      if (strncmp(command, "begin", 5)==0) found=dd_TRUE;
+    }
+  }
+  fscanf(f, "%ld %ld %s", &m_input, &d_input, numbtype);
+  fprintf(stderr,"size = %ld x %ld\nNumber Type = %s\n", m_input, d_input, numbtype);
+  NT=dd_GetNumberType(numbtype);
+  if (NT==dd_Unknown) {
+      (*Error)=dd_ImproperInputFormat;
+      goto _L99;
+    } 
+  M=dd_CreateMatrix(m_input, d_input);
+  M->representation=rep;
+  M->numbtype=NT;
+
+  for (i = 1; i <= m_input; i++) {
+    for (j = 1; j <= d_input; j++) {
+      if (NT==dd_Real) {
+#if defined GMPRATIONAL
+        *Error=dd_NoRealNumberSupport;
+        goto _L99;
+#else
+        fscanf(f, "%lf", &rvalue);
+        dd_set_d(value, rvalue);
+#endif
+      } else {
+        dd_fread_rational_value (f, value);
+      }
+      dd_set(M->matrix[i-1][j - 1],value);
+      if (dd_debug) {fprintf(stderr,"a(%3ld,%5ld) = ",i,j); dd_WriteNumber(stderr,value);}
+    }  /*of j*/
+  }  /*of i*/
+  if (fscanf(f,"%s",command)==EOF) {
+   	 (*Error)=dd_ImproperInputFormat;
+  	 goto _L99;
+  }
+  else if (strncmp(command, "end", 3)!=0) {
+     if (dd_debug) fprintf(stderr,"'end' missing or illegal extra data: %s\n",command);
+     (*Error)=dd_ImproperInputFormat;
+     goto _L99;
+  }
+  
+  successful=dd_TRUE;
+  if (linearity) {
+    dd_SetLinearity(M,comsave);
+  }
+  while (!feof(f)) {
+    fscanf(f,"%s", command);
+    dd_ProcessCommandLine(f, M, command);
+    fgets(command,dd_linelenmax,f); /* skip the CR/LF */
+  } 
+
+_L99: ;
+  dd_clear(value);
+  /* if (f!=NULL) fclose(f); */
+  return M;
+}
+
+
+dd_PolyhedraPtr dd_DDMatrix2Poly(dd_MatrixPtr M, dd_ErrorType *err)
+{
+  dd_rowrange i;
+  dd_colrange j;
+  dd_PolyhedraPtr poly=NULL;
+
+  *err=dd_NoError;
+  if (M->rowsize<0 || M->colsize<0){
+    *err=dd_NegativeMatrixSize;
+    goto _L99;
+  }
+  poly=dd_CreatePolyhedraData(M->rowsize, M->colsize);
+  poly->representation=M->representation;
+  poly->homogeneous=dd_TRUE;
+
+  for (i = 1; i <= M->rowsize; i++) {
+    if (set_member(i, M->linset)) {
+      poly->EqualityIndex[i]=1;
+    }
+    for (j = 1; j <= M->colsize; j++) {
+      dd_set(poly->A[i-1][j-1], M->matrix[i-1][j-1]);
+      if (j==1 && dd_Nonzero(M->matrix[i-1][j-1])) poly->homogeneous = dd_FALSE;
+    }  /*of j*/
+  }  /*of i*/
+  dd_DoubleDescription(poly,err);
+_L99:
+  return poly; 
+}
+
+dd_PolyhedraPtr dd_DDMatrix2Poly2(dd_MatrixPtr M, dd_RowOrderType horder, dd_ErrorType *err)
+{
+  dd_rowrange i;
+  dd_colrange j;
+  dd_PolyhedraPtr poly=NULL;
+
+  *err=dd_NoError;
+  if (M->rowsize<0 || M->colsize<0){
+    *err=dd_NegativeMatrixSize;
+    goto _L99;
+  }
+  poly=dd_CreatePolyhedraData(M->rowsize, M->colsize);
+  poly->representation=M->representation;
+  poly->homogeneous=dd_TRUE;
+
+  for (i = 1; i <= M->rowsize; i++) {
+    if (set_member(i, M->linset)) {
+      poly->EqualityIndex[i]=1;
+    }
+    for (j = 1; j <= M->colsize; j++) {
+      dd_set(poly->A[i-1][j-1], M->matrix[i-1][j-1]);
+      if (j==1 && dd_Nonzero(M->matrix[i-1][j-1])) poly->homogeneous = dd_FALSE;
+    }  /*of j*/
+  }  /*of i*/
+  dd_DoubleDescription2(poly, horder, err);
+_L99:
+  return poly; 
+}
+
+void dd_MatrixIntegerFilter(dd_MatrixPtr M)
+{   /* setting an almost integer to the integer. */
+  dd_rowrange i;
+  dd_colrange j;
+  mytype x;
+
+  dd_init(x);
+  for (i=0; i< M->rowsize; i++)
+    for (j=0; j< M->colsize; j++){
+       dd_SnapToInteger(x, M->matrix[i][j]);
+       dd_set(M->matrix[i][j],x);
+    }
+  dd_clear(x);
+}
+
+void dd_CopyRay(mytype *a, dd_colrange d_origsize, dd_RayPtr RR, 
+  dd_RepresentationType rep, dd_colindex reducedcol)
+{
+  long j,j1;
+  mytype b;
+
+  dd_init(b);
+  for (j = 1; j <= d_origsize; j++){
+    j1=reducedcol[j];
+    if (j1>0){
+      dd_set(a[j-1],RR->Ray[j1-1]); 
+        /* the original column j is mapped to j1, and thus
+           copy the corresponding component */
+    } else {
+      dd_set(a[j-1],dd_purezero);  
+        /* original column is redundant and removed for computation */
+    }
+  }
+
+  dd_set(b,a[0]);
+  if (rep==dd_Generator && dd_Nonzero(b)){
+    dd_set(a[0],dd_one);
+    for (j = 2; j <= d_origsize; j++)
+       dd_div(a[j-1],a[j-1],b);    /* normalization for generators */
+  }
+  dd_clear(b);
+}
+
+void dd_WriteRay(FILE *f, dd_colrange d_origsize, dd_RayPtr RR, dd_RepresentationType rep, dd_colindex reducedcol)
+{
+  dd_colrange j;
+  static dd_colrange d_last=0;
+  static dd_Arow a;
+
+  if (d_last< d_origsize){
+    if (d_last>0) free(a);
+    dd_InitializeArow(d_origsize+1, &a);
+    d_last=d_origsize+1;
+  }
+
+ dd_CopyRay(a, d_origsize, RR, rep, reducedcol);
+  for (j = 0; j < d_origsize; j++) dd_WriteNumber(f, a[j]);
+  fprintf(f, "\n");
+}
+
+void dd_WriteArow(FILE *f, dd_Arow a, dd_colrange d)
+{
+  dd_colrange j;
+
+  for (j = 0; j < d; j++) dd_WriteNumber(f, a[j]);
+  fprintf(f, "\n");
+}
+
+void dd_WriteAmatrix(FILE *f, dd_Amatrix A, long rowmax, long colmax)
+{
+  long i,j;
+
+  if (A==NULL){
+    fprintf(f, "WriteAmatrix: The requested matrix is empty\n");
+    goto _L99;
+  }
+  fprintf(f, "begin\n");
+#if defined GMPRATIONAL
+  fprintf(f, " %ld %ld rational\n",rowmax, colmax);
+#else
+  fprintf(f, " %ld %ld real\n",rowmax, colmax);
+#endif
+  for (i=1; i <= rowmax; i++) {
+    for (j=1; j <= colmax; j++) {
+      dd_WriteNumber(f, A[i-1][j-1]);
+    }
+    fprintf(f,"\n");
+  }
+  fprintf(f, "end\n");
+_L99:;
+}
+
+void dd_WriteBmatrix(FILE *f, dd_colrange d_size, dd_Bmatrix B)
+{
+  dd_colrange j1, j2;
+
+  if (B==NULL){
+    fprintf(f, "WriteBmatrix: The requested matrix is empty\n");
+    goto _L99;
+  }
+  for (j1 = 0; j1 < d_size; j1++) {
+    for (j2 = 0; j2 < d_size; j2++) {
+      dd_WriteNumber(f, B[j1][j2]);
+    }  /*of j2*/
+    putc('\n', f);
+  }  /*of j1*/
+  putc('\n', f);
+_L99:;
+}
+
+void dd_WriteSetFamily(FILE *f, dd_SetFamilyPtr F)
+{
+  dd_bigrange i;
+
+  if (F==NULL){
+    fprintf(f, "WriteSetFamily: The requested family is empty\n");
+    goto _L99;
+  }
+  fprintf(f,"begin\n");
+  fprintf(f,"  %ld    %ld\n", F->famsize, F->setsize);
+  for (i=0; i<F->famsize; i++) {
+    fprintf(f, " %ld %ld : ", i+1, set_card(F->set[i]));
+    set_fwrite(f, F->set[i]);
+  }
+  fprintf(f,"end\n");
+_L99:;
+}
+
+void dd_WriteSetFamilyCompressed(FILE *f, dd_SetFamilyPtr F)
+{
+  dd_bigrange i,card;
+
+  if (F==NULL){
+    fprintf(f, "WriteSetFamily: The requested family is empty\n");
+    goto _L99;
+  }
+  fprintf(f,"begin\n");
+  fprintf(f,"  %ld    %ld\n", F->famsize, F->setsize);
+  for (i=0; i<F->famsize; i++) {
+    card=set_card(F->set[i]);
+    if (F->setsize - card >= card){
+      fprintf(f, " %ld %ld : ", i+1, card);
+      set_fwrite(f, F->set[i]);
+    } else {
+      fprintf(f, " %ld %ld : ", i+1, -card);
+      set_fwrite_compl(f, F->set[i]);
+    }
+  }
+  fprintf(f,"end\n");
+_L99:;
+}
+
+void dd_WriteMatrix(FILE *f, dd_MatrixPtr M)
+{
+  dd_rowrange i, linsize;
+
+  if (M==NULL){
+    fprintf(f, "WriteMatrix: The requested matrix is empty\n");
+    goto _L99;
+  }
+  switch (M->representation) {
+    case dd_Inequality:
+      fprintf(f, "H-representation\n"); break;
+    case dd_Generator:
+      fprintf(f, "V-representation\n"); break;
+    case dd_Unspecified:
+      break;
+  }
+  linsize=set_card(M->linset);
+  if (linsize>0) {
+    fprintf(f, "linearity %ld ", linsize);
+    for (i=1; i<=M->rowsize; i++) 
+      if (set_member(i, M->linset)) fprintf(f, " %ld", i);
+    fprintf(f, "\n");
+  }
+  dd_WriteAmatrix(f, M->matrix, M->rowsize, M->colsize);
+  if (M->objective!=dd_LPnone){
+    if (M->objective==dd_LPmax)
+      fprintf(f, "maximize\n");
+    else
+      fprintf(f, "minimize\n");      
+    dd_WriteArow(f, M->rowvec, M->colsize);
+  }
+_L99:;
+}
+
+void dd_WriteLP(FILE *f, dd_LPPtr lp)
+{
+  if (lp==NULL){
+    fprintf(f, "WriteLP: The requested lp is empty\n");
+    goto _L99;
+  }
+  fprintf(f, "H-representation\n");
+
+  dd_WriteAmatrix(f, lp->A, (lp->m)-1, lp->d);
+  if (lp->objective!=dd_LPnone){
+    if (lp->objective==dd_LPmax)
+      fprintf(f, "maximize\n");
+    else
+      fprintf(f, "minimize\n");      
+    dd_WriteArow(f, lp->A[lp->objrow-1], lp->d);
+  }
+_L99:;
+}
+
+
+void dd_SnapToInteger(mytype y, mytype x)
+{
+ /* this is broken.  It does nothing. */
+   dd_set(y,x);
+}
+
+
+void dd_WriteReal(FILE *f, mytype x)
+{
+  long ix1,ix2,ix;
+  double ax;
+
+  ax=dd_get_d(x);  
+  ix1= (long) (fabs(ax) * 10000. + 0.5);
+  ix2= (long) (fabs(ax) + 0.5);
+  ix2= ix2*10000;
+  if ( ix1 == ix2) {
+    if (dd_Positive(x)) {
+      ix = (long)(ax + 0.5);
+    } else {
+      ix = (long)(-ax + 0.5);
+      ix = -ix;
+    }
+    fprintf(f, " %2ld", ix);
+  } else
+    fprintf(f, " % .9E",ax);
+}
+
+void dd_WriteNumber(FILE *f, mytype x)
+{
+#if defined GMPRATIONAL
+  fprintf(f," ");
+  mpq_out_str(f, 10, x);
+#else
+  dd_WriteReal(f, x);
+#endif
+}
+
+
+void dd_WriteIncidence(FILE *f, dd_PolyhedraPtr poly)
+{
+  dd_SetFamilyPtr I;
+
+  switch (poly->representation) {
+    case dd_Inequality:
+       fprintf(f, "ecd_file: Incidence of generators and inequalities\n");
+      break;
+    case dd_Generator:
+       fprintf(f, "icd_file: Incidence of inequalities and generators\n");
+      break;
+
+    default:
+      break;
+  }
+  I=dd_CopyIncidence(poly);
+  dd_WriteSetFamilyCompressed(f,I);
+  dd_FreeSetFamily(I);
+}
+
+void dd_WriteAdjacency(FILE *f, dd_PolyhedraPtr poly)
+{
+  dd_SetFamilyPtr A;
+
+  switch (poly->representation) {
+    case dd_Inequality:
+       fprintf(f, "ead_file: Adjacency of generators\n");
+      break;
+    case dd_Generator:
+       fprintf(f, "iad_file: Adjacency of inequalities\n");
+      break;
+
+    default:
+      break;
+  }
+  A=dd_CopyAdjacency(poly);
+  dd_WriteSetFamilyCompressed(f,A);
+  dd_FreeSetFamily(A);
+}
+
+
+void dd_ComputeAinc(dd_PolyhedraPtr poly)
+{
+/* This generates the input incidence array poly->Ainc, and
+   two sets: poly->Ared, poly->Adom. 
+*/
+  dd_bigrange k;
+  dd_rowrange i,m1;
+  dd_colrange j;
+  dd_boolean redundant;
+  dd_MatrixPtr M=NULL;
+  mytype sum,temp;
+
+  dd_init(sum); dd_init(temp);
+  if (poly->AincGenerated==dd_TRUE) goto _L99;
+
+  M=dd_CopyOutput(poly);
+  poly->n=M->rowsize;
+  m1=poly->m1;  
+   /* this number is same as poly->m, except when
+      poly is given by nonhomogeneous inequalty:
+      !(poly->homogeneous) && poly->representation==Inequality,
+      it is poly->m+1.   See dd_ConeDataLoad.
+   */
+  poly->Ainc=(set_type*)calloc(m1, sizeof(set_type));
+  for(i=1; i<=m1; i++) set_initialize(&(poly->Ainc[i-1]),poly->n);
+  set_initialize(&(poly->Ared), m1); 
+  set_initialize(&(poly->Adom), m1); 
+
+  for (k=1; k<=poly->n; k++){
+    for (i=1; i<=poly->m; i++){
+      dd_set(sum,dd_purezero);
+      for (j=1; j<=poly->d; j++){
+        dd_mul(temp,poly->A[i-1][j-1],M->matrix[k-1][j-1]);
+        dd_add(sum,sum,temp);
+      }
+      if (dd_EqualToZero(sum)) {
+        set_addelem(poly->Ainc[i-1], k);
+      }
+    }
+    if (!(poly->homogeneous) && poly->representation==dd_Inequality){
+      if (dd_EqualToZero(M->matrix[k-1][0])) {
+        set_addelem(poly->Ainc[m1-1], k);  /* added infinity inequality (1,0,0,...,0) */
+      }
+    }
+  }
+
+  for (i=1; i<=m1; i++){
+    if (set_card(poly->Ainc[i-1])==M->rowsize){
+      set_addelem(poly->Adom, i);
+    }  
+  }
+  for (i=m1; i>=1; i--){
+    if (set_card(poly->Ainc[i-1])==0){
+      redundant=dd_TRUE;
+      set_addelem(poly->Ared, i);
+    }else {
+      redundant=dd_FALSE;
+      for (k=1; k<=m1; k++) {
+        if (k!=i && !set_member(k, poly->Ared)  && !set_member(k, poly->Adom) && 
+            set_subset(poly->Ainc[i-1], poly->Ainc[k-1])){
+          if (!redundant){
+            redundant=dd_TRUE;
+          }
+          set_addelem(poly->Ared, i);
+        }
+      }
+    }
+  }
+  dd_FreeMatrix(M);
+  poly->AincGenerated=dd_TRUE;
+_L99:;
+  dd_clear(sum);  dd_clear(temp);
+}
+
+dd_boolean dd_InputAdjacentQ(dd_PolyhedraPtr poly, 
+  dd_rowrange i1, dd_rowrange i2)
+/* Before calling this function, RedundantSet must be 
+   a set of row indices whose removal results in a minimal
+   nonredundant system to represent the input polyhedron,
+   DominantSet must be the set of row indices which are
+   active at every extreme points/rays.
+*/
+{
+  dd_boolean adj=dd_TRUE;
+  dd_rowrange i;
+  static set_type common;
+  static long lastn=0;
+
+  if (poly->AincGenerated==dd_FALSE) dd_ComputeAinc(poly);
+  if (lastn!=poly->n){
+    if (lastn >0) set_free(common);
+    set_initialize(&common, poly->n);
+    lastn=poly->n;
+  }
+  if (set_member(i1, poly->Ared) || set_member(i2, poly->Ared)){
+    adj=dd_FALSE;
+    goto _L99;
+  }
+  if (set_member(i1, poly->Adom) || set_member(i2, poly->Adom)){
+  // dominant inequality is considered adjacencent to all others.
+    adj=dd_TRUE;
+    goto _L99;
+  }
+  set_int(common, poly->Ainc[i1-1], poly->Ainc[i2-1]);
+  i=0;
+  while (i<poly->m1 && adj==dd_TRUE){ 
+    i++; 
+    if (i!=i1 && i!=i2 && !set_member(i, poly->Ared) &&
+        !set_member(i, poly->Adom) && set_subset(common,poly->Ainc[i-1])){
+      adj=dd_FALSE;
+    }
+  }
+_L99:;
+  return adj;
+} 
+
+
+void dd_WriteInputIncidence(FILE *f, dd_PolyhedraPtr poly)
+{
+  dd_SetFamilyPtr I;
+
+  if (poly->AincGenerated==dd_FALSE) dd_ComputeAinc(poly);
+  switch (poly->representation) {
+  case dd_Inequality:
+    fprintf(f,"icd_file: Incidence of inequalities and generators\n");
+    break;
+
+  case dd_Generator:
+   fprintf(f,"ecd_file: Incidence of generators and inequalities\n");
+    break;
+
+  default:
+    break;
+  }
+
+  I=dd_CopyInputIncidence(poly);
+  dd_WriteSetFamilyCompressed(f,I);
+  dd_FreeSetFamily(I);
+}
+
+void dd_WriteInputAdjacency(FILE *f, dd_PolyhedraPtr poly)
+{
+  dd_SetFamilyPtr A;
+
+  if (poly->AincGenerated==dd_FALSE){
+    dd_ComputeAinc(poly);
+  }
+  switch (poly->representation) {
+  case dd_Inequality:
+    fprintf(f, "iad_file: Adjacency of inequalities\n");
+    break;
+
+  case dd_Generator:
+    fprintf(f, "ead_file: Adjacency of generators\n");
+    break;
+
+  default:
+    break;
+  }
+  A=dd_CopyInputAdjacency(poly);
+  dd_WriteSetFamilyCompressed(f,A);
+  dd_FreeSetFamily(A);
+}
+
+
+void dd_WriteProgramDescription(FILE *f)
+{
+  fprintf(f, "* cddlib: a double description library:%s\n", dd_DDVERSION);
+  fprintf(f, "* compiled for %s arithmetic.\n", dd_ARITHMETIC);
+  fprintf(f,"* %s\n",dd_COPYRIGHT);
+}
+
+void dd_WriteTimes(FILE *f, time_t starttime, time_t endtime)
+{
+  long ptime,ptime_sec,ptime_minu, ptime_hour;
+  
+/* 
+   ptime=difftime(endtime,starttime); 
+   This function is ANSI standard, but not available sometime 
+*/
+  ptime=(endtime - starttime);     
+ /* This is to replace the line above, but it may not give 
+    correct time in seconds */ 
+  ptime_hour=ptime/3600;
+  ptime_minu=(ptime-ptime_hour*3600)/60;
+  ptime_sec=ptime%60;
+  fprintf(f,"* Computation started at %s",asctime(localtime(&starttime)));
+  fprintf(f,"*             ended   at %s",asctime(localtime(&endtime)));
+  fprintf(f,"* Total processor time = %ld seconds\n",ptime);
+  fprintf(f,"*                      = %ld h %ld m %ld s\n",ptime_hour, ptime_minu, ptime_sec);
+}
+
+void dd_WriteDDTimes(FILE *f, dd_PolyhedraPtr poly)
+{
+  dd_WriteTimes(f,poly->child->starttime,poly->child->endtime);
+}
+
+void dd_WriteLPTimes(FILE *f, dd_LPPtr lp)
+{
+  dd_WriteTimes(f,lp->starttime,lp->endtime);
+}
+
+void dd_WriteLPStats(FILE *f)
+{
+  time_t currenttime;
+  
+  time(&currenttime);
+  
+  fprintf(f, "\n*--- Statistics of pivots ---\n");
+#if defined GMPRATIONAL
+  fprintf(f, "* f0 = %ld (float basis finding pivots)\n",ddf_statBApivots);
+  fprintf(f, "* fc = %ld (float CC pivots)\n",ddf_statCCpivots);
+  fprintf(f, "* f1 = %ld (float dual simplex phase I pivots)\n",ddf_statDS1pivots);
+  fprintf(f, "* f2 = %ld (float dual simplex phase II pivots)\n",ddf_statDS2pivots);
+  fprintf(f, "* f3 = %ld (float anticycling CC pivots)\n",ddf_statACpivots);
+  fprintf(f, "* e0 = %ld (exact basis finding pivots)\n",dd_statBApivots);
+  fprintf(f, "* ec = %ld (exact CC pivots)\n",dd_statCCpivots);
+  fprintf(f, "* e1 = %ld (exact dual simplex phase I pivots)\n",dd_statDS1pivots);
+  fprintf(f, "* e2 = %ld (exact dual simplex phase II pivots)\n",dd_statDS2pivots);
+  fprintf(f, "* e3 = %ld (exact anticycling CC pivots)\n",dd_statACpivots);
+  fprintf(f, "* e4 = %ld (exact basis verification pivots)\n",dd_statBSpivots);
+#else
+  fprintf(f, "f0 = %ld (float basis finding pivots)\n",dd_statBApivots);
+  fprintf(f, "fc = %ld (float CC pivots)\n",dd_statCCpivots);
+  fprintf(f, "f1 = %ld (float dual simplex phase I pivots)\n",dd_statDS1pivots);
+  fprintf(f, "f2 = %ld (float dual simplex phase II pivots)\n",dd_statDS2pivots);
+  fprintf(f, "f3 = %ld (float anticycling CC pivots)\n",dd_statACpivots);
+#endif
+ dd_WriteLPMode(f);
+  dd_WriteTimes(f,dd_statStartTime, currenttime);
+}
+
+void dd_WriteLPMode(FILE *f)
+{
+  fprintf(f, "\n* LP solver: ");
+  switch (dd_choiceLPSolverDefault) {
+    case dd_DualSimplex:
+      fprintf(f, "DualSimplex\n");
+      break;
+    case dd_CrissCross:
+      fprintf(f, "Criss-Cross\n");
+      break;
+    default: break;
+  }
+  
+  fprintf(f, "* Redundancy cheking solver: ");
+  switch (dd_choiceRedcheckAlgorithm) {
+    case dd_DualSimplex:
+      fprintf(f, "DualSimplex\n");
+      break;
+    case dd_CrissCross:
+      fprintf(f, "Criss-Cross\n");
+      break;
+    default: break;
+  }
+  
+  fprintf(f, "* Lexicographic pivot: ");
+  if (dd_choiceLexicoPivotQ)  fprintf(f, " on\n"); 
+  else fprintf(f, " off\n"); 
+
+}
+
+
+void dd_WriteRunningMode(FILE *f, dd_PolyhedraPtr poly)
+{
+  if (poly->child!=NULL){
+    fprintf(f,"* roworder: ");
+    switch (poly->child->HalfspaceOrder) {
+
+    case dd_MinIndex:
+      fprintf(f, "minindex\n");
+      break;
+
+    case dd_MaxIndex:
+      fprintf(f, "maxindex\n");
+      break;
+
+    case dd_MinCutoff:
+      fprintf(f, "mincutoff\n");
+      break;
+
+    case dd_MaxCutoff:
+      fprintf(f, "maxcutoff\n");
+    break;
+
+    case dd_MixCutoff:
+      fprintf(f, "mixcutoff\n");
+      break;
+
+    case dd_LexMin:
+      fprintf(f, "lexmin\n");
+      break;
+
+    case dd_LexMax:
+      fprintf(f, "lexmax\n");
+      break;
+
+    case dd_RandomRow:
+      fprintf(f, "random  %d\n",poly->child->rseed);
+      break;
+
+    default: break;
+    }
+  }
+}
+
+
+void dd_WriteCompletionStatus(FILE *f, dd_ConePtr cone)
+{
+  if (cone->Iteration<cone->m && cone->CompStatus==dd_AllFound) {
+    fprintf(f,"*Computation completed at Iteration %4ld.\n", cone->Iteration);
+  } 
+  if (cone->CompStatus == dd_RegionEmpty) {
+    fprintf(f,"*Computation completed at Iteration %4ld because the region found empty.\n",cone->Iteration);
+  }   
+}
+
+void dd_WritePolyFile(FILE *f, dd_PolyhedraPtr poly)
+{
+  dd_WriteAmatrix(f,poly->A,poly->m,poly->d);
+}
+
+
+void dd_WriteErrorMessages(FILE *f, dd_ErrorType Error)
+{
+  switch (Error) {
+
+  case dd_DimensionTooLarge:
+    fprintf(f, "*Input Error: Input matrix is too large:\n");
+    fprintf(f, "*Please increase MMAX and/or NMAX in the source code and recompile.\n");
+    break;
+
+  case dd_IFileNotFound:
+    fprintf(f, "*Input Error: Specified input file does not exist.\n");
+    break;
+
+  case dd_OFileNotOpen:
+    fprintf(f, "*Output Error: Specified output file cannot be opened.\n");
+    break;
+
+  case dd_NegativeMatrixSize:
+    fprintf(f, "*Input Error: Input matrix has a negative size:\n");
+    fprintf(f, "*Please check rowsize or colsize.\n");
+    break;
+
+  case dd_ImproperInputFormat:
+    fprintf(f,"*Input Error: Input format is not correct.\n");
+    fprintf(f,"*Format:\n");
+    fprintf(f," begin\n");
+    fprintf(f,"   m   n  NumberType(real, rational or integer)\n");
+    fprintf(f,"   b  -A\n");
+    fprintf(f," end\n");
+    break;
+
+  case dd_EmptyVrepresentation:
+    fprintf(f, "*Input Error: V-representation is empty:\n");
+    fprintf(f, "*cddlib does not accept this trivial case for which output can be any inconsistent system.\n");
+    break;
+
+  case dd_EmptyHrepresentation:
+    fprintf(f, "*Input Error: H-representation is empty.\n");
+    break;
+
+  case dd_EmptyRepresentation:
+    fprintf(f, "*Input Error: Representation is empty.\n");
+    break;
+
+  case dd_NoLPObjective:
+    fprintf(f, "*LP Error: No LP objective (max or min) is set.\n");
+    break;
+
+  case dd_NoRealNumberSupport:
+    fprintf(f, "*LP Error: The binary (with GMP Rational) does not support Real number input.\n");
+    fprintf(f, "         : Use a binary compiled without -DGMPRATIONAL option.\n");
+    break;
+
+ case dd_NotAvailForH:
+    fprintf(f, "*Error: A function is called with H-rep which does not support an H-representation.\n");
+    break;
+
+ case dd_NotAvailForV:
+    fprintf(f, "*Error: A function is called with V-rep which does not support an V-representation.\n");
+    break;
+
+ case dd_CannotHandleLinearity:
+    fprintf(f, "*Error: The function called cannot handle linearity.\n");
+    break;
+
+ case dd_RowIndexOutOfRange:
+    fprintf(f, "*Error: Specified row index is out of range\n");
+    break;
+
+ case dd_ColIndexOutOfRange:
+    fprintf(f, "*Error: Specified column index is out of range\n");
+    break;
+
+ case dd_LPCycling:
+    fprintf(f, "*Error: Possibly an LP cycling occurs.  Use the Criss-Cross method.\n");
+    break;
+    
+ case dd_NumericallyInconsistent:
+    fprintf(f, "*Error: Numerical inconsistency is found.  Use the GMP exact arithmetic.\n");
+    break;
+    
+  case dd_NoError:
+    fprintf(f,"*No Error found.\n");
+    break;
+  }
+}
+
+
+dd_SetFamilyPtr dd_CopyIncidence(dd_PolyhedraPtr poly)
+{
+  dd_SetFamilyPtr F=NULL;
+  dd_bigrange k;
+  dd_rowrange i;
+
+  if (poly->child==NULL || poly->child->CompStatus!=dd_AllFound) goto _L99;
+  if (poly->AincGenerated==dd_FALSE) dd_ComputeAinc(poly);
+  F=dd_CreateSetFamily(poly->n, poly->m1);
+  for (i=1; i<=poly->m1; i++)
+    for (k=1; k<=poly->n; k++)
+      if (set_member(k,poly->Ainc[i-1])) set_addelem(F->set[k-1],i);
+_L99:;
+  return F;
+}
+
+dd_SetFamilyPtr dd_CopyInputIncidence(dd_PolyhedraPtr poly)
+{
+  dd_rowrange i;
+  dd_SetFamilyPtr F=NULL;
+
+  if (poly->child==NULL || poly->child->CompStatus!=dd_AllFound) goto _L99;
+  if (poly->AincGenerated==dd_FALSE) dd_ComputeAinc(poly);
+  F=dd_CreateSetFamily(poly->m1, poly->n);
+  for(i=0; i< poly->m1; i++){
+    set_copy(F->set[i], poly->Ainc[i]);
+  }
+_L99:;
+  return F;
+}
+
+dd_SetFamilyPtr dd_CopyAdjacency(dd_PolyhedraPtr poly)
+{
+  dd_RayPtr RayPtr1,RayPtr2;
+  dd_SetFamilyPtr F=NULL;
+  long pos1, pos2;
+  dd_bigrange lstart,k,n;
+  set_type linset,allset;
+  dd_boolean adj;
+
+  if (poly->n==0 && poly->homogeneous && poly->representation==dd_Inequality){
+    n=1; /* the origin (the unique vertex) should be output. */
+  } else n=poly->n;
+  set_initialize(&linset, n);
+  set_initialize(&allset, n);
+  if (poly->child==NULL || poly->child->CompStatus!=dd_AllFound) goto _L99;
+  F=dd_CreateSetFamily(n, n);
+  if (n<=0) goto _L99;
+  poly->child->LastRay->Next=NULL;
+  for (RayPtr1=poly->child->FirstRay, pos1=1;RayPtr1 != NULL; 
+				RayPtr1 = RayPtr1->Next, pos1++){
+    for (RayPtr2=poly->child->FirstRay, pos2=1; RayPtr2 != NULL; 
+					RayPtr2 = RayPtr2->Next, pos2++){
+      if (RayPtr1!=RayPtr2){
+        dd_CheckAdjacency(poly->child, &RayPtr1, &RayPtr2, &adj);
+        if (adj){
+          set_addelem(F->set[pos1-1], pos2);
+        }
+      }
+    }
+  }
+  lstart=poly->n - poly->ldim + 1;
+  set_compl(allset,allset);  /* allset is set to the ground set. */
+  for (k=lstart; k<=poly->n; k++){
+    set_addelem(linset,k);     /* linearity set */
+    set_copy(F->set[k-1],allset);  /* linearity generator is adjacent to all */
+  }
+  for (k=1; k<lstart; k++){
+    set_uni(F->set[k-1],F->set[k-1],linset);
+     /* every generator is adjacent to all linearity generators */
+  }
+_L99:;
+  set_free(allset); set_free(linset);
+  return F;
+}
+
+dd_SetFamilyPtr dd_CopyInputAdjacency(dd_PolyhedraPtr poly)
+{
+  dd_rowrange i,j;
+  dd_SetFamilyPtr F=NULL;
+
+  if (poly->child==NULL || poly->child->CompStatus!=dd_AllFound) goto _L99;
+  if (poly->AincGenerated==dd_FALSE) dd_ComputeAinc(poly);
+  F=dd_CreateSetFamily(poly->m1, poly->m1);
+  for (i=1; i<=poly->m1; i++){
+    for (j=1; j<=poly->m1; j++){
+      if (i!=j && dd_InputAdjacentQ(poly, i, j)) {
+        set_addelem(F->set[i-1],j);
+      }
+    }
+  }
+_L99:;
+  return F;
+}
+
+dd_MatrixPtr dd_CopyOutput(dd_PolyhedraPtr poly)
+{
+  dd_RayPtr RayPtr;
+  dd_MatrixPtr M=NULL;
+  dd_rowrange i=0,total;
+  dd_colrange j,j1;
+  mytype b;
+  dd_RepresentationType outputrep=dd_Inequality;
+  dd_boolean outputorigin=dd_FALSE;
+
+  dd_init(b);
+  total=poly->child->LinearityDim + poly->child->FeasibleRayCount;
+  
+  if (poly->child->d<=0 || poly->child->newcol[1]==0) total=total-1;
+  if (poly->representation==dd_Inequality) outputrep=dd_Generator;
+  if (total==0 && poly->homogeneous && poly->representation==dd_Inequality){
+    total=1;
+    outputorigin=dd_TRUE;
+    /* the origin (the unique vertex) should be output. */
+  }
+  if (poly->child==NULL || poly->child->CompStatus!=dd_AllFound) goto _L99;
+
+  M=dd_CreateMatrix(total, poly->d);
+  RayPtr = poly->child->FirstRay;
+  while (RayPtr != NULL) {
+    if (RayPtr->feasible) {
+     dd_CopyRay(M->matrix[i], poly->d, RayPtr, outputrep, poly->child->newcol);
+      i++;  /* 086 */
+    }
+    RayPtr = RayPtr->Next;
+  }
+  for (j=2; j<=poly->d; j++){
+    if (poly->child->newcol[j]==0){ 
+       /* original column j is dependent on others and removed for the cone */
+      dd_set(b,poly->child->Bsave[0][j-1]);
+      if (outputrep==dd_Generator && dd_Positive(b)){
+        dd_set(M->matrix[i][0],dd_one);  /* dd_Normalize */
+        for (j1=1; j1<poly->d; j1++) 
+          dd_div(M->matrix[i][j1],(poly->child->Bsave[j1][j-1]),b);
+      } else {
+        for (j1=0; j1<poly->d; j1++)
+          dd_set(M->matrix[i][j1],poly->child->Bsave[j1][j-1]);
+      }
+      set_addelem(M->linset, i+1);
+      i++;
+    }     
+  }
+  if (outputorigin){ 
+    /* output the origin for homogeneous H-polyhedron with no rays. */
+    dd_set(M->matrix[0][0],dd_one);
+    for (j=1; j<poly->d; j++){
+      dd_set(M->matrix[0][j],dd_purezero);
+    }
+  }
+  dd_MatrixIntegerFilter(M);
+  if (poly->representation==dd_Inequality)
+    M->representation=dd_Generator;
+  else
+    M->representation=dd_Inequality;
+_L99:;
+  dd_clear(b);
+  return M;
+}
+
+dd_MatrixPtr dd_CopyInput(dd_PolyhedraPtr poly)
+{
+  dd_MatrixPtr M=NULL;
+  dd_rowrange i;
+
+  M=dd_CreateMatrix(poly->m, poly->d);
+  dd_CopyAmatrix(M->matrix, poly->A, poly->m, poly->d);
+  for (i=1; i<=poly->m; i++) 
+    if (poly->EqualityIndex[i]==1) set_addelem(M->linset,i);
+  dd_MatrixIntegerFilter(M);
+  if (poly->representation==dd_Generator)
+    M->representation=dd_Generator;
+  else
+    M->representation=dd_Inequality;
+  return M;
+}
+
+dd_MatrixPtr dd_CopyGenerators(dd_PolyhedraPtr poly)
+{
+  dd_MatrixPtr M=NULL;
+
+  if (poly->representation==dd_Generator){
+    M=dd_CopyInput(poly);
+  } else {
+    M=dd_CopyOutput(poly);
+  }
+  return M;
+}
+
+dd_MatrixPtr dd_CopyInequalities(dd_PolyhedraPtr poly)
+{
+  dd_MatrixPtr M=NULL;
+
+  if (poly->representation==dd_Inequality){
+    M=dd_CopyInput(poly);
+  } else {
+    M=dd_CopyOutput(poly);
+  }
+  return M;
+}
+
+/****************************************************************************************/
+/*  rational number (a/b) read is taken from Vinci by Benno Bueeler and Andreas Enge    */
+/****************************************************************************************/
+void dd_sread_rational_value (const char *s, mytype value)
+   /* reads a rational value from the specified string "s" and assigns it to "value"    */
+   
+{
+   char     *numerator_s=NULL, *denominator_s=NULL, *position;
+   int      sign = 1;
+   double   numerator, denominator;
+#if defined GMPRATIONAL
+   mpz_t znum, zden;
+#else
+   double rvalue;
+#endif
+  
+   /* determine the sign of the number */
+   numerator_s = s;
+   if (s [0] == '-')
+   {  sign = -1;
+      numerator_s++;
+   }
+   else if (s [0] == '+')
+      numerator_s++;
+      
+   /* look for a sign '/' and eventually split the number in numerator and denominator */
+   position = strchr (numerator_s, '/');
+   if (position != NULL)
+   {  *position = '\0'; /* terminates the numerator */
+      denominator_s = position + 1;
+   };
+
+   /* determine the floating point values of numerator and denominator */
+   numerator=atol (numerator_s);
+  
+   if (position != NULL)
+   { 
+     denominator=atol (denominator_s);  
+   }
+   else denominator = 1;
+
+/* 
+   fprintf(stderr,"\nrational_read: numerator %f\n",numerator);
+   fprintf(stderr,"rational_read: denominator %f\n",denominator);
+   fprintf(stderr,"rational_read: sign %d\n",sign); 
+*/
+
+#if defined GMPRATIONAL
+   mpz_init_set_str(znum,numerator_s,10);
+   if (sign<0) mpz_neg(znum,znum);
+   mpz_init(zden); mpz_set_ui(zden,1);
+   if (denominator_s!=NULL) mpz_init_set_str(zden,denominator_s,10);
+   mpq_set_num(value,znum); mpq_set_den(value,zden);
+   mpq_canonicalize(value);
+   mpz_clear(znum); mpz_clear(zden);
+   /* num=(long)sign * numerator; */
+   /* den=(unsigned long) denominator; */
+   /* mpq_set_si(value, num, den); */
+#elif defined GMPFLOAT
+   rvalue=sign * numerator/ (signed long) denominator;
+   mpf_set_d(value, rvalue);
+#else
+   rvalue=sign * numerator/ (signed long) denominator;
+   ddd_set_d(value, rvalue);
+#endif
+   if (dd_debug) {
+     fprintf(stderr,"rational_read: "); 
+     dd_WriteNumber(stderr,value); fprintf(stderr,"\n");
+   }
+}
+   
+
+void dd_fread_rational_value (FILE *f, mytype value)
+   /* reads a rational value from the specified file "f" and assigns it to "value"      */
+   
+{
+   char     number_s [dd_wordlenmax];
+   mytype rational_value;
+   
+   dd_init(rational_value);
+   fscanf(f, "%s ", number_s);
+   dd_sread_rational_value (number_s, rational_value);
+   dd_set(value,rational_value);
+   dd_clear(rational_value);
+}
+   
+/****************************************************************************************/
+
+
+/* end of cddio.c */
+
diff --git a/third_party/cddlib/lib-src/cddlib.c b/third_party/cddlib/lib-src/cddlib.c
new file mode 100644
index 0000000..ca9469f
--- /dev/null
+++ b/third_party/cddlib/lib-src/cddlib.c
@@ -0,0 +1,392 @@
+/* cddlib.c: cdd library  (library version of cdd)
+   written by Komei Fukuda, fukuda@math.ethz.ch
+   Version 0.94h, April 30, 2015
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/* cdd : C-Implementation of the double description method for
+   computing all vertices and extreme rays of the polyhedron 
+   P= {x :  b - A x >= 0}.
+   Please read COPYING (GNU General Public Licence) and
+   the manual cddlibman.tex for detail.
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+/* The first version C0.21 was created on November 10,1993 
+   with Dave Gillespie's p2c translator 
+   from the Pascal program pdd.p written by Komei Fukuda. 
+*/
+
+#include "setoper.h" 
+  /* set operation library header (Ver. June 1, 2000 or later) */
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+/* Global Variables */
+dd_boolean dd_debug               =dd_FALSE;
+dd_boolean dd_log                 =dd_FALSE;
+/* GLOBAL CONSTANTS and STATICS VARIABLES (to be set by dd_set_global_constants() */
+mytype dd_zero;
+mytype dd_one;
+mytype dd_purezero;
+mytype dd_minuszero;
+mytype dd_minusone;
+
+time_t dd_statStartTime; /* cddlib starting time */
+long dd_statBApivots;  /* basis finding pivots */
+long dd_statCCpivots;  /* criss-cross pivots */
+long dd_statDS1pivots; /* phase 1 pivots */
+long dd_statDS2pivots; /* phase 2 pivots */
+long dd_statACpivots;  /* anticycling (cc) pivots */
+#ifdef GMPRATIONAL
+long dd_statBSpivots;  /* basis status checking pivots */
+#endif
+dd_LPSolverType dd_choiceLPSolverDefault;  /* Default LP solver Algorithm */
+dd_LPSolverType dd_choiceRedcheckAlgorithm;  /* Redundancy Checking Algorithm */
+dd_boolean dd_choiceLexicoPivotQ;    /* whether to use the lexicographic pivot */
+
+/* #include <profile.h>    THINK C PROFILER */
+/* #include <console.h>    THINK C PROFILER */
+
+void dd_DDInit(dd_ConePtr cone)
+{
+  cone->Error=dd_NoError;
+  cone->CompStatus=dd_InProgress;
+  cone->RayCount = 0;
+  cone->TotalRayCount = 0;
+  cone->FeasibleRayCount = 0;
+  cone->WeaklyFeasibleRayCount = 0;
+  cone->EdgeCount=0; /* active edge count */
+  cone->TotalEdgeCount=0; /* active edge count */
+  dd_SetInequalitySets(cone);
+  dd_ComputeRowOrderVector(cone);
+  cone->RecomputeRowOrder=dd_FALSE;
+}
+
+void dd_DDMain(dd_ConePtr cone)
+{
+  dd_rowrange hh, itemp, otemp;
+  dd_boolean locallog=dd_log; /* if dd_log=dd_FALSE, no log will be written.  */
+
+  if (cone->d<=0){
+    cone->Iteration=cone->m;
+    cone->FeasibleRayCount=0;
+    cone->CompStatus=dd_AllFound;
+    goto _L99;
+  }
+  if (locallog) {
+     fprintf(stderr,"(Initially added rows ) = ");
+     set_fwrite(stderr,cone->InitialHalfspaces);
+  }
+  while (cone->Iteration <= cone->m) {
+    dd_SelectNextHalfspace(cone, cone->WeaklyAddedHalfspaces, &hh);
+    if (set_member(hh,cone->NonequalitySet)){  /* Skip the row hh */
+      if (dd_debug) {
+        fprintf(stderr,"*The row # %3ld should be inactive and thus skipped.\n", hh);
+      }
+      set_addelem(cone->WeaklyAddedHalfspaces, hh);
+    } else {
+      if (cone->PreOrderedRun)
+        dd_AddNewHalfspace2(cone, hh);
+      else{
+        dd_AddNewHalfspace1(cone, hh);
+      }
+      set_addelem(cone->AddedHalfspaces, hh);
+      set_addelem(cone->WeaklyAddedHalfspaces, hh);
+    }
+    if (!cone->PreOrderedRun){
+      for (itemp=1; cone->OrderVector[itemp]!=hh; itemp++);
+        otemp=cone->OrderVector[cone->Iteration];
+      cone->OrderVector[cone->Iteration]=hh;
+        /* store the dynamic ordering in ordervec */
+      cone->OrderVector[itemp]=otemp;
+        /* store the dynamic ordering in ordervec */
+    }
+    if (locallog){
+      fprintf(stderr,"(Iter, Row, #Total, #Curr, #Feas)= %5ld %5ld %9ld %6ld %6ld\n",
+        cone->Iteration, hh, cone->TotalRayCount, cone->RayCount,
+        cone->FeasibleRayCount);
+    }
+    if (cone->CompStatus==dd_AllFound||cone->CompStatus==dd_RegionEmpty) {
+      set_addelem(cone->AddedHalfspaces, hh);
+      goto _L99;
+    }
+    (cone->Iteration)++;
+  }
+  _L99:;
+  if (cone->d<=0 || cone->newcol[1]==0){ /* fixing the number of output */
+     cone->parent->n=cone->LinearityDim + cone->FeasibleRayCount -1;
+     cone->parent->ldim=cone->LinearityDim - 1;
+  } else {
+    cone->parent->n=cone->LinearityDim + cone->FeasibleRayCount;
+    cone->parent->ldim=cone->LinearityDim;
+  }
+}
+
+
+void dd_InitialDataSetup(dd_ConePtr cone)
+{
+  long j, r;
+  dd_rowset ZSet;
+  static dd_Arow Vector1,Vector2;
+  static dd_colrange last_d=0;
+
+  if (last_d < cone->d){
+    if (last_d>0) {
+    for (j=0; j<last_d; j++){
+      dd_clear(Vector1[j]);
+      dd_clear(Vector2[j]);
+    }
+    free(Vector1); free(Vector2);
+    }
+    Vector1=(mytype*)calloc(cone->d,sizeof(mytype));
+    Vector2=(mytype*)calloc(cone->d,sizeof(mytype));
+    for (j=0; j<cone->d; j++){
+      dd_init(Vector1[j]);
+      dd_init(Vector2[j]);
+    }
+    last_d=cone->d;
+  }
+
+  cone->RecomputeRowOrder=dd_FALSE;
+  cone->ArtificialRay = NULL;
+  cone->FirstRay = NULL;
+  cone->LastRay = NULL;
+  set_initialize(&ZSet,cone->m);
+  dd_AddArtificialRay(cone);
+  set_copy(cone->AddedHalfspaces, cone->InitialHalfspaces);
+  set_copy(cone->WeaklyAddedHalfspaces, cone->InitialHalfspaces);
+  dd_UpdateRowOrderVector(cone, cone->InitialHalfspaces);
+  for (r = 1; r <= cone->d; r++) {
+    for (j = 0; j < cone->d; j++){
+      dd_set(Vector1[j], cone->B[j][r-1]);
+      dd_neg(Vector2[j], cone->B[j][r-1]);
+    }
+    dd_Normalize(cone->d, Vector1);
+    dd_Normalize(cone->d, Vector2);
+    dd_ZeroIndexSet(cone->m, cone->d, cone->A, Vector1, ZSet);
+    if (set_subset(cone->EqualitySet, ZSet)){
+      if (dd_debug) {
+        fprintf(stderr,"add an initial ray with zero set:");
+        set_fwrite(stderr,ZSet);
+      }
+      dd_AddRay(cone, Vector1);
+      if (cone->InitialRayIndex[r]==0) {
+        dd_AddRay(cone, Vector2);
+        if (dd_debug) {
+          fprintf(stderr,"and add its negative also.\n");
+        }
+      }
+    }
+  }
+  dd_CreateInitialEdges(cone);
+  cone->Iteration = cone->d + 1;
+  if (cone->Iteration > cone->m) cone->CompStatus=dd_AllFound; /* 0.94b  */
+  set_free(ZSet);
+}
+
+dd_boolean dd_CheckEmptiness(dd_PolyhedraPtr poly, dd_ErrorType *err)
+{
+  dd_rowset R, S;
+  dd_MatrixPtr M=NULL;
+  dd_boolean answer=dd_FALSE;
+
+  *err=dd_NoError;
+
+  if (poly->representation==dd_Inequality){
+	M=dd_CopyInequalities(poly);
+	set_initialize(&R, M->rowsize);
+	set_initialize(&S, M->rowsize);
+	if (!dd_ExistsRestrictedFace(M, R, S, err)){
+	  poly->child->CompStatus=dd_AllFound;
+	  poly->IsEmpty=dd_TRUE;
+	  poly->n=0;
+	  answer=dd_TRUE;
+	}
+	set_free(R);
+	set_free(S);
+	dd_FreeMatrix(M);
+  } else if (poly->representation==dd_Generator && poly->m<=0){
+	*err=dd_EmptyVrepresentation;
+	poly->IsEmpty=dd_TRUE;
+	poly->child->CompStatus=dd_AllFound;
+	answer=dd_TRUE;
+	poly->child->Error=*err;  
+  }
+  
+  return answer;
+}
+
+
+dd_boolean dd_DoubleDescription(dd_PolyhedraPtr poly, dd_ErrorType *err)
+{
+  dd_ConePtr cone=NULL;
+  dd_boolean found=dd_FALSE;
+
+  *err=dd_NoError;
+
+  if (poly!=NULL && (poly->child==NULL || poly->child->CompStatus!=dd_AllFound)){
+    cone=dd_ConeDataLoad(poly);
+    /* create a cone associated with poly by homogenization */
+    time(&cone->starttime);
+    dd_DDInit(cone);
+    if (poly->representation==dd_Generator && poly->m<=0){
+       *err=dd_EmptyVrepresentation;
+       cone->Error=*err;
+	   goto _L99;
+	}
+	/* Check emptiness of the polyhedron */
+	dd_CheckEmptiness(poly,err);
+
+    if (cone->CompStatus!=dd_AllFound){
+	  dd_FindInitialRays(cone, &found);
+	  if (found) {
+	    dd_InitialDataSetup(cone);
+	    if (cone->CompStatus==dd_AllFound) goto _L99;
+	    dd_DDMain(cone);
+	    if (cone->FeasibleRayCount!=cone->RayCount) *err=dd_NumericallyInconsistent; /* cddlib-093d */
+	  }
+	}
+    time(&cone->endtime);
+  }
+    
+_L99: ;
+
+  return found;
+}
+
+dd_boolean dd_DoubleDescription2(dd_PolyhedraPtr poly, dd_RowOrderType horder, dd_ErrorType *err)
+{
+  dd_ConePtr cone=NULL;
+  dd_boolean found=dd_FALSE;
+
+  *err=dd_NoError;
+
+  if (poly!=NULL && (poly->child==NULL || poly->child->CompStatus!=dd_AllFound)){
+    cone=dd_ConeDataLoad(poly);
+    /* create a cone associated with poly by homogenization */
+	cone->HalfspaceOrder=horder;  /* set the row order */
+    time(&cone->starttime);
+    dd_DDInit(cone);
+    if (poly->representation==dd_Generator && poly->m<=0){
+       *err=dd_EmptyVrepresentation;
+       cone->Error=*err;
+	   goto _L99;
+	}
+	/* Check emptiness of the polyhedron */
+	dd_CheckEmptiness(poly,err);
+
+    if (cone->CompStatus!=dd_AllFound){
+	  dd_FindInitialRays(cone, &found);
+	  if (found) {
+	    dd_InitialDataSetup(cone);
+	    if (cone->CompStatus==dd_AllFound) goto _L99;
+	    dd_DDMain(cone);
+	    if (cone->FeasibleRayCount!=cone->RayCount) *err=dd_NumericallyInconsistent; /* cddlib-093d */
+	  }
+	}
+    time(&cone->endtime);
+  }
+    
+_L99: ;
+
+  return found;
+}
+
+dd_boolean dd_DDInputAppend(dd_PolyhedraPtr *poly, dd_MatrixPtr M,
+  dd_ErrorType *err)
+{
+  /* This is imcomplete.  It simply solves the problem from scratch.  */
+  dd_boolean found;
+  dd_ErrorType error;
+
+  if ((*poly)->child!=NULL) dd_FreeDDMemory(*poly);
+  dd_AppendMatrix2Poly(poly, M);
+  (*poly)->representation=dd_Inequality;
+  found=dd_DoubleDescription(*poly, &error);
+  *err=error;
+  return found;
+}
+
+dd_boolean dd_DDFile2File(char *ifile, char *ofile, dd_ErrorType *err)
+{
+  /* The representation conversion from an input file to an outfile.  */
+  /* modified by D. Avis to allow stdin/stdout */
+  dd_boolean found=dd_TRUE;
+  FILE *reading=NULL,*writing=NULL;
+  dd_PolyhedraPtr poly;
+  dd_MatrixPtr M, A, G;
+
+  if (strcmp(ifile,"**stdin") == 0 )
+     reading = stdin;
+  else if ( ( reading = fopen(ifile, "r") )!= NULL) {
+    fprintf(stderr,"input file %s is open\n", ifile);
+   }
+  else{
+    fprintf(stderr,"The input file %s not found\n",ifile);
+    found=dd_FALSE;
+    *err=dd_IFileNotFound;
+    goto _L99;
+  }
+
+  if (found){
+    if (strcmp(ofile,"**stdout") == 0 )
+      writing = stdout;
+    else if ( (writing = fopen(ofile, "w") ) != NULL){
+      fprintf(stderr,"output file %s is open\n",ofile);
+      found=dd_TRUE;
+    } else {
+      fprintf(stderr,"The output file %s cannot be opened\n",ofile);
+      found=dd_FALSE;
+      *err=dd_OFileNotOpen;
+      goto _L99;
+    }
+  }
+
+  M=dd_PolyFile2Matrix(reading, err);
+  if (*err!=dd_NoError){
+    goto _L99;
+  } poly=dd_DDMatrix2Poly(M, err);  /* compute the second representation */ dd_FreeMatrix(M);
+
+  if (*err==dd_NoError) {
+    dd_WriteRunningMode(writing, poly);
+    A=dd_CopyInequalities(poly);
+    G=dd_CopyGenerators(poly);
+
+    if (poly->representation==dd_Inequality) {
+      dd_WriteMatrix(writing,G);
+     } else {
+      dd_WriteMatrix(writing,A);
+    }
+
+    dd_FreePolyhedra(poly);
+    dd_FreeMatrix(A);
+    dd_FreeMatrix(G);
+  } 
+
+_L99: ;
+  if (*err!=dd_NoError) dd_WriteErrorMessages(stderr,*err);
+  if (reading!=NULL) fclose(reading);
+  if (writing!=NULL) fclose(writing);
+  return found;
+}
+
+/* end of cddlib.c */
diff --git a/third_party/cddlib/lib-src/cddlp.c b/third_party/cddlib/lib-src/cddlp.c
new file mode 100644
index 0000000..46f98b5
--- /dev/null
+++ b/third_party/cddlib/lib-src/cddlp.c
@@ -0,0 +1,3779 @@
+/* cddlp.c:  dual simplex method c-code
+   written by Komei Fukuda, fukuda@math.ethz.ch
+   Version 0.94h, April 30, 2015
+*/
+
+/* cddlp.c : C-Implementation of the dual simplex method for
+   solving an LP: max/min  A_(m-1).x subject to  x in P, where
+   P= {x :  A_i.x >= 0, i=0,...,m-2, and  x_0=1}, and
+   A_i is the i-th row of an m x n matrix A.
+   Please read COPYING (GNU General Public Licence) and
+   the manual cddlibman.tex for detail.
+*/
+
+#include "setoper.h"  /* set operation library header (Ver. May 18, 2000 or later) */
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+#if defined GMPRATIONAL
+#include "cdd_f.h"
+#endif
+
+#define dd_CDDLPVERSION  "Version 0.94b (August 25, 2005)"
+
+#define dd_FALSE 0
+#define dd_TRUE 1
+
+typedef set_type rowset;  /* set_type defined in setoper.h */
+typedef set_type colset;
+
+void dd_CrissCrossSolve(dd_LPPtr lp,dd_ErrorType *);
+void dd_DualSimplexSolve(dd_LPPtr lp,dd_ErrorType *);
+void dd_CrissCrossMinimize(dd_LPPtr,dd_ErrorType *);
+void dd_CrissCrossMaximize(dd_LPPtr,dd_ErrorType *);
+void dd_DualSimplexMinimize(dd_LPPtr,dd_ErrorType *);
+void dd_DualSimplexMaximize(dd_LPPtr,dd_ErrorType *);
+void dd_FindLPBasis(dd_rowrange,dd_colrange,dd_Amatrix,dd_Bmatrix,dd_rowindex,dd_rowset,
+    dd_colindex,dd_rowindex,dd_rowrange,dd_colrange,
+    dd_colrange *,int *,dd_LPStatusType *,long *);
+void dd_FindDualFeasibleBasis(dd_rowrange,dd_colrange,dd_Amatrix,dd_Bmatrix,dd_rowindex,
+    dd_colindex,long *,dd_rowrange,dd_colrange,dd_boolean,
+    dd_colrange *,dd_ErrorType *,dd_LPStatusType *,long *, long maxpivots);
+
+
+#ifdef GMPRATIONAL
+void dd_BasisStatus(ddf_LPPtr lpf, dd_LPPtr lp, dd_boolean*);
+void dd_BasisStatusMinimize(dd_rowrange,dd_colrange, dd_Amatrix,dd_Bmatrix,dd_rowset,
+    dd_rowrange,dd_colrange,ddf_LPStatusType,mytype *,dd_Arow,dd_Arow,dd_rowset,ddf_colindex,
+    ddf_rowrange,ddf_colrange,dd_colrange *,long *, int *, int *);
+void dd_BasisStatusMaximize(dd_rowrange,dd_colrange,dd_Amatrix,dd_Bmatrix,dd_rowset,
+    dd_rowrange,dd_colrange,ddf_LPStatusType,mytype *,dd_Arow,dd_Arow,dd_rowset,ddf_colindex,
+    ddf_rowrange,ddf_colrange,dd_colrange *,long *, int *, int *);
+#endif
+
+void dd_WriteBmatrix(FILE *f,dd_colrange d_size,dd_Bmatrix T);
+void dd_SetNumberType(char *line,dd_NumberType *number,dd_ErrorType *Error);
+void dd_ComputeRowOrderVector2(dd_rowrange m_size,dd_colrange d_size,dd_Amatrix A,
+    dd_rowindex OV,dd_RowOrderType ho,unsigned int rseed);
+void dd_SelectPreorderedNext2(dd_rowrange m_size,dd_colrange d_size,
+    rowset excluded,dd_rowindex OV,dd_rowrange *hnext);
+void dd_SetSolutions(dd_rowrange,dd_colrange,
+   dd_Amatrix,dd_Bmatrix,dd_rowrange,dd_colrange,dd_LPStatusType,
+   mytype *,dd_Arow,dd_Arow,dd_rowset,dd_colindex,dd_rowrange,dd_colrange,dd_rowindex);
+   
+void dd_WriteTableau(FILE *,dd_rowrange,dd_colrange,dd_Amatrix,dd_Bmatrix,
+  dd_colindex,dd_rowindex);
+
+void dd_WriteSignTableau(FILE *,dd_rowrange,dd_colrange,dd_Amatrix,dd_Bmatrix,
+  dd_colindex,dd_rowindex);
+
+
+dd_LPSolutionPtr dd_CopyLPSolution(dd_LPPtr lp)
+{
+  dd_LPSolutionPtr lps;
+  dd_colrange j;
+  long i;
+
+  lps=(dd_LPSolutionPtr) calloc(1,sizeof(dd_LPSolutionType));
+  for (i=1; i<=dd_filenamelen; i++) lps->filename[i-1]=lp->filename[i-1];
+  lps->objective=lp->objective;
+  lps->solver=lp->solver; 
+  lps->m=lp->m;
+  lps->d=lp->d;
+  lps->numbtype=lp->numbtype;
+
+  lps->LPS=lp->LPS;  /* the current solution status */
+  dd_init(lps->optvalue);
+  dd_set(lps->optvalue,lp->optvalue);  /* optimal value */
+  dd_InitializeArow(lp->d+1,&(lps->sol));
+  dd_InitializeArow(lp->d+1,&(lps->dsol));
+  lps->nbindex=(long*) calloc((lp->d)+1,sizeof(long));  /* dual solution */
+  for (j=0; j<=lp->d; j++){
+    dd_set(lps->sol[j],lp->sol[j]);
+    dd_set(lps->dsol[j],lp->dsol[j]);
+    lps->nbindex[j]=lp->nbindex[j];
+  }
+  lps->pivots[0]=lp->pivots[0];
+  lps->pivots[1]=lp->pivots[1];
+  lps->pivots[2]=lp->pivots[2];
+  lps->pivots[3]=lp->pivots[3];
+  lps->pivots[4]=lp->pivots[4];
+  lps->total_pivots=lp->total_pivots;
+
+  return lps;
+}
+
+
+dd_LPPtr dd_CreateLPData(dd_LPObjectiveType obj,
+   dd_NumberType nt,dd_rowrange m,dd_colrange d)
+{
+  dd_LPType *lp;
+
+  lp=(dd_LPPtr) calloc(1,sizeof(dd_LPType));
+  lp->solver=dd_choiceLPSolverDefault;  /* set the default lp solver */
+  lp->d=d;
+  lp->m=m;
+  lp->numbtype=nt;
+  lp->objrow=m;
+  lp->rhscol=1L;
+  lp->objective=dd_LPnone;
+  lp->LPS=dd_LPSundecided;
+  lp->eqnumber=0;  /* the number of equalities */
+
+  lp->nbindex=(long*) calloc(d+1,sizeof(long));
+  lp->given_nbindex=(long*) calloc(d+1,sizeof(long));
+  set_initialize(&(lp->equalityset),m);  
+    /* i must be in the set iff i-th row is equality . */
+
+  lp->redcheck_extensive=dd_FALSE; /* this is on only for RedundantExtensive */
+  lp->ired=0;
+  set_initialize(&(lp->redset_extra),m);  
+    /* i is in the set if i-th row is newly recognized redundant (during the checking the row ired). */
+  set_initialize(&(lp->redset_accum),m);  
+    /* i is in the set if i-th row is recognized redundant (during the checking the row ired). */
+   set_initialize(&(lp->posset_extra),m);  
+    /* i is in the set if i-th row is recognized non-linearity (during the course of computation). */
+ lp->lexicopivot=dd_choiceLexicoPivotQ;  /* dd_choice... is set in dd_set_global_constants() */
+
+  lp->m_alloc=lp->m+2;
+  lp->d_alloc=lp->d+2;
+  lp->objective=obj;
+  dd_InitializeBmatrix(lp->d_alloc,&(lp->B));
+  dd_InitializeAmatrix(lp->m_alloc,lp->d_alloc,&(lp->A));
+  dd_InitializeArow(lp->d_alloc,&(lp->sol));
+  dd_InitializeArow(lp->d_alloc,&(lp->dsol));
+  dd_init(lp->optvalue);
+  return lp;
+}
+
+
+dd_LPPtr dd_Matrix2LP(dd_MatrixPtr M, dd_ErrorType *err)
+{
+  dd_rowrange m, i, irev, linc;
+  dd_colrange d, j;
+  dd_LPType *lp;
+  dd_boolean localdebug=dd_FALSE;
+
+  *err=dd_NoError;
+  linc=set_card(M->linset);
+  m=M->rowsize+1+linc; 
+     /* We represent each equation by two inequalities.
+        This is not the best way but makes the code simple. */
+  d=M->colsize;
+  if (localdebug) fprintf(stderr,"number of equalities = %ld\n", linc);
+  
+  lp=dd_CreateLPData(M->objective, M->numbtype, m, d);
+  lp->Homogeneous = dd_TRUE;
+  lp->eqnumber=linc;  /* this records the number of equations */
+
+  irev=M->rowsize; /* the first row of the linc reversed inequalities. */
+  for (i = 1; i <= M->rowsize; i++) {
+    if (set_member(i, M->linset)) {
+      irev=irev+1;
+      set_addelem(lp->equalityset,i);    /* it is equality. */
+                                         /* the reversed row irev is not in the equality set. */
+      for (j = 1; j <= M->colsize; j++) {
+        dd_neg(lp->A[irev-1][j-1],M->matrix[i-1][j-1]);
+      }  /*of j*/
+      if (localdebug) fprintf(stderr,"equality row %ld generates the reverse row %ld.\n",i,irev);
+    }
+    for (j = 1; j <= M->colsize; j++) {
+      dd_set(lp->A[i-1][j-1],M->matrix[i-1][j-1]);
+      if (j==1 && i<M->rowsize && dd_Nonzero(M->matrix[i-1][j-1])) lp->Homogeneous = dd_FALSE;
+    }  /*of j*/
+  }  /*of i*/
+  for (j = 1; j <= M->colsize; j++) {
+    dd_set(lp->A[m-1][j-1],M->rowvec[j-1]);  /* objective row */
+  }  /*of j*/
+
+  return lp;
+}
+
+dd_LPPtr dd_Matrix2Feasibility(dd_MatrixPtr M, dd_ErrorType *err)
+/* Load a matrix to create an LP object for feasibility.   It is 
+   essentially the dd_Matrix2LP except that the objject function
+   is set to identically ZERO (maximization).
+   
+*/  
+	 /*  094 */
+{
+  dd_rowrange m, linc;
+  dd_colrange j;
+  dd_LPType *lp;
+
+  *err=dd_NoError;
+  linc=set_card(M->linset);
+  m=M->rowsize+1+linc; 
+     /* We represent each equation by two inequalities.
+        This is not the best way but makes the code simple. */
+  
+  lp=dd_Matrix2LP(M, err);
+  lp->objective = dd_LPmax;   /* since the objective is zero, this is not important */
+  for (j = 1; j <= M->colsize; j++) {
+    dd_set(lp->A[m-1][j-1],dd_purezero);  /* set the objective to zero. */
+  }  /*of j*/
+
+  return lp;
+}
+
+dd_LPPtr dd_Matrix2Feasibility2(dd_MatrixPtr M, dd_rowset R, dd_rowset S, dd_ErrorType *err)
+/* Load a matrix to create an LP object for feasibility with additional equality and
+   strict inequality constraints given by R and S.  There are three types of inequalities:
+   
+   b_r + A_r x =  0     Linearity (Equations) specified by M
+   b_s + A_s x >  0     Strict Inequalities specified by row index set S
+   b_t + A_t x >= 0     The rest inequalities in M
+   
+   Where the linearity is considered here as the union of linearity specified by
+   M and the additional set R.  When S contains any linearity rows, those
+   rows are considered linearity (equation).  Thus S does not overlide linearity.
+   To find a feasible solution, we set an LP
+   
+   maximize  z
+   subject to
+   b_r + A_r x     =  0      all r in Linearity
+   b_s + A_s x - z >= 0      for all s in S
+   b_t + A_t x     >= 0      for all the rest rows t
+   1           - z >= 0      to make the LP bounded.
+   
+   Clearly, the feasibility problem has a solution iff the LP has a positive optimal value. 
+   The variable z will be the last variable x_{d+1}.
+   
+*/  
+/*  094 */
+{
+  dd_rowrange m, i, irev, linc;
+  dd_colrange d, j;
+  dd_LPType *lp;
+  dd_rowset L;
+  dd_boolean localdebug=dd_FALSE;
+
+  *err=dd_NoError;
+  set_initialize(&L, M->rowsize);
+  set_uni(L,M->linset,R);
+  linc=set_card(L);
+  m=M->rowsize+1+linc+1; 
+     /* We represent each equation by two inequalities.
+        This is not the best way but makes the code simple. */
+  d=M->colsize+1;
+  if (localdebug) fprintf(stderr,"number of equalities = %ld\n", linc);
+  
+  lp=dd_CreateLPData(dd_LPmax, M->numbtype, m, d);
+  lp->Homogeneous = dd_TRUE;
+  lp->eqnumber=linc;  /* this records the number of equations */
+
+  irev=M->rowsize; /* the first row of the linc reversed inequalities. */
+  for (i = 1; i <= M->rowsize; i++) {
+    if (set_member(i, L)) {
+      irev=irev+1;
+      set_addelem(lp->equalityset,i);    /* it is equality. */
+                                         /* the reversed row irev is not in the equality set. */
+      for (j = 1; j <= M->colsize; j++) {
+        dd_neg(lp->A[irev-1][j-1],M->matrix[i-1][j-1]);
+      }  /*of j*/
+      if (localdebug) fprintf(stderr,"equality row %ld generates the reverse row %ld.\n",i,irev);
+    } else if (set_member(i, S)) {
+	  dd_set(lp->A[i-1][M->colsize],dd_minusone);
+    }
+    for (j = 1; j <= M->colsize; j++) {
+      dd_set(lp->A[i-1][j-1],M->matrix[i-1][j-1]);
+      if (j==1 && i<M->rowsize && dd_Nonzero(M->matrix[i-1][j-1])) lp->Homogeneous = dd_FALSE;
+    }  /*of j*/
+  }  /*of i*/
+  for (j = 1; j <= d; j++) {
+    dd_set(lp->A[m-2][j-1],dd_purezero);  /* initialize */
+  }  /*of j*/
+  dd_set(lp->A[m-2][0],dd_one);  /* the bounding constraint. */
+  dd_set(lp->A[m-2][M->colsize],dd_minusone);  /* the bounding constraint. */
+  for (j = 1; j <= d; j++) {
+    dd_set(lp->A[m-1][j-1],dd_purezero);  /* initialize */
+  }  /*of j*/
+  dd_set(lp->A[m-1][M->colsize],dd_one);  /* maximize  z */
+  
+  set_free(L);
+  return lp;
+}
+
+
+
+void dd_FreeLPData(dd_LPPtr lp)
+{
+  if ((lp)!=NULL){
+    dd_clear(lp->optvalue);
+    dd_FreeArow(lp->d_alloc,lp->dsol);
+    dd_FreeArow(lp->d_alloc,lp->sol);
+    dd_FreeBmatrix(lp->d_alloc,lp->B);
+    dd_FreeAmatrix(lp->m_alloc,lp->d_alloc,lp->A);
+    set_free(lp->equalityset);
+    set_free(lp->redset_extra);
+    set_free(lp->redset_accum);
+    set_free(lp->posset_extra);
+    free(lp->nbindex);
+    free(lp->given_nbindex);
+    free(lp);
+  }
+}
+
+void dd_FreeLPSolution(dd_LPSolutionPtr lps)
+{
+  if (lps!=NULL){
+    free(lps->nbindex);
+    dd_FreeArow(lps->d+1,lps->dsol);
+    dd_FreeArow(lps->d+1,lps->sol);
+    dd_clear(lps->optvalue);
+    
+    free(lps);
+  }
+}
+
+int dd_LPReverseRow(dd_LPPtr lp, dd_rowrange i)
+{
+  dd_colrange j;
+  int success=0;
+
+  if (i>=1 && i<=lp->m){
+    lp->LPS=dd_LPSundecided;
+    for (j=1; j<=lp->d; j++) {
+      dd_neg(lp->A[i-1][j-1],lp->A[i-1][j-1]);
+      /* negating the i-th constraint of A */
+    }
+    success=1;
+  }
+  return success;
+}
+
+int dd_LPReplaceRow(dd_LPPtr lp, dd_rowrange i, dd_Arow a)
+{
+  dd_colrange j;
+  int success=0;
+
+  if (i>=1 && i<=lp->m){
+    lp->LPS=dd_LPSundecided;
+    for (j=1; j<=lp->d; j++) {
+      dd_set(lp->A[i-1][j-1],a[j-1]);
+      /* replacing the i-th constraint by a */
+    }
+    success=1;
+  }
+  return success;
+}
+
+dd_Arow dd_LPCopyRow(dd_LPPtr lp, dd_rowrange i)
+{
+  dd_colrange j;
+  dd_Arow a;
+
+  if (i>=1 && i<=lp->m){
+    dd_InitializeArow(lp->d, &a);
+    for (j=1; j<=lp->d; j++) {
+      dd_set(a[j-1],lp->A[i-1][j-1]);
+      /* copying the i-th row to a */
+    }
+  }
+  return a;
+}
+
+
+void dd_SetNumberType(char *line,dd_NumberType *number,dd_ErrorType *Error)
+{
+  if (strncmp(line,"integer",7)==0) {
+    *number = dd_Integer;
+    return;
+  }
+  else if (strncmp(line,"rational",8)==0) {
+    *number = dd_Rational;
+    return;
+  }
+  else if (strncmp(line,"real",4)==0) {
+    *number = dd_Real;
+    return;
+  }
+  else { 
+    *number=dd_Unknown;
+    *Error=dd_ImproperInputFormat;
+  }
+}
+
+
+void dd_WriteTableau(FILE *f,dd_rowrange m_size,dd_colrange d_size,dd_Amatrix A,dd_Bmatrix T,
+  dd_colindex nbindex,dd_rowindex bflag)
+/* Write the tableau  A.T   */
+{
+  dd_colrange j;
+  dd_rowrange i;
+  mytype x;
+  
+  dd_init(x);
+  fprintf(f," %ld  %ld  real\n",m_size,d_size);
+  fprintf(f,"          |");
+  for (j=1; j<= d_size; j++) {
+    fprintf(f," %ld",nbindex[j]);
+  } fprintf(f,"\n");
+  for (j=1; j<= d_size+1; j++) {
+    fprintf(f," ----");
+  } fprintf(f,"\n");
+  for (i=1; i<= m_size; i++) {
+    fprintf(f," %3ld(%3ld) |",i,bflag[i]);  
+    for (j=1; j<= d_size; j++) {
+      dd_TableauEntry(&x,m_size,d_size,A,T,i,j);
+      dd_WriteNumber(f,x);
+    }
+    fprintf(f,"\n");
+  }
+  fprintf(f,"end\n");
+  dd_clear(x);
+}
+
+void dd_WriteSignTableau(FILE *f,dd_rowrange m_size,dd_colrange d_size,dd_Amatrix A,dd_Bmatrix T,
+  dd_colindex nbindex,dd_rowindex bflag)
+/* Write the sign tableau  A.T   */
+{
+  dd_colrange j;
+  dd_rowrange i;
+  mytype x;
+  
+  dd_init(x);
+  fprintf(f," %ld  %ld  real\n",m_size,d_size);
+  fprintf(f,"          |");
+  for (j=1; j<= d_size; j++) {
+    fprintf(f,"%3ld",nbindex[j]);
+  } fprintf(f,"\n  ------- | ");
+  for (j=1; j<= d_size; j++) {
+    fprintf(f,"---");
+  } fprintf(f,"\n");
+  for (i=1; i<= m_size; i++) {
+    fprintf(f," %3ld(%3ld) |",i,bflag[i]);
+    for (j=1; j<= d_size; j++) {
+      dd_TableauEntry(&x,m_size,d_size,A,T,i,j);
+      if (dd_Positive(x)) fprintf(f, "  +");
+      else if (dd_Negative(x)) fprintf(f, "  -");
+        else  fprintf(f, "  0");
+    }
+    fprintf(f,"\n");
+  }
+  fprintf(f,"end\n");
+  dd_clear(x);
+}
+
+void dd_WriteSignTableau2(FILE *f,dd_rowrange m_size,dd_colrange d_size,dd_Amatrix A,dd_Bmatrix T,
+  dd_colindex nbindex_ref, dd_colindex nbindex,dd_rowindex bflag)
+/* Write the sign tableau  A.T  and the reference basis */
+{
+  dd_colrange j;
+  dd_rowrange i;
+  mytype x;
+  
+  dd_init(x);
+  fprintf(f," %ld  %ld  real\n",m_size,d_size);
+  fprintf(f,"          |");
+  for (j=1; j<= d_size; j++) fprintf(f,"%3ld",nbindex_ref[j]);
+  fprintf(f,"\n          |");
+  for (j=1; j<= d_size; j++) {
+    fprintf(f,"%3ld",nbindex[j]);
+  } fprintf(f,"\n  ------- | ");
+  for (j=1; j<= d_size; j++) {
+    fprintf(f,"---");
+  } fprintf(f,"\n");
+  for (i=1; i<= m_size; i++) {
+    fprintf(f," %3ld(%3ld) |",i,bflag[i]);
+    for (j=1; j<= d_size; j++) {
+      dd_TableauEntry(&x,m_size,d_size,A,T,i,j);
+      if (dd_Positive(x)) fprintf(f, "  +");
+      else if (dd_Negative(x)) fprintf(f, "  -");
+        else  fprintf(f, "  0");
+    }
+    fprintf(f,"\n");
+  }
+  fprintf(f,"end\n");
+  dd_clear(x);
+}
+
+
+void dd_GetRedundancyInformation(dd_rowrange m_size,dd_colrange d_size,dd_Amatrix A,dd_Bmatrix T,
+  dd_colindex nbindex,dd_rowindex bflag, dd_rowset redset)
+/* Some basic variables that are forced to be nonnegative will be output.  These are
+   variables whose dictionary row components are all nonnegative.   */
+{
+  dd_colrange j;
+  dd_rowrange i;
+  mytype x;
+  dd_boolean red=dd_FALSE,localdebug=dd_FALSE;
+  long numbred=0;
+  
+  dd_init(x);
+  for (i=1; i<= m_size; i++) {
+    red=dd_TRUE;
+    for (j=1; j<= d_size; j++) {
+      dd_TableauEntry(&x,m_size,d_size,A,T,i,j);
+      if (red && dd_Negative(x)) red=dd_FALSE;
+    }
+    if (bflag[i]<0 && red) {
+      numbred+=1;
+      set_addelem(redset,i);
+    }
+  }
+  if (localdebug) fprintf(stderr,"\ndd_GetRedundancyInformation: %ld redundant rows over %ld\n",numbred, m_size);  
+  dd_clear(x);
+}
+
+
+void dd_SelectDualSimplexPivot(dd_rowrange m_size,dd_colrange d_size,
+    int Phase1,dd_Amatrix A,dd_Bmatrix T,dd_rowindex OV,
+    dd_colindex nbindex_ref, dd_colindex nbindex,dd_rowindex bflag,
+    dd_rowrange objrow,dd_colrange rhscol, dd_boolean lexicopivot,
+    dd_rowrange *r,dd_colrange *s,int *selected,dd_LPStatusType *lps)
+{ 
+  /* selects a dual simplex pivot (*r,*s) if the current
+     basis is dual feasible and not optimal. If not dual feasible,
+     the procedure returns *selected=dd_FALSE and *lps=LPSundecided.
+     If Phase1=dd_TRUE, the RHS column will be considered as the negative
+     of the column of the largest variable (==m_size).  For this case, it is assumed
+     that the caller used the auxiliary row (with variable m_size) to make the current
+     dictionary dual feasible before calling this routine so that the nonbasic
+     column for m_size corresponds to the auxiliary variable.
+  */
+  dd_boolean colselected=dd_FALSE,rowselected=dd_FALSE,
+    dualfeasible=dd_TRUE,localdebug=dd_FALSE;
+  dd_rowrange i,iref;
+  dd_colrange j,k;
+  mytype val,valn, minval,rat,minrat;
+  static dd_Arow rcost;
+  static dd_colrange d_last=0;
+  static dd_colset tieset,stieset;  /* store the column indices with tie */
+
+  dd_init(val); dd_init(valn); dd_init(minval); dd_init(rat); dd_init(minrat);
+  if (d_last<d_size) {
+    if (d_last>0) {
+      for (j=1; j<=d_last; j++){ dd_clear(rcost[j-1]);}
+      free(rcost);
+      set_free(tieset);
+      set_free(stieset);
+    }
+    rcost=(mytype*) calloc(d_size,sizeof(mytype));
+    for (j=1; j<=d_size; j++){ dd_init(rcost[j-1]);}
+    set_initialize(&tieset,d_size);
+    set_initialize(&stieset,d_size);
+    d_last=d_size;
+  }
+
+  *r=0; *s=0;
+  *selected=dd_FALSE;
+  *lps=dd_LPSundecided;
+  for (j=1; j<=d_size; j++){
+    if (j!=rhscol){
+      dd_TableauEntry(&(rcost[j-1]),m_size,d_size,A,T,objrow,j);
+      if (dd_Positive(rcost[j-1])) { 
+        dualfeasible=dd_FALSE;
+      }
+    }
+  }
+  if (dualfeasible){
+    while ((*lps==dd_LPSundecided) && (!rowselected) && (!colselected)) {
+      for (i=1; i<=m_size; i++) {
+        if (i!=objrow && bflag[i]==-1) {  /* i is a basic variable */
+          if (Phase1){
+            dd_TableauEntry(&val, m_size,d_size,A,T,i,bflag[m_size]);
+            dd_neg(val,val);
+            /* for dual Phase I.  The RHS (dual objective) is the negative of the auxiliary variable column. */
+          } 
+          else {dd_TableauEntry(&val,m_size,d_size,A,T,i,rhscol);}
+          if (dd_Smaller(val,minval)) {
+            *r=i;
+            dd_set(minval,val);
+          }
+        }
+      }
+      if (dd_Nonnegative(minval)) {
+        *lps=dd_Optimal;
+      }
+      else {
+        rowselected=dd_TRUE;
+        set_emptyset(tieset);
+        for (j=1; j<=d_size; j++){
+          dd_TableauEntry(&val,m_size,d_size,A,T,*r,j);
+          if (j!=rhscol && dd_Positive(val)) {
+            dd_div(rat,rcost[j-1],val);
+            dd_neg(rat,rat);
+            if (*s==0 || dd_Smaller(rat,minrat)){
+              dd_set(minrat,rat);
+              *s=j;
+              set_emptyset(tieset);
+              set_addelem(tieset, j);
+            } else if (dd_Equal(rat,minrat)){
+              set_addelem(tieset,j);
+            }
+          }
+        }
+        if (*s>0) {
+          if (!lexicopivot || set_card(tieset)==1){
+            colselected=dd_TRUE; *selected=dd_TRUE;
+          } else { /* lexicographic rule with respect to the given reference cobasis.  */
+            if (localdebug) {printf("Tie occurred at:"); set_write(tieset); printf("\n");
+              dd_WriteTableau(stderr,m_size,d_size,A,T,nbindex,bflag);
+            }
+            *s=0;
+            k=2; /* k runs through the column indices except RHS. */
+            do {
+              iref=nbindex_ref[k];  /* iref runs though the reference basic indices */
+              if (iref>0) {
+                j=bflag[iref];
+                if (j>0) {
+                  if (set_member(j,tieset) && set_card(tieset)==1) {
+                    *s=j;
+                     colselected=dd_TRUE;
+                  } else {
+                    set_delelem(tieset, j);
+                    /* iref is cobasic, and the corresponding col is not the pivot column except it is the last one. */
+                  }
+                } else {
+                  *s=0;
+                  for (j=1; j<=d_size; j++){
+                    if (set_member(j,tieset)) {
+                      dd_TableauEntry(&val,m_size,d_size,A,T,*r,j);
+                      dd_TableauEntry(&valn,m_size,d_size,A,T,iref,j);
+                      if (j!=rhscol && dd_Positive(val)) {
+                        dd_div(rat,valn,val);
+                        if (*s==0 || dd_Smaller(rat,minrat)){
+                          dd_set(minrat,rat);
+                          *s=j;
+                          set_emptyset(stieset);
+                          set_addelem(stieset, j);
+                        } else if (dd_Equal(rat,minrat)){
+                          set_addelem(stieset,j);
+                        }
+                      }
+                    }
+                  }
+                  set_copy(tieset,stieset);              
+                  if (set_card(tieset)==1) colselected=dd_TRUE;
+                }
+              }
+              k+=1;
+            } while (!colselected && k<=d_size);
+            *selected=dd_TRUE;
+          }
+        } else *lps=dd_Inconsistent;
+      }
+    } /* end of while */
+  }
+  if (localdebug) {
+     if (Phase1) fprintf(stderr,"Phase 1 : select %ld,%ld\n",*r,*s);
+     else fprintf(stderr,"Phase 2 : select %ld,%ld\n",*r,*s);
+  }
+  dd_clear(val); dd_clear(valn); dd_clear(minval); dd_clear(rat); dd_clear(minrat);
+}
+
+void dd_TableauEntry(mytype *x,dd_rowrange m_size, dd_colrange d_size, dd_Amatrix X, dd_Bmatrix T,
+				dd_rowrange r, dd_colrange s)
+/* Compute the (r,s) entry of X.T   */
+{
+  dd_colrange j;
+  mytype temp;
+
+  dd_init(temp);
+  dd_set(*x,dd_purezero);
+  for (j=0; j< d_size; j++) {
+    dd_mul(temp,X[r-1][j], T[j][s-1]);
+    dd_add(*x, *x, temp);
+  }
+  dd_clear(temp);
+}
+
+void dd_SelectPivot2(dd_rowrange m_size,dd_colrange d_size,dd_Amatrix A,dd_Bmatrix T,
+            dd_RowOrderType roworder,dd_rowindex ordervec, rowset equalityset,
+            dd_rowrange rowmax,rowset NopivotRow,
+            colset NopivotCol,dd_rowrange *r,dd_colrange *s,
+            dd_boolean *selected)
+/* Select a position (*r,*s) in the matrix A.T such that (A.T)[*r][*s] is nonzero
+   The choice is feasible, i.e., not on NopivotRow and NopivotCol, and
+   best with respect to the specified roworder 
+ */
+{
+  int stop;
+  dd_rowrange i,rtemp;
+  rowset rowexcluded;
+  mytype Xtemp;
+  dd_boolean localdebug=dd_FALSE;
+
+  stop = dd_FALSE;
+  localdebug=dd_debug;
+  dd_init(Xtemp);
+  set_initialize(&rowexcluded,m_size);
+  set_copy(rowexcluded,NopivotRow);
+  for (i=rowmax+1;i<=m_size;i++) {
+    set_addelem(rowexcluded,i);   /* cannot pivot on any row > rmax */
+  }
+  *selected = dd_FALSE;
+  do {
+    rtemp=0; i=1;
+    while (i<=m_size && rtemp==0) {  /* equalityset vars have highest priorities */
+      if (set_member(i,equalityset) && !set_member(i,rowexcluded)){
+        if (localdebug) fprintf(stderr,"marked set %ld chosen as a candidate\n",i);
+        rtemp=i;
+      }
+      i++;
+    }
+    if (rtemp==0) dd_SelectPreorderedNext2(m_size,d_size,rowexcluded,ordervec,&rtemp);;
+    if (rtemp>=1) {
+      *r=rtemp;
+      *s=1;
+      while (*s <= d_size && !*selected) {
+        dd_TableauEntry(&Xtemp,m_size,d_size,A,T,*r,*s);
+        if (!set_member(*s,NopivotCol) && dd_Nonzero(Xtemp)) {
+          *selected = dd_TRUE;
+          stop = dd_TRUE;
+        } else {
+          (*s)++;
+        }
+      }
+      if (!*selected) {
+        set_addelem(rowexcluded,rtemp);
+      }
+    }
+    else {
+      *r = 0;
+      *s = 0;
+      stop = dd_TRUE;
+    }
+  } while (!stop);
+  set_free(rowexcluded); dd_clear(Xtemp);
+}
+
+void dd_GaussianColumnPivot(dd_rowrange m_size, dd_colrange d_size, 
+    dd_Amatrix X, dd_Bmatrix T, dd_rowrange r, dd_colrange s)
+/* Update the Transformation matrix T with the pivot operation on (r,s) 
+   This procedure performs a implicit pivot operation on the matrix X by
+   updating the dual basis inverse  T.
+ */
+{
+  dd_colrange j, j1;
+  mytype Xtemp0, Xtemp1, Xtemp;
+  static dd_Arow Rtemp;
+  static dd_colrange last_d=0;
+
+  dd_init(Xtemp0); dd_init(Xtemp1); dd_init(Xtemp);
+  if (last_d!=d_size){
+    if (last_d>0) {
+      for (j=1; j<=last_d; j++) dd_clear(Rtemp[j-1]);
+      free(Rtemp);
+    }
+    Rtemp=(mytype*)calloc(d_size,sizeof(mytype));
+    for (j=1; j<=d_size; j++) dd_init(Rtemp[j-1]);
+    last_d=d_size;
+  }
+
+  for (j=1; j<=d_size; j++) {
+    dd_TableauEntry(&(Rtemp[j-1]), m_size, d_size, X, T, r,j);
+  }
+  dd_set(Xtemp0,Rtemp[s-1]);
+  for (j = 1; j <= d_size; j++) {
+    if (j != s) {
+      dd_div(Xtemp,Rtemp[j-1],Xtemp0);
+      dd_set(Xtemp1,dd_purezero);
+      for (j1 = 1; j1 <= d_size; j1++){
+        dd_mul(Xtemp1,Xtemp,T[j1-1][s - 1]);
+        dd_sub(T[j1-1][j-1],T[j1-1][j-1],Xtemp1);
+ /*     T[j1-1][j-1] -= T[j1-1][s - 1] * Xtemp / Xtemp0;  */
+      }
+    }
+  }
+  for (j = 1; j <= d_size; j++)
+    dd_div(T[j-1][s - 1],T[j-1][s - 1],Xtemp0);
+
+  dd_clear(Xtemp0); dd_clear(Xtemp1); dd_clear(Xtemp);
+}
+
+void dd_GaussianColumnPivot2(dd_rowrange m_size,dd_colrange d_size,
+    dd_Amatrix A,dd_Bmatrix T,dd_colindex nbindex,dd_rowindex bflag,dd_rowrange r,dd_colrange s)
+/* Update the Transformation matrix T with the pivot operation on (r,s) 
+   This procedure performs a implicit pivot operation on the matrix A by
+   updating the dual basis inverse  T.
+ */
+{
+  int localdebug=dd_FALSE;
+  long entering;
+
+  if (dd_debug) localdebug=dd_debug;
+  dd_GaussianColumnPivot(m_size,d_size,A,T,r,s);
+  entering=nbindex[s];
+  bflag[r]=s;     /* the nonbasic variable r corresponds to column s */
+  nbindex[s]=r;   /* the nonbasic variable on s column is r */
+
+  if (entering>0) bflag[entering]=-1;
+     /* original variables have negative index and should not affect the row index */
+
+  if (localdebug) {
+    fprintf(stderr,"dd_GaussianColumnPivot2\n");
+    fprintf(stderr," pivot: (leaving, entering) = (%ld, %ld)\n", r,entering);
+    fprintf(stderr, " bflag[%ld] is set to %ld\n", r, s);
+  }
+}
+
+
+void dd_ResetTableau(dd_rowrange m_size,dd_colrange d_size,dd_Bmatrix T,
+    dd_colindex nbindex,dd_rowindex bflag,dd_rowrange objrow,dd_colrange rhscol)
+{
+  dd_rowrange i;
+  dd_colrange j;
+  
+  /* Initialize T and nbindex */
+  for (j=1; j<=d_size; j++) nbindex[j]=-j;
+  nbindex[rhscol]=0; 
+    /* RHS is already in nonbasis and is considered to be associated
+       with the zero-th row of input. */
+  dd_SetToIdentity(d_size,T);
+  
+  /* Set the bflag according to nbindex */
+  for (i=1; i<=m_size; i++) bflag[i]=-1;  
+    /* all basic variables have index -1 */
+  bflag[objrow]= 0; 
+    /* bflag of the objective variable is 0,
+       different from other basic variables which have -1 */
+  for (j=1; j<=d_size; j++) if (nbindex[j]>0) bflag[nbindex[j]]=j;
+    /* bflag of a nonbasic variable is its column number */
+
+}
+
+void dd_SelectCrissCrossPivot(dd_rowrange m_size,dd_colrange d_size,dd_Amatrix A,dd_Bmatrix T,
+    dd_rowindex bflag,dd_rowrange objrow,dd_colrange rhscol,
+    dd_rowrange *r,dd_colrange *s,
+    int *selected,dd_LPStatusType *lps)
+{
+  int colselected=dd_FALSE,rowselected=dd_FALSE;
+  dd_rowrange i;
+  mytype val;
+  
+  dd_init(val);
+  *selected=dd_FALSE;
+  *lps=dd_LPSundecided;
+  while ((*lps==dd_LPSundecided) && (!rowselected) && (!colselected)) {
+    for (i=1; i<=m_size; i++) {
+      if (i!=objrow && bflag[i]==-1) {  /* i is a basic variable */
+        dd_TableauEntry(&val,m_size,d_size,A,T,i,rhscol);
+        if (dd_Negative(val)) {
+          rowselected=dd_TRUE;
+          *r=i;
+          break;
+        }
+      }
+      else if (bflag[i] >0) { /* i is nonbasic variable */
+        dd_TableauEntry(&val,m_size,d_size,A,T,objrow,bflag[i]);
+        if (dd_Positive(val)) {
+          colselected=dd_TRUE;
+          *s=bflag[i];
+          break;
+        }
+      }
+    }
+    if  ((!rowselected) && (!colselected)) {
+      *lps=dd_Optimal;
+      return;
+    }
+    else if (rowselected) {
+     for (i=1; i<=m_size; i++) {
+       if (bflag[i] >0) { /* i is nonbasic variable */
+          dd_TableauEntry(&val,m_size,d_size,A,T,*r,bflag[i]);
+          if (dd_Positive(val)) {
+            colselected=dd_TRUE;
+            *s=bflag[i];
+            *selected=dd_TRUE;
+            break;
+          }
+        }
+      }
+    }
+    else if (colselected) {
+      for (i=1; i<=m_size; i++) {
+        if (i!=objrow && bflag[i]==-1) {  /* i is a basic variable */
+          dd_TableauEntry(&val,m_size,d_size,A,T,i,*s);
+          if (dd_Negative(val)) {
+            rowselected=dd_TRUE;
+            *r=i;
+            *selected=dd_TRUE;
+            break;
+          }
+        }
+      }
+    }
+    if (!rowselected) {
+      *lps=dd_DualInconsistent;
+    }
+    else if (!colselected) {
+      *lps=dd_Inconsistent;
+    }
+  }
+  dd_clear(val);
+}
+
+void dd_CrissCrossSolve(dd_LPPtr lp, dd_ErrorType *err)
+{
+  switch (lp->objective) {
+    case dd_LPmax:
+         dd_CrissCrossMaximize(lp,err);
+      break;
+      
+    case dd_LPmin:
+         dd_CrissCrossMinimize(lp,err);
+      break;
+
+    case dd_LPnone: *err=dd_NoLPObjective; break;
+  }
+
+}
+
+void dd_DualSimplexSolve(dd_LPPtr lp, dd_ErrorType *err)
+{
+  switch (lp->objective) {
+    case dd_LPmax:
+         dd_DualSimplexMaximize(lp,err);
+      break;
+      
+    case dd_LPmin:
+         dd_DualSimplexMinimize(lp,err);
+      break;
+
+    case dd_LPnone: *err=dd_NoLPObjective; break;
+  }
+}
+
+#ifdef GMPRATIONAL
+
+dd_LPStatusType LPSf2LPS(ddf_LPStatusType lpsf)
+{
+   dd_LPStatusType lps=dd_LPSundecided;
+
+   switch (lpsf) {
+   case ddf_LPSundecided: lps=dd_LPSundecided; break;
+   case ddf_Optimal: lps=dd_Optimal; break;
+   case ddf_Inconsistent: lps=dd_Inconsistent; break; 
+   case ddf_DualInconsistent: lps=dd_DualInconsistent; break;
+   case ddf_StrucInconsistent: lps=dd_StrucInconsistent; break; 
+   case ddf_StrucDualInconsistent: lps=dd_StrucDualInconsistent; break;
+   case ddf_Unbounded: lps=dd_Unbounded; break;
+   case ddf_DualUnbounded: lps=dd_DualUnbounded; break;
+   }
+   return lps;
+}
+
+
+void dd_BasisStatus(ddf_LPPtr lpf, dd_LPPtr lp, dd_boolean *LPScorrect)
+{
+  int i;
+  dd_colrange se, j;
+  dd_boolean basisfound; 
+ 
+  switch (lp->objective) {
+    case dd_LPmax:
+      dd_BasisStatusMaximize(lp->m,lp->d,lp->A,lp->B,lp->equalityset,lp->objrow,lp->rhscol,
+           lpf->LPS,&(lp->optvalue),lp->sol,lp->dsol,lp->posset_extra,lpf->nbindex,lpf->re,lpf->se,&se,lp->pivots, 
+           &basisfound, LPScorrect);
+      if (*LPScorrect) {
+         /* printf("BasisStatus Check: the current basis is verified with GMP\n"); */
+         lp->LPS=LPSf2LPS(lpf->LPS);
+         lp->re=lpf->re;
+         lp->se=se;
+         for (j=1; j<=lp->d; j++) lp->nbindex[j]=lpf->nbindex[j]; 
+      }
+      for (i=1; i<=5; i++) lp->pivots[i-1]+=lpf->pivots[i-1]; 
+      break;
+    case dd_LPmin:
+      dd_BasisStatusMinimize(lp->m,lp->d,lp->A,lp->B,lp->equalityset,lp->objrow,lp->rhscol,
+           lpf->LPS,&(lp->optvalue),lp->sol,lp->dsol,lp->posset_extra,lpf->nbindex,lpf->re,lpf->se,&se,lp->pivots, 
+           &basisfound, LPScorrect);
+      if (*LPScorrect) {
+         /* printf("BasisStatus Check: the current basis is verified with GMP\n"); */
+         lp->LPS=LPSf2LPS(lpf->LPS);
+         lp->re=lpf->re;
+         lp->se=se;
+         for (j=1; j<=lp->d; j++) lp->nbindex[j]=lpf->nbindex[j]; 
+      }
+      for (i=1; i<=5; i++) lp->pivots[i-1]+=lpf->pivots[i-1]; 
+      break;
+    case dd_LPnone:  break;
+   }      
+}
+#endif
+
+void dd_FindLPBasis(dd_rowrange m_size,dd_colrange d_size,
+    dd_Amatrix A, dd_Bmatrix T,dd_rowindex OV,dd_rowset equalityset, dd_colindex nbindex,
+    dd_rowindex bflag,dd_rowrange objrow,dd_colrange rhscol,
+    dd_colrange *cs,int *found,dd_LPStatusType *lps,long *pivot_no)
+{ 
+  /* Find a LP basis using Gaussian pivots.
+     If the problem has an LP basis,
+     the procedure returns *found=dd_TRUE,*lps=LPSundecided and an LP basis.
+     If the constraint matrix A (excluding the rhs and objective) is not
+     column independent, there are two cases.  If the dependency gives a dual
+     inconsistency, this returns *found=dd_FALSE, *lps=dd_StrucDualInconsistent and 
+     the evidence column *s.  Otherwise, this returns *found=dd_TRUE, 
+     *lps=LPSundecided and an LP basis of size less than d_size.  Columns j
+     that do not belong to the basis (i.e. cannot be chosen as pivot because
+     they are all zero) will be indicated in nbindex vector: nbindex[j] will
+     be negative and set to -j.
+  */
+  int chosen,stop;
+  long pivots_p0=0,rank;
+  colset ColSelected;
+  rowset RowSelected;
+  mytype val;
+
+  dd_rowrange r;
+  dd_colrange j,s;
+
+  dd_init(val);
+  *found=dd_FALSE; *cs=0; rank=0;
+  stop=dd_FALSE;
+  *lps=dd_LPSundecided;
+
+  set_initialize(&RowSelected,m_size);
+  set_initialize(&ColSelected,d_size);
+  set_addelem(RowSelected,objrow);
+  set_addelem(ColSelected,rhscol);
+
+  stop=dd_FALSE;
+  do {   /* Find a LP basis */
+    dd_SelectPivot2(m_size,d_size,A,T,dd_MinIndex,OV,equalityset,
+      m_size,RowSelected,ColSelected,&r,&s,&chosen);
+    if (chosen) {
+      set_addelem(RowSelected,r);
+      set_addelem(ColSelected,s);
+      dd_GaussianColumnPivot2(m_size,d_size,A,T,nbindex,bflag,r,s);
+      pivots_p0++;
+      rank++;
+    } else {
+      for (j=1;j<=d_size  && *lps==dd_LPSundecided; j++) {
+        if (j!=rhscol && nbindex[j]<0){
+          dd_TableauEntry(&val,m_size,d_size,A,T,objrow,j);
+          if (dd_Nonzero(val)){  /* dual inconsistent */
+            *lps=dd_StrucDualInconsistent;
+            *cs=j;
+            /* dual inconsistent because the nonzero reduced cost */
+          }
+        }
+      }
+      if (*lps==dd_LPSundecided) *found=dd_TRUE;  
+         /* dependent columns but not dual inconsistent. */
+      stop=dd_TRUE;
+    }
+    /* printf("d_size=%ld, rank=%ld\n",d_size,rank); */
+    if (rank==d_size-1) {
+      stop = dd_TRUE;
+      *found=dd_TRUE;
+    }
+  } while (!stop);
+
+  *pivot_no=pivots_p0;
+  dd_statBApivots+=pivots_p0;
+  set_free(RowSelected);
+  set_free(ColSelected);
+  dd_clear(val);
+}
+
+
+void dd_FindLPBasis2(dd_rowrange m_size,dd_colrange d_size,
+    dd_Amatrix A, dd_Bmatrix T,dd_rowindex OV,dd_rowset equalityset, dd_colindex nbindex,
+    dd_rowindex bflag,dd_rowrange objrow,dd_colrange rhscol,
+    dd_colrange *cs,int *found,long *pivot_no)
+{ 
+  /* Similar to dd_FindLPBasis but it is much simpler.  This tries to recompute T for
+  the specified basis given by nbindex.  It will return *found=dd_FALSE if the specified
+  basis is not a basis.
+  */
+  int chosen,stop;
+  long pivots_p0=0,rank;
+  dd_colset ColSelected,DependentCols;
+  dd_rowset RowSelected, NopivotRow;
+  mytype val;
+  dd_boolean localdebug=dd_FALSE;
+
+  dd_rowrange r,negcount=0;
+  dd_colrange j,s;
+
+  dd_init(val);
+  *found=dd_FALSE; *cs=0; rank=0;
+
+  set_initialize(&RowSelected,m_size);
+  set_initialize(&DependentCols,d_size);
+  set_initialize(&ColSelected,d_size);
+  set_initialize(&NopivotRow,m_size);
+  set_addelem(RowSelected,objrow);
+  set_addelem(ColSelected,rhscol);
+  set_compl(NopivotRow, NopivotRow);  /* set NopivotRow to be the groundset */
+  
+  for (j=2; j<=d_size; j++) 
+    if (nbindex[j]>0) 
+       set_delelem(NopivotRow, nbindex[j]);
+    else if (nbindex[j]<0){ 
+       negcount++;       
+       set_addelem(DependentCols, -nbindex[j]); 
+       set_addelem(ColSelected, -nbindex[j]); 
+    }
+ 
+  set_uni(RowSelected, RowSelected, NopivotRow);  /* RowSelected is the set of rows not allowed to poviot on */
+
+  stop=dd_FALSE;
+  do {   /* Find a LP basis */
+    dd_SelectPivot2(m_size,d_size,A,T,dd_MinIndex,OV,equalityset, m_size,RowSelected,ColSelected,&r,&s,&chosen);
+    if (chosen) {
+      set_addelem(RowSelected,r);
+      set_addelem(ColSelected,s);
+
+      dd_GaussianColumnPivot2(m_size,d_size,A,T,nbindex,bflag,r,s);
+      if (localdebug && m_size <=10){
+        dd_WriteBmatrix(stderr,d_size,T);
+        dd_WriteTableau(stderr,m_size,d_size,A,T,nbindex,bflag);
+      }
+      pivots_p0++;
+      rank++;
+    } else{
+      *found=dd_FALSE;   /* cannot pivot on any of the spacified positions. */
+      stop=dd_TRUE;
+    }
+    if (rank==d_size-1-negcount) {
+      if (negcount){
+        /* Now it tries to pivot on rows that are supposed to be dependent. */ 
+        set_diff(ColSelected, ColSelected, DependentCols); 
+        dd_SelectPivot2(m_size,d_size,A,T,dd_MinIndex,OV,equalityset, m_size,RowSelected,ColSelected,&r,&s,&chosen);
+        if (chosen) *found=dd_FALSE;  /* not supposed to be independent */
+        else *found=dd_TRUE;
+        if (localdebug){
+          printf("Try to check the dependent cols:");
+          set_write(DependentCols);
+          if (chosen) printf("They are not dependent.  Can still pivot on (%ld, %ld)\n",r, s);
+          else printf("They are indeed dependent.\n");
+        }
+      } else {
+        *found=dd_TRUE;
+     }   
+     stop = dd_TRUE;
+    }
+  } while (!stop);
+
+  for (j=1; j<=d_size; j++) if (nbindex[j]>0) bflag[nbindex[j]]=j;
+  *pivot_no=pivots_p0;
+  set_free(RowSelected);
+  set_free(ColSelected);
+  set_free(NopivotRow);
+  set_free(DependentCols);
+  dd_clear(val);
+}
+
+void dd_FindDualFeasibleBasis(dd_rowrange m_size,dd_colrange d_size,
+    dd_Amatrix A,dd_Bmatrix T,dd_rowindex OV,
+    dd_colindex nbindex,dd_rowindex bflag,dd_rowrange objrow,dd_colrange rhscol, dd_boolean lexicopivot,
+    dd_colrange *s,dd_ErrorType *err,dd_LPStatusType *lps,long *pivot_no, long maxpivots)
+{ 
+  /* Find a dual feasible basis using Phase I of Dual Simplex method.
+     If the problem is dual feasible,
+     the procedure returns *err=NoError, *lps=LPSundecided and a dual feasible
+     basis.   If the problem is dual infeasible, this returns
+     *err=NoError, *lps=DualInconsistent and the evidence column *s.
+     Caution: matrix A must have at least one extra row:  the row space A[m_size] must
+     have been allocated.
+  */
+  dd_boolean phase1,dualfeasible=dd_TRUE;
+  dd_boolean localdebug=dd_FALSE,chosen,stop;
+  dd_LPStatusType LPSphase1;
+  long pivots_p1=0;
+  dd_rowrange i,r_val;
+  dd_colrange j,l,ms=0,s_val,local_m_size;
+  mytype x,val,maxcost,axvalue,maxratio;
+  static dd_colrange d_last=0;
+  static dd_Arow rcost;
+  static dd_colindex nbindex_ref; /* to be used to store the initial feasible basis for lexico rule */
+
+  mytype scaling,svalue;  /* random scaling mytype value */
+  mytype minval;
+
+  if (dd_debug) localdebug=dd_debug;
+  dd_init(x); dd_init(val); dd_init(scaling); dd_init(svalue);  dd_init(axvalue);
+  dd_init(maxcost);  dd_set(maxcost,dd_minuszero);
+  dd_init(maxratio);  dd_set(maxratio,dd_minuszero);
+  if (d_last<d_size) {
+    if (d_last>0) {
+      for (j=1; j<=d_last; j++){ dd_clear(rcost[j-1]);}
+      free(rcost);
+      free(nbindex_ref);
+    }
+    rcost=(mytype*) calloc(d_size,sizeof(mytype));
+    nbindex_ref=(long*) calloc(d_size+1,sizeof(long));
+    for (j=1; j<=d_size; j++){ dd_init(rcost[j-1]);}
+    d_last=d_size;
+  }
+
+  *err=dd_NoError; *lps=dd_LPSundecided; *s=0;
+  local_m_size=m_size+1;  /* increase m_size by 1 */
+
+  ms=0;  /* ms will be the index of column which has the largest reduced cost */
+  for (j=1; j<=d_size; j++){
+    if (j!=rhscol){
+      dd_TableauEntry(&(rcost[j-1]),local_m_size,d_size,A,T,objrow,j);
+      if (dd_Larger(rcost[j-1],maxcost)) {dd_set(maxcost,rcost[j-1]); ms = j;}
+    }
+  }
+  if (dd_Positive(maxcost)) dualfeasible=dd_FALSE;
+
+  if (!dualfeasible){
+    for (j=1; j<=d_size; j++){
+      dd_set(A[local_m_size-1][j-1], dd_purezero);
+      for (l=1; l<=d_size; l++){
+        if (nbindex[l]>0) {
+          dd_set_si(scaling,l+10);
+          dd_mul(svalue,A[nbindex[l]-1][j-1],scaling); 
+          dd_sub(A[local_m_size-1][j-1],A[local_m_size-1][j-1],svalue); 
+          /* To make the auxiliary row (0,-11,-12,...,-d-10).
+             It is likely to be better than  (0, -1, -1, ..., -1)
+             to avoid a degenerate LP.  Version 093c. */
+        }
+      }
+    }
+    
+    if (localdebug){
+      fprintf(stderr,"\ndd_FindDualFeasibleBasis: curruent basis is not dual feasible.\n");
+      fprintf(stderr,"because of the column %ld assoc. with var %ld   dual cost =",
+       ms,nbindex[ms]);
+      dd_WriteNumber(stderr, maxcost);
+      if (localdebug) {
+        if (m_size <=100 && d_size <=30){
+          printf("\ndd_FindDualFeasibleBasis: the starting dictionary.\n");
+          dd_WriteTableau(stdout,m_size+1,d_size,A,T,nbindex,bflag);
+        }
+      }
+    }
+    
+    ms=0; 
+     /* Ratio Test: ms will be now the index of column which has the largest reduced cost 
+        over the auxiliary row entry */
+    for (j=1; j<=d_size; j++){
+      if ((j!=rhscol) && dd_Positive(rcost[j-1])){
+        dd_TableauEntry(&axvalue,local_m_size,d_size,A,T,local_m_size,j);
+        if (dd_Nonnegative(axvalue)) {
+          *err=dd_NumericallyInconsistent; 
+           /* This should not happen as they are set negative above.  Quit the phase I.*/
+          if (localdebug) fprintf(stderr,"dd_FindDualFeasibleBasis: Numerical Inconsistency detected.\n");
+          goto _L99;
+        }
+        dd_neg(axvalue,axvalue);
+        dd_div(axvalue,rcost[j-1],axvalue);  /* axvalue is the negative of ratio that is to be maximized. */
+        if (dd_Larger(axvalue,maxratio)) {
+          dd_set(maxratio,axvalue); 
+          ms = j;
+        }
+      }
+    }
+
+    if (ms==0) {
+      *err=dd_NumericallyInconsistent; /* This should not happen. Quit the phase I.*/
+      if (localdebug) fprintf(stderr,"dd_FindDualFeasibleBasis: Numerical Inconsistency detected.\n");
+      goto _L99;
+    }
+
+    /* Pivot on (local_m_size,ms) so that the dual basic solution becomes feasible */
+    dd_GaussianColumnPivot2(local_m_size,d_size,A,T,nbindex,bflag,local_m_size,ms);
+    pivots_p1=pivots_p1+1;
+    if (localdebug) {
+      printf("\ndd_FindDualFeasibleBasis: Pivot on %ld %ld.\n",local_m_size,ms);
+    }
+
+  for (j=1; j<=d_size; j++) nbindex_ref[j]=nbindex[j];
+     /* set the reference basis to be the current feasible basis. */
+  if (localdebug){
+    fprintf(stderr, "Store the current feasible basis:");
+    for (j=1; j<=d_size; j++) fprintf(stderr, " %ld", nbindex_ref[j]);
+    fprintf(stderr, "\n");   
+    if (m_size <=100 && d_size <=30)
+      dd_WriteSignTableau2(stdout,m_size+1,d_size,A,T,nbindex_ref,nbindex,bflag);
+  }
+
+    phase1=dd_TRUE; stop=dd_FALSE;
+    do {   /* Dual Simplex Phase I */
+      chosen=dd_FALSE; LPSphase1=dd_LPSundecided;
+      if (pivots_p1>maxpivots) {
+        *err=dd_LPCycling;
+        fprintf(stderr,"max number %ld of pivots performed in Phase I. Switch to the anticycling phase.\n", maxpivots);
+        goto _L99;  /* failure due to max no. of pivots performed */
+      }
+      dd_SelectDualSimplexPivot(local_m_size,d_size,phase1,A,T,OV,nbindex_ref,nbindex,bflag,
+        objrow,rhscol,lexicopivot,&r_val,&s_val,&chosen,&LPSphase1);
+      if (!chosen) {
+        /* The current dictionary is terminal.  There are two cases:
+           dd_TableauEntry(local_m_size,d_size,A,T,objrow,ms) is negative or zero.
+           The first case implies dual infeasible,
+           and the latter implies dual feasible but local_m_size is still in nonbasis.
+           We must pivot in the auxiliary variable local_m_size. 
+        */
+        dd_TableauEntry(&x,local_m_size,d_size,A,T,objrow,ms);
+        if (dd_Negative(x)){
+          *err=dd_NoError; *lps=dd_DualInconsistent;  *s=ms;
+        }
+        if (localdebug) {
+          fprintf(stderr,"\ndd_FindDualFeasibleBasis: the auxiliary variable was forced to enter the basis (# pivots = %ld).\n",pivots_p1);
+          fprintf(stderr," -- objrow %ld, ms %ld entry: ",objrow,ms);
+          dd_WriteNumber(stderr, x); fprintf(stderr,"\n");
+          if (dd_Negative(x)){
+            fprintf(stderr,"->The basis is dual inconsistent. Terminate.\n");
+          } else {
+            fprintf(stderr,"->The basis is feasible. Go to phase II.\n");
+          }
+        }
+
+        dd_init(minval);
+        r_val=0;
+        for (i=1; i<=local_m_size; i++){
+          if (bflag[i]<0) { 
+             /* i is basic and not the objective variable */
+            dd_TableauEntry(&val,local_m_size,d_size,A,T,i,ms);  /* auxiliary column*/
+            if (dd_Smaller(val, minval)) {
+              r_val=i;
+              dd_set(minval,val);
+            }
+          }
+        }
+        dd_clear(minval);
+        
+        if (r_val==0) {
+          *err=dd_NumericallyInconsistent; /* This should not happen. Quit the phase I.*/
+          if (localdebug) fprintf(stderr,"dd_FindDualFeasibleBasis: Numerical Inconsistency detected (r_val is 0).\n");
+          goto _L99;
+        }
+
+        dd_GaussianColumnPivot2(local_m_size,d_size,A,T,nbindex,bflag,r_val,ms);
+        pivots_p1=pivots_p1+1;
+        if (localdebug) {
+          printf("\ndd_FindDualFeasibleBasis: make the %ld-th pivot on %ld  %ld to force the auxiliary variable to enter the basis.\n",pivots_p1,r_val,ms);
+          if (m_size <=100 && d_size <=30)
+            dd_WriteSignTableau2(stdout,m_size+1,d_size,A,T,nbindex_ref,nbindex,bflag);
+        }
+
+        stop=dd_TRUE;
+
+      } else {
+        dd_GaussianColumnPivot2(local_m_size,d_size,A,T,nbindex,bflag,r_val,s_val);  
+        pivots_p1=pivots_p1+1;
+        if (localdebug) {
+          printf("\ndd_FindDualFeasibleBasis: make a %ld-th pivot on %ld  %ld\n",pivots_p1,r_val,s_val);
+          if (m_size <=100 && d_size <=30)
+            dd_WriteSignTableau2(stdout,local_m_size,d_size,A,T,nbindex_ref,nbindex,bflag);
+        }
+
+
+        if (bflag[local_m_size]<0) {
+          stop=dd_TRUE; 
+          if (localdebug) 
+            fprintf(stderr,"\nDualSimplex Phase I: the auxiliary variable entered the basis (# pivots = %ld).\nGo to phase II\n",pivots_p1);
+        }
+      }
+    } while(!stop);
+  }
+_L99:
+  *pivot_no=pivots_p1;
+  dd_statDS1pivots+=pivots_p1;
+  dd_clear(x); dd_clear(val); dd_clear(maxcost); dd_clear(maxratio);
+  dd_clear(scaling); dd_clear(svalue); dd_clear(axvalue);
+}
+
+void dd_DualSimplexMinimize(dd_LPPtr lp,dd_ErrorType *err)
+{
+   dd_colrange j;
+
+   *err=dd_NoError;
+   for (j=1; j<=lp->d; j++)
+     dd_neg(lp->A[lp->objrow-1][j-1],lp->A[lp->objrow-1][j-1]);
+   dd_DualSimplexMaximize(lp,err);
+   dd_neg(lp->optvalue,lp->optvalue);
+   for (j=1; j<=lp->d; j++){
+     if (lp->LPS!=dd_Inconsistent) {
+	   /* Inconsistent certificate stays valid for minimization, 0.94e */
+	   dd_neg(lp->dsol[j-1],lp->dsol[j-1]);
+	 }
+     dd_neg(lp->A[lp->objrow-1][j-1],lp->A[lp->objrow-1][j-1]);
+   }
+}
+
+void dd_DualSimplexMaximize(dd_LPPtr lp,dd_ErrorType *err)
+/* 
+When LP is inconsistent then lp->re returns the evidence row.
+When LP is dual-inconsistent then lp->se returns the evidence column.
+*/
+{
+  int stop,chosen,phase1,found;
+  long pivots_ds=0,pivots_p0=0,pivots_p1=0,pivots_pc=0,maxpivots,maxpivfactor=20;
+  dd_boolean localdebug=dd_FALSE,localdebug1=dd_FALSE;
+
+#if !defined GMPRATIONAL
+  long maxccpivots,maxccpivfactor=100; 
+    /* criss-cross should not cycle, but with floating-point arithmetics, it happens
+       (very rarely).  Jorg Rambau reported such an LP, in August 2003.  Thanks Jorg!
+    */
+#endif
+
+  dd_rowrange i,r;
+  dd_colrange j,s;
+  static dd_rowindex bflag;
+  static long mlast=0,nlast=0;
+  static dd_rowindex OrderVector;  /* the permutation vector to store a preordered row indeces */
+  static dd_colindex nbindex_ref; /* to be used to store the initial feasible basis for lexico rule */
+
+  double redpercent=0,redpercent_prev=0,redgain=0;
+  unsigned int rseed=1;
+  
+  /* *err=dd_NoError; */
+  if (dd_debug) localdebug=dd_debug;
+  set_emptyset(lp->redset_extra);
+  for (i=0; i<= 4; i++) lp->pivots[i]=0;
+  maxpivots=maxpivfactor*lp->d;  /* maximum pivots to be performed before cc pivot is applied. */
+#if !defined GMPRATIONAL
+  maxccpivots=maxccpivfactor*lp->d;  /* maximum pivots to be performed with emergency cc pivots. */
+#endif
+  if (mlast!=lp->m || nlast!=lp->d){
+     if (mlast>0) { /* called previously with different lp->m */
+       free(OrderVector);
+       free(bflag);
+       free(nbindex_ref);
+     }
+     OrderVector=(long *)calloc(lp->m+1,sizeof(*OrderVector));
+     bflag=(long *) calloc(lp->m+2,sizeof(*bflag));  /* one more element for an auxiliary variable  */
+     nbindex_ref=(long*) calloc(lp->d+1,sizeof(long));
+     mlast=lp->m;nlast=lp->d;
+  }
+  /* Initializing control variables. */
+  dd_ComputeRowOrderVector2(lp->m,lp->d,lp->A,OrderVector,dd_MinIndex,rseed);
+
+  lp->re=0; lp->se=0;
+  
+  dd_ResetTableau(lp->m,lp->d,lp->B,lp->nbindex,bflag,lp->objrow,lp->rhscol);
+   
+  dd_FindLPBasis(lp->m,lp->d,lp->A,lp->B,OrderVector,lp->equalityset,lp->nbindex,bflag,
+      lp->objrow,lp->rhscol,&s,&found,&(lp->LPS),&pivots_p0);
+  lp->pivots[0]=pivots_p0;
+
+  if (!found){
+     lp->se=s;
+     goto _L99;
+     /* No LP basis is found, and thus Inconsistent.  
+     Output the evidence column. */
+  }
+
+  dd_FindDualFeasibleBasis(lp->m,lp->d,lp->A,lp->B,OrderVector,lp->nbindex,bflag,
+      lp->objrow,lp->rhscol,lp->lexicopivot,&s, err,&(lp->LPS),&pivots_p1, maxpivots);
+  lp->pivots[1]=pivots_p1;
+
+  for (j=1; j<=lp->d; j++) nbindex_ref[j]=lp->nbindex[j];
+     /* set the reference basis to be the current feasible basis. */
+  if (localdebug){
+    fprintf(stderr, "dd_DualSimplexMaximize: Store the current feasible basis:");
+    for (j=1; j<=lp->d; j++) fprintf(stderr, " %ld", nbindex_ref[j]);
+    fprintf(stderr, "\n");
+    if (lp->m <=100 && lp->d <=30)
+      dd_WriteSignTableau2(stdout,lp->m+1,lp->d,lp->A,lp->B,nbindex_ref,lp->nbindex,bflag); 
+  }
+  
+  if (*err==dd_LPCycling || *err==dd_NumericallyInconsistent){
+    if (localdebug) fprintf(stderr, "Phase I failed and thus switch to the Criss-Cross method\n");
+    dd_CrissCrossMaximize(lp,err);
+    return;
+  }
+
+  if (lp->LPS==dd_DualInconsistent){
+     lp->se=s;
+     goto _L99;
+     /* No dual feasible basis is found, and thus DualInconsistent.  
+     Output the evidence column. */
+  }
+
+  /* Dual Simplex Method */
+  stop=dd_FALSE;
+  do {
+    chosen=dd_FALSE; lp->LPS=dd_LPSundecided; phase1=dd_FALSE;
+    if (pivots_ds<maxpivots) {
+      dd_SelectDualSimplexPivot(lp->m,lp->d,phase1,lp->A,lp->B,OrderVector,nbindex_ref,lp->nbindex,bflag,
+        lp->objrow,lp->rhscol,lp->lexicopivot,&r,&s,&chosen,&(lp->LPS));
+    }
+    if (chosen) {
+      pivots_ds=pivots_ds+1;
+      if (lp->redcheck_extensive) {
+        dd_GetRedundancyInformation(lp->m,lp->d,lp->A,lp->B,lp->nbindex, bflag, lp->redset_extra);
+        set_uni(lp->redset_accum, lp->redset_accum,lp->redset_extra);
+        redpercent=100*(double)set_card(lp->redset_extra)/(double)lp->m;
+        redgain=redpercent-redpercent_prev;
+        redpercent_prev=redpercent;
+        if (localdebug1){
+          fprintf(stderr,"\ndd_DualSimplexMaximize: Phase II pivot %ld on (%ld, %ld).\n",pivots_ds,r,s);
+          fprintf(stderr,"  redundancy %f percent: redset size = %ld\n",redpercent,set_card(lp->redset_extra));
+        }
+      }
+    }
+    if (!chosen && lp->LPS==dd_LPSundecided) {  
+      if (localdebug1){
+         fprintf(stderr,"Warning: an emergency CC pivot in Phase II is performed\n");
+         /* In principle this should not be executed because we already have dual feasibility
+            attained and dual simplex pivot should have been chosen.  This might occur
+            under floating point computation, or the case of cycling.
+         */
+      if (localdebug && lp->m <=100 && lp->d <=30){
+          fprintf(stderr,"\ndd_DualSimplexMaximize: The current dictionary.\n");
+          dd_WriteSignTableau2(stdout,lp->m,lp->d,lp->A,lp->B,nbindex_ref,lp->nbindex,bflag);
+      }
+    }
+
+#if !defined GMPRATIONAL
+      if (pivots_pc>maxccpivots) {
+        *err=dd_LPCycling;
+        stop=dd_TRUE;
+        goto _L99;
+      }
+#endif
+      
+      dd_SelectCrissCrossPivot(lp->m,lp->d,lp->A,lp->B,bflag,
+        lp->objrow,lp->rhscol,&r,&s,&chosen,&(lp->LPS));
+      if (chosen) pivots_pc=pivots_pc+1;
+    }
+    if (chosen) {
+      dd_GaussianColumnPivot2(lp->m,lp->d,lp->A,lp->B,lp->nbindex,bflag,r,s);
+      if (localdebug && lp->m <=100 && lp->d <=30){
+          fprintf(stderr,"\ndd_DualSimplexMaximize: The current dictionary.\n");
+          dd_WriteSignTableau2(stdout,lp->m,lp->d,lp->A,lp->B,nbindex_ref,lp->nbindex,bflag);
+      }
+    } else {
+      switch (lp->LPS){
+        case dd_Inconsistent: lp->re=r;
+        case dd_DualInconsistent: lp->se=s;
+
+        default: break;
+      }
+      stop=dd_TRUE;
+    }
+  } while(!stop);
+_L99: 
+  lp->pivots[2]=pivots_ds;
+  lp->pivots[3]=pivots_pc;
+  dd_statDS2pivots+=pivots_ds;
+  dd_statACpivots+=pivots_pc;
+
+  dd_SetSolutions(lp->m,lp->d,lp->A,lp->B,lp->objrow,lp->rhscol,lp->LPS,&(lp->optvalue),lp->sol,lp->dsol,lp->posset_extra,lp->nbindex,lp->re,lp->se,bflag);
+
+}
+
+
+
+void dd_CrissCrossMinimize(dd_LPPtr lp,dd_ErrorType *err)
+{
+   dd_colrange j;
+
+   *err=dd_NoError;
+   for (j=1; j<=lp->d; j++)
+     dd_neg(lp->A[lp->objrow-1][j-1],lp->A[lp->objrow-1][j-1]);
+   dd_CrissCrossMaximize(lp,err);
+   dd_neg(lp->optvalue,lp->optvalue);
+   for (j=1; j<=lp->d; j++){
+     if (lp->LPS!=dd_Inconsistent) {
+	   /* Inconsistent certificate stays valid for minimization, 0.94e */
+	   dd_neg(lp->dsol[j-1],lp->dsol[j-1]);
+	 }
+     dd_neg(lp->A[lp->objrow-1][j-1],lp->A[lp->objrow-1][j-1]);
+   }
+}
+
+void dd_CrissCrossMaximize(dd_LPPtr lp,dd_ErrorType *err)
+/* 
+When LP is inconsistent then lp->re returns the evidence row.
+When LP is dual-inconsistent then lp->se returns the evidence column.
+*/
+{
+  int stop,chosen,found;
+  long pivots0,pivots1;
+#if !defined GMPRATIONAL
+  long maxpivots,maxpivfactor=1000; 
+    /* criss-cross should not cycle, but with floating-point arithmetics, it happens
+       (very rarely).  Jorg Rambau reported such an LP, in August 2003.  Thanks Jorg!
+    */
+#endif
+
+  dd_rowrange i,r;
+  dd_colrange s;
+  static dd_rowindex bflag;
+  static long mlast=0;
+  static dd_rowindex OrderVector;  /* the permutation vector to store a preordered row indeces */
+  unsigned int rseed=1;
+  dd_colindex nbtemp;
+
+  *err=dd_NoError;
+#if !defined GMPRATIONAL
+  maxpivots=maxpivfactor*lp->d;  /* maximum pivots to be performed when floating-point arithmetics is used. */
+#endif
+  nbtemp=(long *) calloc(lp->d+1,sizeof(long));
+  for (i=0; i<= 4; i++) lp->pivots[i]=0;
+  if (bflag==NULL || mlast!=lp->m){
+     if (mlast!=lp->m && mlast>0) {
+       free(bflag);   /* called previously with different lp->m */
+       free(OrderVector);
+     }
+     bflag=(long *) calloc(lp->m+1,sizeof(long));
+     OrderVector=(long *)calloc(lp->m+1,sizeof(long)); 
+     /* initialize only for the first time or when a larger space is needed */
+     
+     mlast=lp->m;
+  }
+  /* Initializing control variables. */
+  dd_ComputeRowOrderVector2(lp->m,lp->d,lp->A,OrderVector,dd_MinIndex,rseed);
+
+  lp->re=0; lp->se=0; pivots1=0;
+
+  dd_ResetTableau(lp->m,lp->d,lp->B,lp->nbindex,bflag,lp->objrow,lp->rhscol);
+
+  dd_FindLPBasis(lp->m,lp->d,lp->A,lp->B,OrderVector,lp->equalityset,
+      lp->nbindex,bflag,lp->objrow,lp->rhscol,&s,&found,&(lp->LPS),&pivots0);
+  lp->pivots[0]+=pivots0;
+
+  if (!found){
+     lp->se=s;
+     goto _L99;
+     /* No LP basis is found, and thus Inconsistent.  
+     Output the evidence column. */
+  }
+
+  stop=dd_FALSE;
+  do {   /* Criss-Cross Method */
+#if !defined GMPRATIONAL
+    if (pivots1>maxpivots) {
+      *err=dd_LPCycling;
+      fprintf(stderr,"max number %ld of pivots performed by the criss-cross method. Most likely due to the floating-point arithmetics error.\n", maxpivots);
+      goto _L99;  /* failure due to max no. of pivots performed */
+    }
+#endif
+
+    dd_SelectCrissCrossPivot(lp->m,lp->d,lp->A,lp->B,bflag,
+       lp->objrow,lp->rhscol,&r,&s,&chosen,&(lp->LPS));
+    if (chosen) {
+      dd_GaussianColumnPivot2(lp->m,lp->d,lp->A,lp->B,lp->nbindex,bflag,r,s);
+      pivots1++;
+    } else {
+      switch (lp->LPS){
+        case dd_Inconsistent: lp->re=r;
+        case dd_DualInconsistent: lp->se=s;
+
+        default: break;
+      }
+      stop=dd_TRUE;
+    }
+  } while(!stop);
+  
+_L99:
+  lp->pivots[1]+=pivots1;
+  dd_statCCpivots+=pivots1;
+  dd_SetSolutions(lp->m,lp->d,lp->A,lp->B,
+   lp->objrow,lp->rhscol,lp->LPS,&(lp->optvalue),lp->sol,lp->dsol,lp->posset_extra,lp->nbindex,lp->re,lp->se,bflag);
+  free(nbtemp);
+}
+
+void dd_SetSolutions(dd_rowrange m_size,dd_colrange d_size,
+   dd_Amatrix A,dd_Bmatrix T,
+   dd_rowrange objrow,dd_colrange rhscol,dd_LPStatusType LPS,
+   mytype *optvalue,dd_Arow sol,dd_Arow dsol,dd_rowset posset, dd_colindex nbindex,
+   dd_rowrange re,dd_colrange se,dd_rowindex bflag)
+/* 
+Assign the solution vectors to sol,dsol,*optvalue after solving
+the LP.
+*/
+{
+  dd_rowrange i;
+  dd_colrange j;
+  mytype x,sw;
+  int localdebug=dd_FALSE;
+  
+  dd_init(x); dd_init(sw);
+  if (localdebug) fprintf(stderr,"SetSolutions:\n");
+  switch (LPS){
+  case dd_Optimal:
+    for (j=1;j<=d_size; j++) {
+      dd_set(sol[j-1],T[j-1][rhscol-1]);
+      dd_TableauEntry(&x,m_size,d_size,A,T,objrow,j);
+      dd_neg(dsol[j-1],x);
+      dd_TableauEntry(optvalue,m_size,d_size,A,T,objrow,rhscol);
+      if (localdebug) {fprintf(stderr,"dsol[%ld]= ",nbindex[j]); dd_WriteNumber(stderr, dsol[j-1]); }
+    }
+    for (i=1; i<=m_size; i++) {
+      if (bflag[i]==-1) {  /* i is a basic variable */
+        dd_TableauEntry(&x,m_size,d_size,A,T,i,rhscol);
+        if (dd_Positive(x)) set_addelem(posset, i);
+      }
+    }
+
+    break;
+  case dd_Inconsistent:
+    if (localdebug) fprintf(stderr,"SetSolutions: LP is inconsistent.\n");
+    for (j=1;j<=d_size; j++) {
+      dd_set(sol[j-1],T[j-1][rhscol-1]);
+      dd_TableauEntry(&x,m_size,d_size,A,T,re,j);
+      dd_neg(dsol[j-1],x);
+      if (localdebug) {fprintf(stderr,"dsol[%ld]=",nbindex[j]); 
+	    dd_WriteNumber(stderr,dsol[j-1]);
+		fprintf(stderr,"\n");
+	  }
+    }
+    break;
+	
+  case dd_DualInconsistent:
+    if (localdebug) printf( "SetSolutions: LP is dual inconsistent.\n");
+    for (j=1;j<=d_size; j++) {
+      dd_set(sol[j-1],T[j-1][se-1]);
+      dd_TableauEntry(&x,m_size,d_size,A,T,objrow,j);
+      dd_neg(dsol[j-1],x);
+      if (localdebug) {fprintf(stderr,"dsol[%ld]=",nbindex[j]);
+	    dd_WriteNumber(stderr,dsol[j-1]);
+		fprintf(stderr,"\n");
+	  }
+    }
+	break;
+
+  case dd_StrucDualInconsistent:
+    dd_TableauEntry(&x,m_size,d_size,A,T,objrow,se);
+    if (dd_Positive(x)) dd_set(sw,dd_one);
+    else dd_neg(sw,dd_one);
+    for (j=1;j<=d_size; j++) {
+      dd_mul(sol[j-1],sw,T[j-1][se-1]);
+      dd_TableauEntry(&x,m_size,d_size,A,T,objrow,j);
+      dd_neg(dsol[j-1],x);
+      if (localdebug) {fprintf(stderr,"dsol[%ld]= ",nbindex[j]);dd_WriteNumber(stderr,dsol[j-1]);}
+    }
+    if (localdebug) fprintf(stderr,"SetSolutions: LP is dual inconsistent.\n");
+    break;
+
+  default:break;
+  }
+  dd_clear(x); dd_clear(sw);
+}
+
+
+void dd_RandomPermutation2(dd_rowindex OV,long t,unsigned int seed)
+{
+  long k,j,ovj;
+  double u,xk,r,rand_max=(double) RAND_MAX;
+  int localdebug=dd_FALSE;
+
+  srand(seed);
+  for (j=t; j>1 ; j--) {
+    r=rand();
+    u=r/rand_max;
+    xk=(double)(j*u +1);
+    k=(long)xk;
+    if (localdebug) fprintf(stderr,"u=%g, k=%ld, r=%g, randmax= %g\n",u,k,r,rand_max);
+    ovj=OV[j];
+    OV[j]=OV[k];
+    OV[k]=ovj;
+    if (localdebug) fprintf(stderr,"row %ld is exchanged with %ld\n",j,k); 
+  }
+}
+
+void dd_ComputeRowOrderVector2(dd_rowrange m_size,dd_colrange d_size,dd_Amatrix A,
+    dd_rowindex OV,dd_RowOrderType ho,unsigned int rseed)
+{
+  long i,itemp;
+  
+  OV[0]=0;
+  switch (ho){
+  case dd_MaxIndex:
+    for(i=1; i<=m_size; i++) OV[i]=m_size-i+1;
+    break;
+
+  case dd_LexMin:
+    for(i=1; i<=m_size; i++) OV[i]=i;
+    dd_QuickSort(OV,1,m_size,A,d_size);
+   break;
+
+  case dd_LexMax:
+    for(i=1; i<=m_size; i++) OV[i]=i;
+    dd_QuickSort(OV,1,m_size,A,d_size);
+    for(i=1; i<=m_size/2;i++){   /* just reverse the order */
+      itemp=OV[i];
+      OV[i]=OV[m_size-i+1];
+      OV[m_size-i+1]=itemp;
+    }
+    break;
+
+  case dd_RandomRow:
+    for(i=1; i<=m_size; i++) OV[i]=i;
+    if (rseed<=0) rseed=1;
+    dd_RandomPermutation2(OV,m_size,rseed);
+    break;
+
+  case dd_MinIndex: 
+    for(i=1; i<=m_size; i++) OV[i]=i;
+    break;
+
+  default: 
+    for(i=1; i<=m_size; i++) OV[i]=i;
+    break;
+ }
+}
+
+void dd_SelectPreorderedNext2(dd_rowrange m_size,dd_colrange d_size,
+    rowset excluded,dd_rowindex OV,dd_rowrange *hnext)
+{
+  dd_rowrange i,k;
+  
+  *hnext=0;
+  for (i=1; i<=m_size && *hnext==0; i++){
+    k=OV[i];
+    if (!set_member(k,excluded)) *hnext=k ;
+  }
+}
+
+#ifdef GMPRATIONAL
+
+ddf_LPObjectiveType Obj2Obj(dd_LPObjectiveType obj)
+{
+   ddf_LPObjectiveType objf=ddf_LPnone;
+
+   switch (obj) {
+   case dd_LPnone: objf=ddf_LPnone; break;
+   case dd_LPmax: objf=ddf_LPmax; break;
+   case dd_LPmin: objf=ddf_LPmin; break;
+   }
+   return objf;
+}
+
+ddf_LPPtr dd_LPgmp2LPf(dd_LPPtr lp)
+{
+  dd_rowrange i;
+  dd_colrange j;
+  ddf_LPType *lpf;
+  double val;
+  dd_boolean localdebug=dd_FALSE;
+
+  if (localdebug) fprintf(stderr,"Converting a GMP-LP to a float-LP.\n");
+  
+  lpf=ddf_CreateLPData(Obj2Obj(lp->objective), ddf_Real, lp->m, lp->d);
+  lpf->Homogeneous = lp->Homogeneous;
+  lpf->eqnumber=lp->eqnumber;  /* this records the number of equations */
+
+  for (i = 1; i <= lp->m; i++) {
+    if (set_member(i, lp->equalityset)) set_addelem(lpf->equalityset,i);    
+          /* it is equality. Its reversed row will not be in this set */
+      for (j = 1; j <= lp->d; j++) {
+        val=mpq_get_d(lp->A[i-1][j-1]);
+        ddf_set_d(lpf->A[i-1][j-1],val);
+      }  /*of j*/
+  }  /*of i*/
+
+  return lpf;
+}
+
+
+#endif
+
+
+dd_boolean dd_LPSolve(dd_LPPtr lp,dd_LPSolverType solver,dd_ErrorType *err)
+/* 
+The current version of dd_LPSolve that solves an LP with floating-arithmetics first
+and then with the specified arithimetics if it is GMP.
+
+When LP is inconsistent then *re returns the evidence row.
+When LP is dual-inconsistent then *se returns the evidence column.
+*/
+{
+  int i;
+  dd_boolean found=dd_FALSE;
+#ifdef GMPRATIONAL
+  ddf_LPPtr lpf;
+  ddf_ErrorType errf;
+  dd_boolean LPScorrect=dd_FALSE;
+  dd_boolean localdebug=dd_FALSE;
+  if (dd_debug) localdebug=dd_debug;
+#endif
+
+  *err=dd_NoError;
+  lp->solver=solver;
+  
+   time(&lp->starttime);
+
+#ifndef GMPRATIONAL
+  switch (lp->solver) {
+    case dd_CrissCross:
+      dd_CrissCrossSolve(lp,err);
+      break;
+    case dd_DualSimplex:
+      dd_DualSimplexSolve(lp,err);
+      break;
+  }
+#else
+  lpf=dd_LPgmp2LPf(lp);
+  switch (lp->solver) {
+    case dd_CrissCross:
+      ddf_CrissCrossSolve(lpf,&errf);    /* First, run with double float. */
+	  if (errf==ddf_NoError){   /* 094a:  fix for a bug reported by Dima Pasechnik */
+        dd_BasisStatus(lpf,lp, &LPScorrect);    /* Check the basis. */
+	  } else {LPScorrect=dd_FALSE;}
+      if (!LPScorrect) {
+         if (localdebug) printf("BasisStatus: the current basis is NOT verified with GMP. Rerun with GMP.\n");
+         dd_CrissCrossSolve(lp,err);  /* Rerun with GMP if fails. */
+      } else {
+         if (localdebug) printf("BasisStatus: the current basis is verified with GMP. The LP Solved.\n");
+      }
+      break;
+    case dd_DualSimplex:
+      ddf_DualSimplexSolve(lpf,&errf);    /* First, run with double float. */
+	  if (errf==ddf_NoError){   /* 094a:  fix for a bug reported by Dima Pasechnik */
+        dd_BasisStatus(lpf,lp, &LPScorrect);    /* Check the basis. */
+	  } else {LPScorrect=dd_FALSE;}
+      if (!LPScorrect){
+         if (localdebug) printf("BasisStatus: the current basis is NOT verified with GMP. Rerun with GMP.\n");
+         dd_DualSimplexSolve(lp,err);  /* Rerun with GMP if fails. */
+         if (localdebug){
+            printf("*total number pivots = %ld (ph0 = %ld, ph1 = %ld, ph2 = %ld, ph3 = %ld, ph4 = %ld)\n",
+               lp->total_pivots,lp->pivots[0],lp->pivots[1],lp->pivots[2],lp->pivots[3],lp->pivots[4]);
+            ddf_WriteLPResult(stdout, lpf, errf);
+            dd_WriteLP(stdout, lp);
+         }
+      } else {
+         if (localdebug) printf("BasisStatus: the current basis is verified with GMP. The LP Solved.\n");
+      }
+      break;
+  }
+  ddf_FreeLPData(lpf);
+#endif
+
+  time(&lp->endtime);
+  lp->total_pivots=0;
+  for (i=0; i<=4; i++) lp->total_pivots+=lp->pivots[i];
+  if (*err==dd_NoError) found=dd_TRUE;
+  return found;
+}
+
+
+dd_boolean dd_LPSolve0(dd_LPPtr lp,dd_LPSolverType solver,dd_ErrorType *err)
+/* 
+The original version of dd_LPSolve that solves an LP with specified arithimetics.
+
+When LP is inconsistent then *re returns the evidence row.
+When LP is dual-inconsistent then *se returns the evidence column.
+*/
+{
+  int i;
+  dd_boolean found=dd_FALSE;
+
+  *err=dd_NoError;
+  lp->solver=solver;
+  time(&lp->starttime);
+
+  switch (lp->solver) {
+    case dd_CrissCross:
+      dd_CrissCrossSolve(lp,err);
+      break;
+    case dd_DualSimplex:
+      dd_DualSimplexSolve(lp,err);
+      break;
+  }
+
+  time(&lp->endtime);
+  lp->total_pivots=0;
+  for (i=0; i<=4; i++) lp->total_pivots+=lp->pivots[i];
+  if (*err==dd_NoError) found=dd_TRUE;
+  return found;
+}
+
+
+dd_LPPtr dd_MakeLPforInteriorFinding(dd_LPPtr lp)
+/* Delete the objective row,
+   add an extra column with -1's to the matrix A,
+   add an extra row with (bceil, 0,...,0,-1),
+   add an objective row with (0,...,0,1), and 
+   rows & columns, and change m_size and d_size accordingly, to output new_A.
+  This sets up the LP:
+  maximize      x_{d+1}
+  s.t.    A x + x_{d+1}  <=  b
+                x_{d+1}  <=  bm * bmax,
+  where bm is set to 2 by default, and bmax=max{1, b[1],...,b[m_size]}.
+  Note that the equalitions (linearity) in the input lp will be ignored.
+*/
+{
+  dd_rowrange m;
+  dd_colrange d;
+  dd_NumberType numbtype;
+  dd_LPObjectiveType obj;
+  dd_LPType *lpnew;
+  dd_rowrange i; 
+  dd_colrange j;
+  mytype bm,bmax,bceil;
+  int localdebug=dd_FALSE;
+
+  dd_init(bm); dd_init(bmax); dd_init(bceil);
+  dd_add(bm,dd_one,dd_one); dd_set(bmax,dd_one);
+  numbtype=lp->numbtype;
+  m=lp->m+1;
+  d=lp->d+1;
+  obj=dd_LPmax;
+
+  lpnew=dd_CreateLPData(obj, numbtype, m, d);
+
+  for (i=1; i<=lp->m; i++) {
+    if (dd_Larger(lp->A[i-1][lp->rhscol-1],bmax)) 
+      dd_set(bmax,lp->A[i-1][lp->rhscol-1]);
+  }
+  dd_mul(bceil,bm,bmax);
+  if (localdebug) {fprintf(stderr,"bceil is set to "); dd_WriteNumber(stderr, bceil);}
+  
+  for (i=1; i <= lp->m; i++) {
+    for (j=1; j <= lp->d; j++) {
+      dd_set(lpnew->A[i-1][j-1],lp->A[i-1][j-1]);
+    }
+  }
+
+  for (i=1;i<=lp->m; i++){
+    dd_neg(lpnew->A[i-1][lp->d],dd_one);  /* new column with all minus one's */
+  }
+
+  for (j=1;j<=lp->d;j++){
+    dd_set(lpnew->A[m-2][j-1],dd_purezero);   /* new row (bceil, 0,...,0,-1) */
+  }
+  dd_set(lpnew->A[m-2][0],bceil);  /* new row (bceil, 0,...,0,-1) */
+
+  for (j=1;j<= d-1;j++) {
+    dd_set(lpnew->A[m-1][j-1],dd_purezero);  /* new obj row with (0,...,0,1) */
+  }
+  dd_set(lpnew->A[m-1][d-1],dd_one);    /* new obj row with (0,...,0,1) */
+ 
+  if (localdebug) dd_WriteAmatrix(stderr, lp->A, lp->m, lp->d);
+  if (localdebug) dd_WriteAmatrix(stderr, lpnew->A, lpnew->m, lpnew->d);
+  dd_clear(bm); dd_clear(bmax); dd_clear(bceil);
+
+  return lpnew;
+}
+
+
+void dd_WriteLPResult(FILE *f,dd_LPPtr lp,dd_ErrorType err)
+{
+  long j;
+
+  fprintf(f,"* cdd LP solver result\n");
+  
+  if (err!=dd_NoError) {
+    dd_WriteErrorMessages(f,err);
+    goto _L99;
+  }
+
+  dd_WriteProgramDescription(f);
+
+  fprintf(f,"* #constraints = %ld\n",lp->m-1);
+  fprintf(f,"* #variables   = %ld\n",lp->d-1);
+
+  switch (lp->solver) {
+    case dd_DualSimplex:
+      fprintf(f,"* Algorithm: dual simplex algorithm\n");break; 
+    case dd_CrissCross:
+      fprintf(f,"* Algorithm: criss-cross method\n");break;
+  }
+
+  switch (lp->objective) {
+    case dd_LPmax:
+      fprintf(f,"* maximization is chosen\n");break; 
+    case dd_LPmin:
+      fprintf(f,"* minimization is chosen\n");break;
+    case dd_LPnone:
+      fprintf(f,"* no objective type (max or min) is chosen\n");break;
+  }
+  
+  if (lp->objective==dd_LPmax||lp->objective==dd_LPmin){
+    fprintf(f,"* Objective function is\n");  
+    for (j=0; j<lp->d; j++){
+      if (j>0 && dd_Nonnegative(lp->A[lp->objrow-1][j]) ) fprintf(f," +");
+      if (j>0 && (j % 5) == 0) fprintf(f,"\n");
+      dd_WriteNumber(f,lp->A[lp->objrow-1][j]);
+      if (j>0) fprintf(f," X[%3ld]",j);
+    }
+    fprintf(f,"\n");
+  }
+
+  switch (lp->LPS){
+  case dd_Optimal:
+    fprintf(f,"* LP status: a dual pair (x,y) of optimal solutions found.\n");
+    fprintf(f,"begin\n");
+    fprintf(f,"  primal_solution\n");
+    for (j=1; j<lp->d; j++) {
+      fprintf(f,"  %3ld : ",j);
+      dd_WriteNumber(f,lp->sol[j]);
+      fprintf(f,"\n");
+    }
+    fprintf(f,"  dual_solution\n");
+    for (j=1; j<lp->d; j++){
+      if (lp->nbindex[j+1]>0) {
+        fprintf(f,"  %3ld : ",lp->nbindex[j+1]);
+        dd_WriteNumber(f,lp->dsol[j]); fprintf(f,"\n");
+      }
+    }
+    fprintf(f,"  optimal_value : "); dd_WriteNumber(f,lp->optvalue);
+    fprintf(f,"\nend\n");
+    break;
+
+  case dd_Inconsistent:
+    fprintf(f,"* LP status: LP is inconsistent.\n");
+    fprintf(f,"* The positive combination of original inequalities with\n");
+    fprintf(f,"* the following coefficients will prove the inconsistency.\n");
+    fprintf(f,"begin\n");
+    fprintf(f,"  dual_direction\n");
+    fprintf(f,"  %3ld : ",lp->re);
+    dd_WriteNumber(f,dd_one);  fprintf(f,"\n");
+    for (j=1; j<lp->d; j++){
+      if (lp->nbindex[j+1]>0) {
+        fprintf(f,"  %3ld : ",lp->nbindex[j+1]);
+        dd_WriteNumber(f,lp->dsol[j]); fprintf(f,"\n");
+      }
+    }
+    fprintf(f,"end\n");
+    break;
+
+  case dd_DualInconsistent: case dd_StrucDualInconsistent:
+    fprintf(f,"* LP status: LP is dual inconsistent.\n");
+    fprintf(f,"* The linear combination of columns with\n");
+    fprintf(f,"* the following coefficients will prove the dual inconsistency.\n");
+    fprintf(f,"* (It is also an unbounded direction for the primal LP.)\n");
+    fprintf(f,"begin\n");
+    fprintf(f,"  primal_direction\n");
+    for (j=1; j<lp->d; j++) {
+      fprintf(f,"  %3ld : ",j);
+      dd_WriteNumber(f,lp->sol[j]);
+      fprintf(f,"\n");
+    }
+    fprintf(f,"end\n");
+    break;
+
+  default:
+    break;
+  }
+  fprintf(f,"* number of pivot operations = %ld (ph0 = %ld, ph1 = %ld, ph2 = %ld, ph3 = %ld, ph4 = %ld)\n",lp->total_pivots,lp->pivots[0],lp->pivots[1],lp->pivots[2],lp->pivots[3],lp->pivots[4]);
+  dd_WriteLPTimes(f, lp);
+_L99:;
+}
+
+dd_LPPtr dd_CreateLP_H_ImplicitLinearity(dd_MatrixPtr M)
+{
+  dd_rowrange m, i, irev, linc;
+  dd_colrange d, j;
+  dd_LPPtr lp;
+  dd_boolean localdebug=dd_FALSE;
+
+  linc=set_card(M->linset);
+  m=M->rowsize+1+linc+1; 
+     /* We represent each equation by two inequalities.
+        This is not the best way but makes the code simple. */
+  d=M->colsize+1;
+  
+  lp=dd_CreateLPData(M->objective, M->numbtype, m, d);
+  lp->Homogeneous = dd_TRUE;
+  lp->objective = dd_LPmax;
+  lp->eqnumber=linc;  /* this records the number of equations */
+  lp->redcheck_extensive=dd_FALSE;  /* this is default */
+
+  irev=M->rowsize; /* the first row of the linc reversed inequalities. */
+  for (i = 1; i <= M->rowsize; i++) {
+    if (set_member(i, M->linset)) {
+      irev=irev+1;
+      set_addelem(lp->equalityset,i);    /* it is equality. */
+            /* the reversed row irev is not in the equality set. */
+      for (j = 1; j <= M->colsize; j++) {
+        dd_neg(lp->A[irev-1][j-1],M->matrix[i-1][j-1]);
+      }  /*of j*/
+    } else {
+      dd_set(lp->A[i-1][d-1],dd_minusone);  /* b_I + A_I x - 1 z >= 0  (z=x_d) */
+    }
+    for (j = 1; j <= M->colsize; j++) {
+      dd_set(lp->A[i-1][j-1],M->matrix[i-1][j-1]);
+      if (j==1 && i<M->rowsize && dd_Nonzero(M->matrix[i-1][j-1])) lp->Homogeneous = dd_FALSE;
+    }  /*of j*/
+  }  /*of i*/
+  dd_set(lp->A[m-2][0],dd_one);  dd_set(lp->A[m-2][d-1],dd_minusone);
+      /* make the LP bounded.  */
+  
+  dd_set(lp->A[m-1][d-1],dd_one);
+      /* objective is to maximize z.  */
+
+  if (localdebug) {
+    fprintf(stderr,"dd_CreateLP_H_ImplicitLinearity: an new lp is\n");
+    dd_WriteLP(stderr,lp);
+  }
+
+  return lp;
+}
+
+dd_LPPtr dd_CreateLP_V_ImplicitLinearity(dd_MatrixPtr M)
+{
+  dd_rowrange m, i, irev, linc;
+  dd_colrange d, j;
+  dd_LPPtr lp;
+  dd_boolean localdebug=dd_FALSE;
+
+  linc=set_card(M->linset);
+  m=M->rowsize+1+linc+1; 
+     /* We represent each equation by two inequalities.
+        This is not the best way but makes the code simple. */
+  d=(M->colsize)+2;  
+     /* Two more columns.  This is different from the H-reprentation case */
+  
+/* The below must be modified for V-representation!!!  */
+
+  lp=dd_CreateLPData(M->objective, M->numbtype, m, d);
+  lp->Homogeneous = dd_FALSE;
+  lp->objective = dd_LPmax;
+  lp->eqnumber=linc;  /* this records the number of equations */
+  lp->redcheck_extensive=dd_FALSE;  /* this is default */
+
+  irev=M->rowsize; /* the first row of the linc reversed inequalities. */
+  for (i = 1; i <= M->rowsize; i++) {
+    dd_set(lp->A[i-1][0],dd_purezero);  /* It is almost completely degerate LP */
+    if (set_member(i, M->linset)) {
+      irev=irev+1;
+      set_addelem(lp->equalityset,i);    /* it is equality. */
+            /* the reversed row irev is not in the equality set. */
+      for (j = 2; j <= (M->colsize)+1; j++) {
+        dd_neg(lp->A[irev-1][j-1],M->matrix[i-1][j-2]);
+      }  /*of j*/
+      if (localdebug) fprintf(stderr,"equality row %ld generates the reverse row %ld.\n",i,irev);
+    } else {
+      dd_set(lp->A[i-1][d-1],dd_minusone);  /* b_I x_0 + A_I x - 1 z >= 0 (z=x_d) */
+    }
+    for (j = 2; j <= (M->colsize)+1; j++) {
+      dd_set(lp->A[i-1][j-1],M->matrix[i-1][j-2]);
+    }  /*of j*/
+  }  /*of i*/
+  dd_set(lp->A[m-2][0],dd_one);  dd_set(lp->A[m-2][d-1],dd_minusone);
+      /* make the LP bounded.  */
+  dd_set(lp->A[m-1][d-1],dd_one);
+      /* objective is to maximize z.  */
+
+  if (localdebug) {
+    fprintf(stderr,"dd_CreateLP_V_ImplicitLinearity: an new lp is\n");
+    dd_WriteLP(stderr,lp);
+  }
+
+  return lp;
+}
+
+
+dd_LPPtr dd_CreateLP_H_Redundancy(dd_MatrixPtr M, dd_rowrange itest)
+{
+  dd_rowrange m, i, irev, linc;
+  dd_colrange d, j;
+  dd_LPPtr lp;
+  dd_boolean localdebug=dd_FALSE;
+
+  linc=set_card(M->linset);
+  m=M->rowsize+1+linc; 
+     /* We represent each equation by two inequalities.
+        This is not the best way but makes the code simple. */
+  d=M->colsize;
+  
+  lp=dd_CreateLPData(M->objective, M->numbtype, m, d);
+  lp->Homogeneous = dd_TRUE;
+  lp->objective = dd_LPmin;
+  lp->eqnumber=linc;  /* this records the number of equations */
+  lp->redcheck_extensive=dd_FALSE;  /* this is default */
+
+  irev=M->rowsize; /* the first row of the linc reversed inequalities. */
+  for (i = 1; i <= M->rowsize; i++) {
+    if (set_member(i, M->linset)) {
+      irev=irev+1;
+      set_addelem(lp->equalityset,i);    /* it is equality. */
+            /* the reversed row irev is not in the equality set. */
+      for (j = 1; j <= M->colsize; j++) {
+        dd_neg(lp->A[irev-1][j-1],M->matrix[i-1][j-1]);
+      }  /*of j*/
+      if (localdebug) fprintf(stderr,"equality row %ld generates the reverse row %ld.\n",i,irev);
+    }
+    for (j = 1; j <= M->colsize; j++) {
+      dd_set(lp->A[i-1][j-1],M->matrix[i-1][j-1]);
+      if (j==1 && i<M->rowsize && dd_Nonzero(M->matrix[i-1][j-1])) lp->Homogeneous = dd_FALSE;
+    }  /*of j*/
+  }  /*of i*/
+  for (j = 1; j <= M->colsize; j++) {
+    dd_set(lp->A[m-1][j-1],M->matrix[itest-1][j-1]);
+      /* objective is to violate the inequality in question.  */
+  }  /*of j*/
+  dd_add(lp->A[itest-1][0],lp->A[itest-1][0],dd_one); /* relax the original inequality by one */
+
+  return lp;
+}
+
+
+dd_LPPtr dd_CreateLP_V_Redundancy(dd_MatrixPtr M, dd_rowrange itest)
+{
+  dd_rowrange m, i, irev, linc;
+  dd_colrange d, j;
+  dd_LPPtr lp;
+  dd_boolean localdebug=dd_FALSE;
+
+  linc=set_card(M->linset);
+  m=M->rowsize+1+linc; 
+     /* We represent each equation by two inequalities.
+        This is not the best way but makes the code simple. */
+  d=(M->colsize)+1;  
+     /* One more column.  This is different from the H-reprentation case */
+  
+/* The below must be modified for V-representation!!!  */
+
+  lp=dd_CreateLPData(M->objective, M->numbtype, m, d);
+  lp->Homogeneous = dd_FALSE;
+  lp->objective = dd_LPmin;
+  lp->eqnumber=linc;  /* this records the number of equations */
+  lp->redcheck_extensive=dd_FALSE;  /* this is default */
+
+  irev=M->rowsize; /* the first row of the linc reversed inequalities. */
+  for (i = 1; i <= M->rowsize; i++) {
+    if (i==itest){
+      dd_set(lp->A[i-1][0],dd_one); /* this is to make the LP bounded, ie. the min >= -1 */
+    } else {
+      dd_set(lp->A[i-1][0],dd_purezero);  /* It is almost completely degerate LP */
+    }
+    if (set_member(i, M->linset)) {
+      irev=irev+1;
+      set_addelem(lp->equalityset,i);    /* it is equality. */
+            /* the reversed row irev is not in the equality set. */
+      for (j = 2; j <= (M->colsize)+1; j++) {
+        dd_neg(lp->A[irev-1][j-1],M->matrix[i-1][j-2]);
+      }  /*of j*/
+      if (localdebug) fprintf(stderr,"equality row %ld generates the reverse row %ld.\n",i,irev);
+    }
+    for (j = 2; j <= (M->colsize)+1; j++) {
+      dd_set(lp->A[i-1][j-1],M->matrix[i-1][j-2]);
+    }  /*of j*/
+  }  /*of i*/
+  for (j = 2; j <= (M->colsize)+1; j++) {
+    dd_set(lp->A[m-1][j-1],M->matrix[itest-1][j-2]);
+      /* objective is to violate the inequality in question.  */
+  }  /*of j*/
+  dd_set(lp->A[m-1][0],dd_purezero);   /* the constant term for the objective is zero */
+
+  if (localdebug) dd_WriteLP(stdout, lp);
+
+  return lp;
+}
+
+
+dd_LPPtr dd_CreateLP_V_SRedundancy(dd_MatrixPtr M, dd_rowrange itest)
+{
+/*
+     V-representation (=boundary problem)
+       g* = maximize  
+         1^T b_{I-itest} x_0 + 1^T A_{I-itest}    (the sum of slacks)
+       subject to
+         b_itest x_0     + A_itest x      =  0 (the point has to lie on the boundary)
+         b_{I-itest} x_0 + A_{I-itest} x >=  0 (all nonlinearity generators in one side)
+         1^T b_{I-itest} x_0 + 1^T A_{I-itest} x <=  1 (to make an LP bounded)
+         b_L x_0         + A_L x = 0.  (linearity generators)
+         
+    The redundant row is strongly redundant if and only if g* is zero.
+*/
+
+  dd_rowrange m, i, irev, linc;
+  dd_colrange d, j;
+  dd_LPPtr lp;
+  dd_boolean localdebug=dd_FALSE;
+
+  linc=set_card(M->linset);
+  m=M->rowsize+1+linc+2; 
+     /* We represent each equation by two inequalities.
+        This is not the best way but makes the code simple.
+        Two extra constraints are for the first equation and the bouding inequality.
+        */
+  d=(M->colsize)+1;  
+     /* One more column.  This is different from the H-reprentation case */
+  
+/* The below must be modified for V-representation!!!  */
+
+  lp=dd_CreateLPData(M->objective, M->numbtype, m, d);
+  lp->Homogeneous = dd_FALSE;
+  lp->objective = dd_LPmax;
+  lp->eqnumber=linc;  /* this records the number of equations */
+
+  irev=M->rowsize; /* the first row of the linc reversed inequalities. */
+  for (i = 1; i <= M->rowsize; i++) {
+    if (i==itest){
+      dd_set(lp->A[i-1][0],dd_purezero);  /* this is a half of the boundary constraint. */
+    } else {
+      dd_set(lp->A[i-1][0],dd_purezero);  /* It is almost completely degerate LP */
+    }
+    if (set_member(i, M->linset) || i==itest) {
+      irev=irev+1;
+      set_addelem(lp->equalityset,i);    /* it is equality. */
+            /* the reversed row irev is not in the equality set. */
+      for (j = 2; j <= (M->colsize)+1; j++) {
+        dd_neg(lp->A[irev-1][j-1],M->matrix[i-1][j-2]);
+      }  /*of j*/
+      if (localdebug) fprintf(stderr,"equality row %ld generates the reverse row %ld.\n",i,irev);
+    }
+    for (j = 2; j <= (M->colsize)+1; j++) {
+      dd_set(lp->A[i-1][j-1],M->matrix[i-1][j-2]);
+      dd_add(lp->A[m-1][j-1],lp->A[m-1][j-1],lp->A[i-1][j-1]);  /* the objective is the sum of all ineqalities */
+    }  /*of j*/
+  }  /*of i*/
+  for (j = 2; j <= (M->colsize)+1; j++) {
+    dd_neg(lp->A[m-2][j-1],lp->A[m-1][j-1]);
+      /* to make an LP bounded.  */
+  }  /*of j*/
+  dd_set(lp->A[m-2][0],dd_one);   /* the constant term for the bounding constraint is 1 */
+
+  if (localdebug) dd_WriteLP(stdout, lp);
+
+  return lp;
+}
+
+dd_boolean dd_Redundant(dd_MatrixPtr M, dd_rowrange itest, dd_Arow certificate, dd_ErrorType *error)  
+  /* 092 */
+{
+  /* Checks whether the row itest is redundant for the representation.
+     All linearity rows are not checked and considered NONredundant. 
+     This code works for both H- and V-representations.  A certificate is
+     given in the case of non-redundancy, showing a solution x violating only the itest
+     inequality for H-representation, a hyperplane RHS and normal (x_0, x) that
+     separates the itest from the rest.  More explicitly, the LP to be setup is
+
+     H-representation
+       f* = minimize  
+         b_itest     + A_itest x
+       subject to
+         b_itest + 1 + A_itest x     >= 0 (relaxed inequality to make an LP bounded)
+         b_{I-itest} + A_{I-itest} x >= 0 (all inequalities except for itest)
+         b_L         + A_L x = 0.  (linearity)
+
+     V-representation (=separation problem)
+       f* = minimize  
+         b_itest x_0     + A_itest x
+       subject to
+         b_itest x_0     + A_itest x     >= -1 (to make an LP bounded)
+         b_{I-itest} x_0 + A_{I-itest} x >=  0 (all nonlinearity generators except for itest in one side)
+         b_L x_0         + A_L x = 0.  (linearity generators)
+    
+    Here, the input matrix is considered as (b, A), i.e. b corresponds to the first column of input
+    and the row indices of input is partitioned into I and L where L is the set of linearity.
+    In both cases, the itest data is nonredundant if and only if the optimal value f* is negative.
+    The certificate has dimension one more for V-representation case.
+  */
+
+  dd_colrange j;
+  dd_LPPtr lp;
+  dd_LPSolutionPtr lps;
+  dd_ErrorType err=dd_NoError;
+  dd_boolean answer=dd_FALSE,localdebug=dd_FALSE;
+
+  *error=dd_NoError;
+  if (set_member(itest, M->linset)){
+    if (localdebug) printf("The %ld th row is linearity and redundancy checking is skipped.\n",itest);
+    goto _L99;
+  }
+  
+  /* Create an LP data for redundancy checking */
+  if (M->representation==dd_Generator){
+    lp=dd_CreateLP_V_Redundancy(M, itest);
+  } else {
+    lp=dd_CreateLP_H_Redundancy(M, itest);
+  }
+
+  dd_LPSolve(lp,dd_choiceRedcheckAlgorithm,&err);
+  if (err!=dd_NoError){
+    *error=err;
+    goto _L999;
+  } else {
+    lps=dd_CopyLPSolution(lp);
+
+    for (j=0; j<lps->d; j++) {
+      dd_set(certificate[j], lps->sol[j]);
+    }
+
+    if (dd_Negative(lps->optvalue)){
+      answer=dd_FALSE;
+      if (localdebug) fprintf(stderr,"==> %ld th row is nonredundant.\n",itest);
+    } else {
+      answer=dd_TRUE;
+      if (localdebug) fprintf(stderr,"==> %ld th row is redundant.\n",itest);
+    }
+    dd_FreeLPSolution(lps);
+  }
+  _L999:
+  dd_FreeLPData(lp);
+_L99:
+  return answer;
+}
+
+dd_boolean dd_RedundantExtensive(dd_MatrixPtr M, dd_rowrange itest, dd_Arow certificate, 
+dd_rowset *redset,dd_ErrorType *error)  
+  /* 094 */
+{
+  /* This uses the same LP construction as dd_Reduandant.  But, while it is checking
+     the redundancy of itest, it also tries to find some other variable that are
+     redundant (i.e. forced to be nonnegative).  This is expensive as it used
+     the complete tableau information at each DualSimplex pivot.  The redset must
+     be initialized before this function is called.
+  */
+
+  dd_colrange j;
+  dd_LPPtr lp;
+  dd_LPSolutionPtr lps;
+  dd_ErrorType err=dd_NoError;
+  dd_boolean answer=dd_FALSE,localdebug=dd_FALSE;
+
+  *error=dd_NoError;
+  if (set_member(itest, M->linset)){
+    if (localdebug) printf("The %ld th row is linearity and redundancy checking is skipped.\n",itest);
+    goto _L99;
+  }
+  
+  /* Create an LP data for redundancy checking */
+  if (M->representation==dd_Generator){
+    lp=dd_CreateLP_V_Redundancy(M, itest);
+  } else {
+    lp=dd_CreateLP_H_Redundancy(M, itest);
+  }
+  
+  lp->redcheck_extensive=dd_TRUE;
+
+  dd_LPSolve0(lp,dd_DualSimplex,&err);
+  if (err!=dd_NoError){
+    *error=err;
+    goto _L999;
+  } else {
+    set_copy(*redset,lp->redset_extra);
+    set_delelem(*redset, itest);  
+    /* itest row might be redundant in the lp but this has nothing to do with its redundancy
+    in the original system M.   Thus we must delete it.  */
+    if (localdebug){
+      fprintf(stderr, "dd_RedundantExtensive: checking for %ld, extra redset with cardinality %ld (%ld)\n",itest,set_card(*redset),set_card(lp->redset_extra)); 
+      set_fwrite(stderr, *redset); fprintf(stderr, "\n");
+    }
+    lps=dd_CopyLPSolution(lp);
+
+    for (j=0; j<lps->d; j++) {
+      dd_set(certificate[j], lps->sol[j]);
+    }
+
+    if (dd_Negative(lps->optvalue)){
+      answer=dd_FALSE;
+      if (localdebug) fprintf(stderr,"==> %ld th row is nonredundant.\n",itest);
+    } else {
+      answer=dd_TRUE;
+      if (localdebug) fprintf(stderr,"==> %ld th row is redundant.\n",itest);
+    }
+    dd_FreeLPSolution(lps);
+  }
+  _L999:
+  dd_FreeLPData(lp);
+_L99:
+  return answer;
+}
+
+dd_rowset dd_RedundantRows(dd_MatrixPtr M, dd_ErrorType *error)  /* 092 */
+{
+  dd_rowrange i,m;
+  dd_colrange d;
+  dd_rowset redset;
+  dd_MatrixPtr Mcopy;
+  dd_Arow cvec; /* certificate */  
+  dd_boolean localdebug=dd_TRUE;
+
+  m=M->rowsize;
+  if (M->representation==dd_Generator){
+    d=(M->colsize)+1;
+  } else {
+    d=M->colsize;
+  }
+  Mcopy=dd_MatrixCopy(M);
+  dd_InitializeArow(d,&cvec); 
+  set_initialize(&redset, m);
+  for (i=m; i>=1; i--) {
+    if (dd_Redundant(Mcopy, i, cvec, error)) {
+      if (localdebug) printf("Iteration %ld: the row %ld is redundant.\n",m-i+1,i);
+      set_addelem(redset, i);
+      dd_MatrixRowRemove(&Mcopy, i);
+    } else {
+      if (localdebug) printf("Iteration %ld: the row %ld is essential.\n",m-i+1, i);
+    }
+    if (*error!=dd_NoError) goto _L99;
+  }
+_L99:
+  dd_FreeMatrix(Mcopy);
+  dd_FreeArow(d, cvec);
+  return redset;
+}
+
+
+dd_boolean dd_MatrixRedundancyRemove(dd_MatrixPtr *M, dd_rowset *redset,dd_rowindex *newpos, dd_ErrorType *error) /* 094 */
+{
+  /* It returns the set of all redundant rows.  This should be called after all
+     implicit linearity are recognized with dd_MatrixCanonicalizeLinearity.
+  */
+
+ 
+  dd_rowrange i,k,m,m1;
+  dd_colrange d;
+  dd_rowset redset1;
+  dd_rowindex newpos1;
+  dd_MatrixPtr M1=NULL;
+  dd_Arow cvec; /* certificate */ 
+  dd_boolean success=dd_FALSE, localdebug=dd_FALSE;
+
+  m=(*M)->rowsize;
+  set_initialize(redset, m);
+  M1=dd_MatrixSortedUniqueCopy(*M,newpos);
+  for (i=1; i<=m; i++){
+    if ((*newpos)[i]<=0) set_addelem(*redset,i);
+    if (localdebug) printf(" %ld:%ld",i,(*newpos)[i]);
+  }
+  if (localdebug) printf("\n");
+  
+  if ((*M)->representation==dd_Generator){
+    d=((*M)->colsize)+1;
+  } else {
+    d=(*M)->colsize;
+  }
+  m1=M1->rowsize;
+  if (localdebug){
+    fprintf(stderr,"dd_MatrixRedundancyRemove: By sorting, %ld rows have been removed.  The remaining has %ld rows.\n",m-m1,m1);
+    /* dd_WriteMatrix(stdout,M1);  */
+  }
+  dd_InitializeArow(d,&cvec); 
+  set_initialize(&redset1, M1->rowsize);
+  k=1;
+  do {
+    if (dd_RedundantExtensive(M1, k, cvec, &redset1,error)) {
+      set_addelem(redset1, k);
+      dd_MatrixRowsRemove2(&M1,redset1,&newpos1);
+      for (i=1; i<=m; i++){
+        if ((*newpos)[i]>0){
+          if  (set_member((*newpos)[i],redset1)){
+            set_addelem(*redset,i);
+            (*newpos)[i]=0;  /* now the original row i is recognized redundant and removed from M1 */
+          } else {
+            (*newpos)[i]=newpos1[(*newpos)[i]];  /* update the new pos vector */
+          }
+        }
+      }
+      set_free(redset1);
+      set_initialize(&redset1, M1->rowsize); 
+      if (localdebug) {
+        printf("dd_MatrixRedundancyRemove: the row %ld is redundant. The new matrix has %ld rows.\n", k, M1->rowsize);
+        /* dd_WriteMatrix(stderr, M1);  */
+      }
+      free(newpos1);
+    } else {
+      if (set_card(redset1)>0) {
+        dd_MatrixRowsRemove2(&M1,redset1,&newpos1);
+        for (i=1; i<=m; i++){
+          if ((*newpos)[i]>0){
+            if  (set_member((*newpos)[i],redset1)){
+              set_addelem(*redset,i);
+              (*newpos)[i]=0;  /* now the original row i is recognized redundant and removed from M1 */
+            } else {
+              (*newpos)[i]=newpos1[(*newpos)[i]];  /* update the new pos vector */
+            }
+          }
+        }
+        set_free(redset1);
+        set_initialize(&redset1, M1->rowsize);
+        free(newpos1);
+      }
+      if (localdebug) {
+        printf("dd_MatrixRedundancyRemove: the row %ld is essential. The new matrix has %ld rows.\n", k, M1->rowsize);
+        /* dd_WriteMatrix(stderr, M1);  */
+      }
+      k=k+1;
+    }
+    if (*error!=dd_NoError) goto _L99;
+  } while  (k<=M1->rowsize);
+  if (localdebug) dd_WriteMatrix(stderr, M1);
+  success=dd_TRUE;
+  
+_L99:
+  dd_FreeMatrix(*M);
+  *M=M1;
+  dd_FreeArow(d, cvec);
+  set_free(redset1);
+  return success;
+}
+
+
+dd_boolean dd_SRedundant(dd_MatrixPtr M, dd_rowrange itest, dd_Arow certificate, dd_ErrorType *error)  
+  /* 093a */
+{
+  /* Checks whether the row itest is strongly redundant for the representation.
+     A row is strongly redundant in H-representation if every point in
+     the polyhedron satisfies it with strict inequality.
+     A row is strongly redundant in V-representation if this point is in
+     the interior of the polyhedron.
+     
+     All linearity rows are not checked and considered NOT strongly redundant. 
+     This code works for both H- and V-representations.  A certificate is
+     given in the case of non-redundancy, showing a solution x violating only the itest
+     inequality for H-representation, a hyperplane RHS and normal (x_0, x) that
+     separates the itest from the rest.  More explicitly, the LP to be setup is
+
+     H-representation
+       f* = minimize  
+         b_itest     + A_itest x
+       subject to
+         b_itest + 1 + A_itest x     >= 0 (relaxed inequality to make an LP bounded)
+         b_{I-itest} + A_{I-itest} x >= 0 (all inequalities except for itest)
+         b_L         + A_L x = 0.  (linearity)
+
+     V-representation (=separation problem)
+       f* = minimize  
+         b_itest x_0     + A_itest x
+       subject to
+         b_itest x_0     + A_itest x     >= -1 (to make an LP bounded)
+         b_{I-itest} x_0 + A_{I-itest} x >=  0 (all nonlinearity generators except for itest in one side)
+         b_L x_0         + A_L x = 0.  (linearity generators)
+    
+    Here, the input matrix is considered as (b, A), i.e. b corresponds to the first column of input
+    and the row indices of input is partitioned into I and L where L is the set of linearity.
+    In H-representation, the itest data is strongly redundant if and only if the optimal value f* is positive.
+    In V-representation, the itest data is redundant if and only if the optimal value f* is zero (as the LP
+    is homogeneous and the optimal value is always non-positive).  To recognize strong redundancy, one
+    can set up a second LP
+    
+     V-representation (=boundary problem)
+       g* = maximize  
+         1^T b_{I-itest} x_0 + 1^T A_{I-itest}    (the sum of slacks)
+       subject to
+         b_itest x_0     + A_itest x      =  0 (the point has to lie on the boundary)
+         b_{I-itest} x_0 + A_{I-itest} x >=  0 (all nonlinearity generators in one side)
+         1^T b_{I-itest} x_0 + 1^T A_{I-itest} x <=  1 (to make an LP bounded)
+         b_L x_0         + A_L x = 0.  (linearity generators)
+         
+    The redundant row is strongly redundant if and only if g* is zero.
+
+    The certificate has dimension one more for V-representation case.
+  */
+
+  dd_colrange j;
+  dd_LPPtr lp;
+  dd_LPSolutionPtr lps;
+  dd_ErrorType err=dd_NoError;
+  dd_boolean answer=dd_FALSE,localdebug=dd_FALSE;
+
+  *error=dd_NoError;
+  if (set_member(itest, M->linset)){
+    if (localdebug) printf("The %ld th row is linearity and strong redundancy checking is skipped.\n",itest);
+    goto _L99;
+  }
+  
+  /* Create an LP data for redundancy checking */
+  if (M->representation==dd_Generator){
+    lp=dd_CreateLP_V_Redundancy(M, itest);
+  } else {
+    lp=dd_CreateLP_H_Redundancy(M, itest);
+  }
+
+  dd_LPSolve(lp,dd_choiceRedcheckAlgorithm,&err);
+  if (err!=dd_NoError){
+    *error=err;
+    goto _L999;
+  } else {
+    lps=dd_CopyLPSolution(lp);
+
+    for (j=0; j<lps->d; j++) {
+      dd_set(certificate[j], lps->sol[j]);
+    }
+
+    if (localdebug){
+      printf("Optimum value:");
+      dd_WriteNumber(stdout, lps->optvalue);
+      printf("\n");
+    }
+
+    if (M->representation==dd_Inequality){
+       if (dd_Positive(lps->optvalue)){
+          answer=dd_TRUE;
+          if (localdebug) fprintf(stderr,"==> %ld th inequality is strongly redundant.\n",itest);
+        } else {
+          answer=dd_FALSE;
+          if (localdebug) fprintf(stderr,"==> %ld th inequality is not strongly redundant.\n",itest);
+        } 
+    } else {
+       if (dd_Negative(lps->optvalue)){
+          answer=dd_FALSE;
+          if (localdebug) fprintf(stderr,"==> %ld th point is not strongly redundant.\n",itest);
+        } else {
+          /* for V-representation, we have to solve another LP */
+          dd_FreeLPData(lp);
+          dd_FreeLPSolution(lps);
+          lp=dd_CreateLP_V_SRedundancy(M, itest);
+          dd_LPSolve(lp,dd_DualSimplex,&err);
+          lps=dd_CopyLPSolution(lp);
+          if (localdebug) dd_WriteLPResult(stdout,lp,err);
+          if (dd_Positive(lps->optvalue)){
+            answer=dd_FALSE;
+            if (localdebug) fprintf(stderr,"==> %ld th point is not strongly redundant.\n",itest);
+          } else {
+            answer=dd_TRUE;
+            if (localdebug) fprintf(stderr,"==> %ld th point is strongly redundant.\n",itest);
+          }
+       }
+    } 
+    dd_FreeLPSolution(lps);
+  }
+  _L999:
+  dd_FreeLPData(lp);
+_L99:
+  return answer;
+}
+
+dd_rowset dd_SRedundantRows(dd_MatrixPtr M, dd_ErrorType *error)  /* 093a */
+{
+  dd_rowrange i,m;
+  dd_colrange d;
+  dd_rowset redset;
+  dd_MatrixPtr Mcopy;
+  dd_Arow cvec; /* certificate */  
+  dd_boolean localdebug=dd_FALSE;
+
+  m=M->rowsize;
+  if (M->representation==dd_Generator){
+    d=(M->colsize)+1;
+  } else {
+    d=M->colsize;
+  }
+  Mcopy=dd_MatrixCopy(M);
+  dd_InitializeArow(d,&cvec); 
+  set_initialize(&redset, m);
+  for (i=m; i>=1; i--) {
+    if (dd_SRedundant(Mcopy, i, cvec, error)) {
+      if (localdebug) printf("dd_SRedundantRows: the row %ld is strongly redundant.\n", i);
+      set_addelem(redset, i);
+      dd_MatrixRowRemove(&Mcopy, i);
+    } else {
+      if (localdebug) printf("dd_SRedundantRows: the row %ld is not strongly redundant.\n", i);
+    }
+    if (*error!=dd_NoError) goto _L99;
+  }
+_L99:
+  dd_FreeMatrix(Mcopy);
+  dd_FreeArow(d, cvec);
+  return redset;
+}
+
+dd_rowset dd_RedundantRowsViaShooting(dd_MatrixPtr M, dd_ErrorType *error)  /* 092 */
+{
+  /* 
+     For H-representation only and not quite reliable,
+     especially when floating-point arithmetic is used.
+     Use the ordinary (slower) method dd_RedundantRows.
+  */
+
+  dd_rowrange i,m, ired, irow=0;
+  dd_colrange j,k,d;
+  dd_rowset redset;
+  dd_rowindex rowflag; 
+    /* ith comp is negative if the ith inequality (i-1 st row) is redundant.
+                   zero     if it is not decided.
+                   k > 0    if it is nonredundant and assigned to the (k-1)th row of M1.
+    */
+  dd_MatrixPtr M1;
+  dd_Arow shootdir, cvec=NULL;
+  dd_LPPtr lp0, lp;
+  dd_LPSolutionPtr lps; 
+  dd_ErrorType err;
+  dd_LPSolverType solver=dd_DualSimplex; 
+  dd_boolean localdebug=dd_TRUE;
+
+  m=M->rowsize;
+  d=M->colsize;
+  M1=dd_CreateMatrix(m,d);
+  M1->rowsize=0;  /* cheat the rowsize so that smaller matrix can be stored */
+  set_initialize(&redset, m);
+  dd_InitializeArow(d, &shootdir);
+  dd_InitializeArow(d, &cvec);
+
+  rowflag=(long *)calloc(m+1, sizeof(long)); 
+
+  /* First find some (likely) nonredundant inequalities by Interior Point Find. */
+  lp0=dd_Matrix2LP(M, &err);
+  lp=dd_MakeLPforInteriorFinding(lp0);
+  dd_FreeLPData(lp0); 
+  dd_LPSolve(lp, solver, &err);  /* Solve the LP */
+  lps=dd_CopyLPSolution(lp);
+
+  if (dd_Positive(lps->optvalue)){
+    /* An interior point is found.  Use rayshooting to find some nonredundant
+       inequalities. */
+    for (j=1; j<d; j++){
+      for (k=1; k<=d; k++) dd_set(shootdir[k-1], dd_purezero);
+      dd_set(shootdir[j], dd_one);  /* j-th unit vector */
+      ired=dd_RayShooting(M, lps->sol, shootdir);
+      if (localdebug) printf("nonredundant row %3ld found by shooting.\n", ired);
+      if (ired>0 && rowflag[ired]<=0) {
+        irow++;
+        rowflag[ired]=irow;
+        for (k=1; k<=d; k++) dd_set(M1->matrix[irow-1][k-1], M->matrix[ired-1][k-1]); 
+      }
+        
+      dd_neg(shootdir[j], dd_one);  /* negative of the j-th unit vector */
+      ired=dd_RayShooting(M, lps->sol, shootdir);
+      if (localdebug) printf("nonredundant row %3ld found by shooting.\n", ired);
+      if (ired>0 && rowflag[ired]<=0) {
+        irow++;
+        rowflag[ired]=irow;
+        for (k=1; k<=d; k++) dd_set(M1->matrix[irow-1][k-1], M->matrix[ired-1][k-1]); 
+      }
+    }
+
+    M1->rowsize=irow;
+    if (localdebug) {
+      printf("The initial nonredundant set is:");
+      for (i=1; i<=m; i++) if (rowflag[i]>0) printf(" %ld", i);
+      printf("\n");
+    }
+    
+    i=1;
+    while(i<=m){
+      if (rowflag[i]==0){ /* the ith inequality is not yet checked */
+        if (localdebug) fprintf(stderr, "Checking redundancy of %ld th inequality\n", i);
+        irow++;  M1->rowsize=irow;
+        for (k=1; k<=d; k++) dd_set(M1->matrix[irow-1][k-1], M->matrix[i-1][k-1]);
+        if (!dd_Redundant(M1, irow, cvec, &err)){
+          for (k=1; k<=d; k++) dd_sub(shootdir[k-1], cvec[k-1], lps->sol[k-1]); 
+          ired=dd_RayShooting(M, lps->sol, shootdir);
+          rowflag[ired]=irow;
+          for (k=1; k<=d; k++) dd_set(M1->matrix[irow-1][k-1], M->matrix[ired-1][k-1]);
+          if (localdebug) {
+            fprintf(stderr, "The %ld th inequality is nonredundant for the subsystem\n", i);
+            fprintf(stderr, "The nonredundancy of %ld th inequality is found by shooting.\n", ired);
+          }
+        } else {
+          if (localdebug) fprintf(stderr, "The %ld th inequality is redundant for the subsystem and thus for the whole.\n", i);
+          rowflag[i]=-1;
+          set_addelem(redset, i);
+          i++;
+        }
+      } else {
+        i++;
+      }
+    } /* endwhile */
+  } else {
+    /* No interior point is found.  Apply the standard LP technique.  */
+    if (localdebug) printf("No interior-point is found and thus the standard LP technique will be used.\n", ired);
+    redset=dd_RedundantRows(M, error);
+  }
+
+  dd_FreeLPData(lp);
+  dd_FreeLPSolution(lps);
+
+  M1->rowsize=m; M1->colsize=d;  /* recover the original sizes */
+  dd_FreeMatrix(M1);
+  dd_FreeArow(d, shootdir);
+  dd_FreeArow(d, cvec);
+  free(rowflag);
+  return redset;
+}
+
+dd_SetFamilyPtr dd_Matrix2Adjacency(dd_MatrixPtr M, dd_ErrorType *error)  /* 093 */
+{
+  /* This is to generate the (facet) graph of a polyheron (H) V-represented by M using LPs.
+     Since it does not use the representation conversion, it should work for a large
+     scale problem.
+  */
+  dd_rowrange i,m;
+  dd_colrange d;
+  dd_rowset redset;
+  dd_MatrixPtr Mcopy;
+  dd_SetFamilyPtr F=NULL;
+
+  m=M->rowsize;
+  d=M->colsize;
+  if (m<=0 ||d<=0) {
+    *error=dd_EmptyRepresentation;
+    goto _L999;
+  }
+  Mcopy=dd_MatrixCopy(M);
+  F=dd_CreateSetFamily(m, m);
+  for (i=1; i<=m; i++) {
+    if (!set_member(i, M->linset)){
+      set_addelem(Mcopy->linset, i);
+      redset=dd_RedundantRows(Mcopy, error);  /* redset should contain all nonadjacent ones */
+      set_uni(redset, redset, Mcopy->linset); /* all linearity elements should be nonadjacent */
+      set_compl(F->set[i-1], redset); /* set the adjacency list of vertex i */
+      set_delelem(Mcopy->linset, i);
+      set_free(redset);
+      if (*error!=dd_NoError) goto _L99;
+    }
+  }
+_L99:
+  dd_FreeMatrix(Mcopy);
+_L999:
+  return F;
+}
+
+dd_SetFamilyPtr dd_Matrix2WeakAdjacency(dd_MatrixPtr M, dd_ErrorType *error)  /* 093a */
+{
+  /* This is to generate the weak-adjacency (facet) graph of a polyheron (H) V-represented by M using LPs.
+     Since it does not use the representation conversion, it should work for a large
+     scale problem.
+  */
+  dd_rowrange i,m;
+  dd_colrange d;
+  dd_rowset redset;
+  dd_MatrixPtr Mcopy;
+  dd_SetFamilyPtr F=NULL;
+
+  m=M->rowsize;
+  d=M->colsize;
+  if (m<=0 ||d<=0) {
+    *error=dd_EmptyRepresentation;
+    goto _L999;
+  }
+  Mcopy=dd_MatrixCopy(M);
+  F=dd_CreateSetFamily(m, m);
+  for (i=1; i<=m; i++) {
+    if (!set_member(i, M->linset)){
+      set_addelem(Mcopy->linset, i);
+      redset=dd_SRedundantRows(Mcopy, error);  /* redset should contain all weakly nonadjacent ones */
+      set_uni(redset, redset, Mcopy->linset); /* all linearity elements should be nonadjacent */
+      set_compl(F->set[i-1], redset); /* set the adjacency list of vertex i */
+      set_delelem(Mcopy->linset, i);
+      set_free(redset);
+      if (*error!=dd_NoError) goto _L99;
+    }
+  }
+_L99:
+  dd_FreeMatrix(Mcopy);
+_L999:
+  return F;
+}
+
+
+dd_boolean dd_ImplicitLinearity(dd_MatrixPtr M, dd_rowrange itest, dd_Arow certificate, dd_ErrorType *error)  
+  /* 092 */
+{
+  /* Checks whether the row itest is implicit linearity for the representation.
+     All linearity rows are not checked and considered non implicit linearity (dd_FALSE). 
+     This code works for both H- and V-representations.  A certificate is
+     given in the case of dd_FALSE, showing a feasible solution x satisfying the itest
+     strict inequality for H-representation, a hyperplane RHS and normal (x_0, x) that
+     separates the itest from the rest.  More explicitly, the LP to be setup is
+     the same thing as redundancy case but with maximization:
+
+     H-representation
+       f* = maximize  
+         b_itest     + A_itest x
+       subject to
+         b_itest + 1 + A_itest x     >= 0 (relaxed inequality. This is not necessary but kept for simplicity of the code)
+         b_{I-itest} + A_{I-itest} x >= 0 (all inequalities except for itest)
+         b_L         + A_L x = 0.  (linearity)
+
+     V-representation (=separation problem)
+       f* = maximize  
+         b_itest x_0     + A_itest x
+       subject to
+         b_itest x_0     + A_itest x     >= -1 (again, this is not necessary but kept for simplicity.)
+         b_{I-itest} x_0 + A_{I-itest} x >=  0 (all nonlinearity generators except for itest in one side)
+         b_L x_0         + A_L x = 0.  (linearity generators)
+    
+    Here, the input matrix is considered as (b, A), i.e. b corresponds to the first column of input
+    and the row indices of input is partitioned into I and L where L is the set of linearity.
+    In both cases, the itest data is implicit linearity if and only if the optimal value f* is nonpositive.
+    The certificate has dimension one more for V-representation case.
+  */
+
+  dd_colrange j;
+  dd_LPPtr lp;
+  dd_LPSolutionPtr lps;
+  dd_ErrorType err=dd_NoError;
+  dd_boolean answer=dd_FALSE,localdebug=dd_FALSE;
+
+  *error=dd_NoError;
+  if (set_member(itest, M->linset)){
+    if (localdebug) printf("The %ld th row is linearity and redundancy checking is skipped.\n",itest);
+    goto _L99;
+  }
+  
+  /* Create an LP data for redundancy checking */
+  if (M->representation==dd_Generator){
+    lp=dd_CreateLP_V_Redundancy(M, itest);
+  } else {
+    lp=dd_CreateLP_H_Redundancy(M, itest);
+  }
+
+  lp->objective = dd_LPmax;  /* the lp->objective is set by CreateLP* to LPmin */
+  dd_LPSolve(lp,dd_choiceRedcheckAlgorithm,&err);
+  if (err!=dd_NoError){
+    *error=err;
+    goto _L999;
+  } else {
+    lps=dd_CopyLPSolution(lp);
+
+    for (j=0; j<lps->d; j++) {
+      dd_set(certificate[j], lps->sol[j]);
+    }
+
+    if (lps->LPS==dd_Optimal && dd_EqualToZero(lps->optvalue)){
+      answer=dd_TRUE;
+      if (localdebug) fprintf(stderr,"==> %ld th data is an implicit linearity.\n",itest);
+    } else {
+      answer=dd_FALSE;
+      if (localdebug) fprintf(stderr,"==> %ld th data is not an implicit linearity.\n",itest);
+    }
+    dd_FreeLPSolution(lps);
+  }
+  _L999:
+  dd_FreeLPData(lp);
+_L99:
+  return answer;
+}
+
+
+int dd_FreeOfImplicitLinearity(dd_MatrixPtr M, dd_Arow certificate, dd_rowset *imp_linrows, dd_ErrorType *error)  
+  /* 092 */
+{
+  /* Checks whether the matrix M constains any implicit linearity at all.
+  It returns 1 if it is free of any implicit linearity.  This means that 
+  the present linearity rows define the linearity correctly.  It returns
+  nonpositive values otherwise.  
+
+
+     H-representation
+       f* = maximize    z
+       subject to
+         b_I  + A_I x - 1 z >= 0 
+         b_L  + A_L x = 0  (linearity)
+         z <= 1.
+
+     V-representation (=separation problem)
+       f* = maximize    z
+       subject to
+         b_I x_0 + A_I x - 1 z >= 0 (all nonlinearity generators in one side)
+         b_L x_0 + A_L x  = 0  (linearity generators)
+         z <= 1.
+    
+    Here, the input matrix is considered as (b, A), i.e. b corresponds to the first column of input
+    and the row indices of input is partitioned into I and L where L is the set of linearity.
+    In both cases, any implicit linearity exists if and only if the optimal value f* is nonpositive.
+    The certificate has dimension one more for V-representation case.
+  */
+
+  dd_LPPtr lp;
+  dd_rowrange i,m;
+  dd_colrange j,d1;
+  dd_ErrorType err=dd_NoError;
+  dd_Arow cvec; /* certificate for implicit linearity */
+
+  int answer=0,localdebug=dd_FALSE;
+
+  *error=dd_NoError;
+  /* Create an LP data for redundancy checking */
+  if (M->representation==dd_Generator){
+    lp=dd_CreateLP_V_ImplicitLinearity(M);
+  } else {
+    lp=dd_CreateLP_H_ImplicitLinearity(M);
+  }
+
+  dd_LPSolve(lp,dd_choiceRedcheckAlgorithm,&err);
+  if (err!=dd_NoError){
+    *error=err;
+    goto _L999;
+  } else {
+
+    for (j=0; j<lp->d; j++) {
+      dd_set(certificate[j], lp->sol[j]);
+    }
+
+    if (localdebug) dd_WriteLPResult(stderr,lp,err);
+    
+    /* *posset contains a set of row indices that are recognized as nonlinearity.  */
+    if (localdebug) {
+      fprintf(stderr,"==> The following variables are not implicit linearity:\n");
+      set_fwrite(stderr, lp->posset_extra);
+      fprintf(stderr,"\n");
+    }
+    
+    if (M->representation==dd_Generator){
+      d1=(M->colsize)+1;
+    } else {
+      d1=M->colsize;
+    }
+    m=M->rowsize;
+    dd_InitializeArow(d1,&cvec);
+    set_initialize(imp_linrows,m);
+
+    if (lp->LPS==dd_Optimal){
+      if (dd_Positive(lp->optvalue)){
+        answer=1;
+        if (localdebug) fprintf(stderr,"==> The matrix has no implicit linearity.\n");
+      } else if (dd_Negative(lp->optvalue)) {
+          answer=-1;
+          if (localdebug) fprintf(stderr,"==> The matrix defines the trivial system.\n");
+        } else {
+            answer=0;
+            if (localdebug) fprintf(stderr,"==> The matrix has some implicit linearity.\n");
+          }
+    } else {
+          answer=-2;
+          if (localdebug) fprintf(stderr,"==> The LP fails.\n");
+    }
+    if (answer==0){
+      /* List the implicit linearity rows */
+      for (i=m; i>=1; i--) {
+        if (!set_member(i,lp->posset_extra)) {
+          if (dd_ImplicitLinearity(M, i, cvec, error)) {
+            set_addelem(*imp_linrows, i);
+            if (localdebug) {
+              fprintf(stderr," row %ld is implicit linearity\n",i);
+              fprintf(stderr,"\n");
+            }
+          }
+          if (*error!=dd_NoError) goto _L999;
+        }
+      }
+    }  /* end of if (answer==0) */
+    if (answer==-1) {      
+      for (i=m; i>=1; i--) set_addelem(*imp_linrows, i);
+    } /* all rows are considered implicit linearity */
+
+    dd_FreeArow(d1,cvec);
+  }
+  _L999:
+  dd_FreeLPData(lp);
+
+  return answer;
+}
+
+
+dd_rowset dd_ImplicitLinearityRows(dd_MatrixPtr M, dd_ErrorType *error)  /* 092 */
+{
+  dd_colrange d;
+  dd_rowset imp_linset;
+  dd_Arow cvec; /* certificate */
+  int foi;
+  dd_boolean localdebug=dd_FALSE;
+
+  if (M->representation==dd_Generator){
+    d=(M->colsize)+2;
+  } else {
+    d=M->colsize+1;
+  }
+
+  dd_InitializeArow(d,&cvec);
+  if (localdebug) fprintf(stdout, "\ndd_ImplicitLinearityRows: Check whether the system contains any implicit linearity.\n");
+  foi=dd_FreeOfImplicitLinearity(M, cvec, &imp_linset, error);
+  if (localdebug){
+    switch (foi) {
+      case 1:
+        fprintf(stdout, "  It is free of implicit linearity.\n");
+        break;
+      
+      case 0:
+        fprintf(stdout, "  It is not free of implicit linearity.\n");
+        break;
+
+    case -1:
+        fprintf(stdout, "  The input system is trivial (i.e. the empty H-polytope or the V-rep of the whole space.\n");
+        break;
+    
+    default:
+        fprintf(stdout, "  The LP was not solved correctly.\n");
+        break;
+    
+    }
+  }
+  
+  if (localdebug){
+    fprintf(stderr, "  Implicit linearity rows are:\n");
+    set_fwrite(stderr,imp_linset);
+    fprintf(stderr, "\n");  
+  }
+  dd_FreeArow(d, cvec);
+  return imp_linset;
+}
+
+dd_boolean dd_MatrixCanonicalizeLinearity(dd_MatrixPtr *M, dd_rowset *impl_linset,dd_rowindex *newpos, 
+dd_ErrorType *error) /* 094 */
+{
+/* This is to recongnize all implicit linearities, and put all linearities at the top of
+   the matrix.    All implicit linearities will be returned by *impl_linset.
+*/
+  dd_rowrange rank;
+  dd_rowset linrows,ignoredrows,basisrows;
+  dd_colset ignoredcols,basiscols;
+  dd_rowrange i,k,m;
+  dd_rowindex newpos1;
+  dd_boolean success=dd_FALSE;
+  
+  linrows=dd_ImplicitLinearityRows(*M, error);
+  if (*error!=dd_NoError) goto _L99;
+  
+  m=(*M)->rowsize;
+      
+  set_uni((*M)->linset, (*M)->linset, linrows); 
+      /* add the implicit linrows to the explicit linearity rows */
+
+  /* To remove redundancy of the linearity part, 
+     we need to compute the rank and a basis of the linearity part. */
+  set_initialize(&ignoredrows,  (*M)->rowsize);
+  set_initialize(&ignoredcols,  (*M)->colsize);
+  set_compl(ignoredrows,  (*M)->linset);
+  rank=dd_MatrixRank(*M,ignoredrows,ignoredcols,&basisrows,&basiscols);
+  set_diff(ignoredrows,  (*M)->linset, basisrows);
+  dd_MatrixRowsRemove2(M,ignoredrows,newpos);
+  
+  dd_MatrixShiftupLinearity(M,&newpos1); 
+ 
+  for (i=1; i<=m; i++){
+    k=(*newpos)[i];
+    if (k>0) {
+      (*newpos)[i]=newpos1[k];
+    }
+  }
+  
+  *impl_linset=linrows;
+  success=dd_TRUE;
+  free(newpos1);
+  set_free(basisrows);
+  set_free(basiscols);
+  set_free(ignoredrows);
+  set_free(ignoredcols);
+_L99:
+  return success;
+}
+
+dd_boolean dd_MatrixCanonicalize(dd_MatrixPtr *M, dd_rowset *impl_linset, dd_rowset *redset, 
+dd_rowindex *newpos, dd_ErrorType *error) /* 094 */
+{
+/* This is to find a canonical representation of a matrix *M by 
+   recognizing all implicit linearities and all redundancies.  
+   All implicit linearities will be returned by *impl_linset and
+   redundancies will be returned by *redset.
+*/
+  dd_rowrange i,k,m;
+  dd_rowindex newpos1,revpos;
+  dd_rowset redset1;
+  dd_boolean success=dd_TRUE;
+  
+  m=(*M)->rowsize;
+  set_initialize(redset, m);
+  revpos=(long *)calloc(m+1,sizeof(long));
+  
+  success=dd_MatrixCanonicalizeLinearity(M, impl_linset, newpos, error);
+
+  if (!success) goto _L99;  
+  
+  for (i=1; i<=m; i++){
+    k=(*newpos)[i];
+    if (k>0) revpos[k]=i;  /* inverse of *newpos[] */
+  }
+ 
+  success=dd_MatrixRedundancyRemove(M, &redset1, &newpos1, error);  /* 094 */
+  
+  if (!success) goto _L99;
+
+  for (i=1; i<=m; i++){
+    k=(*newpos)[i];
+    if (k>0) {
+      (*newpos)[i]=newpos1[k];
+      if (newpos1[k]<0) (*newpos)[i]=-revpos[-newpos1[k]];  /* update the certificate of its duplicate removal. */
+      if (set_member(k,redset1)) set_addelem(*redset, i);
+    }
+  }
+
+_L99:
+  set_free(redset1);
+  free(newpos1);
+  free(revpos);
+  return success;
+}
+
+
+dd_boolean dd_ExistsRestrictedFace(dd_MatrixPtr M, dd_rowset R, dd_rowset S, dd_ErrorType *err)
+/* 0.94 */
+{
+/* This function checkes if there is a point that satifies all the constraints of
+the matrix M (interpreted as an H-representation) with additional equality contraints
+specified by R and additional strict inequality constraints specified by S.
+The set S is supposed to be disjoint from both R and M->linset.   When it is not,
+the set S will be considered as S\(R U M->linset).
+*/
+  dd_boolean answer=dd_FALSE;
+  dd_LPPtr lp=NULL;
+
+/*
+  printf("\n--- ERF ---\n");
+  printf("R = "); set_write(R); 
+  printf("S = "); set_write(S);
+*/
+  
+  lp=dd_Matrix2Feasibility2(M, R, S, err);
+
+  if (*err!=dd_NoError) goto _L99;
+ 
+/* Solve the LP by cdd LP solver. */
+  dd_LPSolve(lp, dd_DualSimplex, err);  /* Solve the LP */
+  if (*err!=dd_NoError) goto _L99;
+  if (lp->LPS==dd_Optimal && dd_Positive(lp->optvalue)) {
+    answer=dd_TRUE;
+  } 
+
+  dd_FreeLPData(lp);
+_L99:
+  return answer;
+}
+
+dd_boolean dd_ExistsRestrictedFace2(dd_MatrixPtr M, dd_rowset R, dd_rowset S, dd_LPSolutionPtr *lps, dd_ErrorType *err)
+/* 0.94 */
+{
+/* This function checkes if there is a point that satifies all the constraints of
+the matrix M (interpreted as an H-representation) with additional equality contraints
+specified by R and additional strict inequality constraints specified by S.
+The set S is supposed to be disjoint from both R and M->linset.   When it is not,
+the set S will be considered as S\(R U M->linset).
+
+This function returns a certificate of the answer in terms of the associated LP solutions.
+*/
+  dd_boolean answer=dd_FALSE;
+  dd_LPPtr lp=NULL;
+
+/*
+  printf("\n--- ERF ---\n");
+  printf("R = "); set_write(R); 
+  printf("S = "); set_write(S);
+*/
+  
+  lp=dd_Matrix2Feasibility2(M, R, S, err);
+
+  if (*err!=dd_NoError) goto _L99;
+ 
+/* Solve the LP by cdd LP solver. */
+  dd_LPSolve(lp, dd_DualSimplex, err);  /* Solve the LP */
+  if (*err!=dd_NoError) goto _L99;
+  if (lp->LPS==dd_Optimal && dd_Positive(lp->optvalue)) {
+    answer=dd_TRUE;
+  } 
+
+
+  (*lps)=dd_CopyLPSolution(lp);
+  dd_FreeLPData(lp);
+_L99:
+  return answer;
+}
+
+dd_boolean dd_FindRelativeInterior(dd_MatrixPtr M, dd_rowset *ImL, dd_rowset *Lbasis, dd_LPSolutionPtr *lps, dd_ErrorType *err) 
+/* 0.94 */
+{
+/* This function computes a point in the relative interior of the H-polyhedron given by M.
+Even the representation is V-representation, it simply interprete M as H-representation.
+lps returns the result of solving an LP whose solution is a relative interior point.
+ImL returns all row indices of M that are implicit linearities, i.e. their inqualities
+are satisfied by equality by all points in the polyhedron.  Lbasis returns a row basis
+of the submatrix of M consisting of all linearities and implicit linearities.  This means
+that the dimension of the polyhedron is M->colsize - set_card(Lbasis) -1.
+*/
+
+  dd_rowset S;
+  dd_colset T, Lbasiscols;
+  dd_boolean success=dd_FALSE;
+  dd_rowrange i;
+  dd_colrange rank;
+  
+
+  *ImL=dd_ImplicitLinearityRows(M, err);
+
+  if (*err!=dd_NoError) goto _L99;
+
+  set_initialize(&S, M->rowsize);   /* the empty set */
+  for (i=1; i <=M->rowsize; i++) {
+	if (!set_member(i, M->linset) && !set_member(i, *ImL)){
+	  set_addelem(S, i);  /* all nonlinearity rows go to S  */
+	}
+  }
+  if (dd_ExistsRestrictedFace2(M, *ImL, S, lps, err)){
+    /* printf("a relative interior point found\n"); */
+    success=dd_TRUE;
+  }
+  
+  set_initialize(&T,  M->colsize); /* empty set */
+  rank=dd_MatrixRank(M,S,T,Lbasis,&Lbasiscols); /* the rank of the linearity submatrix of M.  */
+
+  set_free(S);
+  set_free(T);
+  set_free(Lbasiscols);
+  
+_L99:
+  return success;
+}
+
+
+dd_rowrange dd_RayShooting(dd_MatrixPtr M, dd_Arow p, dd_Arow r)
+{
+/* 092, find the first inequality "hit" by a ray from an intpt.  */
+  dd_rowrange imin=-1,i,m;
+  dd_colrange j, d;
+  dd_Arow vecmin, vec;
+  mytype min,t1,t2,alpha, t1min;  
+  dd_boolean started=dd_FALSE;
+  dd_boolean localdebug=dd_FALSE;
+
+  m=M->rowsize;
+  d=M->colsize;
+  if (!dd_Equal(dd_one, p[0])){
+    fprintf(stderr, "Warning: RayShooting is called with a point with first coordinate not 1.\n");
+    dd_set(p[0],dd_one);
+  }
+  if (!dd_EqualToZero(r[0])){
+    fprintf(stderr, "Warning: RayShooting is called with a direction with first coordinate not 0.\n");
+    dd_set(r[0],dd_purezero);
+  }
+
+  dd_init(alpha); dd_init(min); dd_init(t1); dd_init(t2); dd_init(t1min);
+  dd_InitializeArow(d,&vecmin);
+  dd_InitializeArow(d,&vec);
+
+  for (i=1; i<=m; i++){
+    dd_InnerProduct(t1, d, M->matrix[i-1], p);
+    if (dd_Positive(t1)) {
+      dd_InnerProduct(t2, d, M->matrix[i-1], r);
+      dd_div(alpha, t2, t1);
+      if (!started){
+        imin=i;  dd_set(min, alpha);
+        dd_set(t1min, t1);  /* store the denominator. */
+        started=dd_TRUE;
+        if (localdebug) {
+          fprintf(stderr," Level 1: imin = %ld and min = ", imin);
+          dd_WriteNumber(stderr, min);
+          fprintf(stderr,"\n");
+        }
+      } else {
+        if (dd_Smaller(alpha, min)){
+          imin=i;  dd_set(min, alpha);
+          dd_set(t1min, t1);  /* store the denominator. */
+          if (localdebug) {
+            fprintf(stderr," Level 2: imin = %ld and min = ", imin);
+            dd_WriteNumber(stderr, min);
+            fprintf(stderr,"\n");
+          }
+        } else {
+          if (dd_Equal(alpha, min)) { /* tie break */
+            for (j=1; j<= d; j++){
+              dd_div(vecmin[j-1], M->matrix[imin-1][j-1], t1min);
+              dd_div(vec[j-1], M->matrix[i-1][j-1], t1);
+            }
+            if (dd_LexSmaller(vec,vecmin, d)){
+              imin=i;  dd_set(min, alpha);
+              dd_set(t1min, t1);  /* store the denominator. */
+              if (localdebug) {
+                fprintf(stderr," Level 3: imin = %ld and min = ", imin);
+                dd_WriteNumber(stderr, min);
+                fprintf(stderr,"\n");
+              }
+            }
+          }
+        }
+      }       
+    }
+  }
+
+  dd_clear(alpha); dd_clear(min); dd_clear(t1); dd_clear(t2); dd_clear(t1min);
+  dd_FreeArow(d, vecmin);
+  dd_FreeArow(d, vec);
+  return imin;
+}
+
+#ifdef GMPRATIONAL
+void dd_BasisStatusMaximize(dd_rowrange m_size,dd_colrange d_size,
+    dd_Amatrix A,dd_Bmatrix T,dd_rowset equalityset,
+    dd_rowrange objrow,dd_colrange rhscol,ddf_LPStatusType LPS,
+    mytype *optvalue,dd_Arow sol,dd_Arow dsol,dd_rowset posset, ddf_colindex nbindex,
+    ddf_rowrange re,ddf_colrange se, dd_colrange *nse, long *pivots, int *found, int *LPScorrect)
+/*  This is just to check whether the status LPS of the basis given by 
+nbindex with extra certificates se or re is correct.  It is done
+by recomputing the basis inverse matrix T.  It does not solve the LP
+when the status *LPS is undecided.  Thus the input is
+m_size, d_size, A, equalityset, LPS, nbindex, re and se.
+Other values will be recomputed from scratch.
+
+The main purpose of the function is to verify the correctness
+of the result of floating point computation with the GMP rational
+arithmetics.
+*/
+{
+  long pivots0,pivots1,fbasisrank;
+  dd_rowrange i,is;
+  dd_colrange s,senew,j;
+  static dd_rowindex bflag;
+  static long mlast=0;
+  static dd_rowindex OrderVector;  /* the permutation vector to store a preordered row indices */
+  unsigned int rseed=1;
+  mytype val;
+  dd_colindex nbtemp;
+  dd_LPStatusType ddlps;
+  dd_boolean localdebug=dd_FALSE;
+
+  if (dd_debug) localdebug=dd_debug;
+  if (localdebug){
+     printf("\nEvaluating dd_BasisStatusMaximize:\n");
+  }
+  dd_init(val);
+  nbtemp=(long *) calloc(d_size+1,sizeof(long));
+  for (i=0; i<= 4; i++) pivots[i]=0;
+  if (bflag==NULL || mlast!=m_size){
+     if (mlast!=m_size && mlast>0) {
+       free(bflag);   /* called previously with different m_size */
+       free(OrderVector);
+     }
+     bflag=(long *) calloc(m_size+1,sizeof(long));
+     OrderVector=(long *)calloc(m_size+1,sizeof(long)); 
+     /* initialize only for the first time or when a larger space is needed */
+      mlast=m_size;
+  }
+
+  /* Initializing control variables. */
+  dd_ComputeRowOrderVector2(m_size,d_size,A,OrderVector,dd_MinIndex,rseed);
+
+  pivots1=0;
+
+  dd_ResetTableau(m_size,d_size,T,nbtemp,bflag,objrow,rhscol);
+
+  if (localdebug){
+     printf("\nnbindex:");
+     for (j=1; j<=d_size; j++) printf(" %ld", nbindex[j]);
+     printf("\n");
+     printf("re = %ld,   se=%ld\n", re, se);
+  }
+  
+  is=nbindex[se];
+  if (localdebug) printf("se=%ld,  is=%ld\n", se, is);
+  
+  fbasisrank=d_size-1;
+  for (j=1; j<=d_size; j++){
+    if (nbindex[j]<0) fbasisrank=fbasisrank-1;
+	/* fbasisrank=the basis rank computed by floating-point */
+  }
+
+  if (fbasisrank<d_size-1) {
+    if (localdebug) {
+	  printf("d_size = %ld, the size of basis = %ld\n", d_size, fbasisrank);
+	  printf("dd_BasisStatusMaximize: the size of basis is smaller than d-1.\nIt is safer to run the LP solver with GMP\n");
+	}
+	*found=dd_FALSE;
+	goto _L99;
+     /* Suspicious case.  Rerun the LP solver with GMP. */
+  }
+
+
+
+  dd_FindLPBasis2(m_size,d_size,A,T,OrderVector, equalityset,nbindex,bflag,
+      objrow,rhscol,&s,found,&pivots0);
+
+/* set up the new se column and corresponding variable */
+  senew=bflag[is];
+  is=nbindex[senew];
+  if (localdebug) printf("new se=%ld,  is=%ld\n", senew, is);
+      
+  pivots[4]=pivots0;  /*GMP postopt pivots */
+  dd_statBSpivots+=pivots0;
+
+  if (!(*found)){
+    if (localdebug) {
+       printf("dd_BasisStatusMaximize: a specified basis DOES NOT exist.\n");
+    }
+
+       goto _L99;
+     /* No speficied LP basis is found. */
+  }
+
+  if (localdebug) {
+    printf("dd_BasisStatusMaximize: a specified basis exists.\n");
+    if (m_size <=100 && d_size <=30)
+    dd_WriteTableau(stdout,m_size,d_size,A,T,nbindex,bflag);
+  }
+
+  /* Check whether a recomputed basis is of the type specified by LPS */
+  *LPScorrect=dd_TRUE;
+  switch (LPS){
+     case dd_Optimal: 
+       for (i=1; i<=m_size; i++) {
+         if (i!=objrow && bflag[i]==-1) {  /* i is a basic variable */
+            dd_TableauEntry(&val,m_size,d_size,A,T,i,rhscol);
+            if (dd_Negative(val)) {
+               if (localdebug) printf("RHS entry for %ld is negative\n", i);
+               *LPScorrect=dd_FALSE;
+               break;
+            }
+          } else if (bflag[i] >0) { /* i is nonbasic variable */
+            dd_TableauEntry(&val,m_size,d_size,A,T,objrow,bflag[i]);
+            if (dd_Positive(val)) {
+               if (localdebug) printf("Reduced cost entry for %ld is positive\n", i);
+               *LPScorrect=dd_FALSE;
+               break;
+            }
+          }
+       };
+       break;
+     case dd_Inconsistent: 
+       for (j=1; j<=d_size; j++){
+          dd_TableauEntry(&val,m_size,d_size,A,T,re,j);
+          if (j==rhscol){
+             if (dd_Nonnegative(val)){
+               if (localdebug) printf("RHS entry for %ld is nonnegative\n", re);
+               *LPScorrect=dd_FALSE;
+               break;             
+             }
+           } else if (dd_Positive(val)){
+               if (localdebug) printf("the row entry for(%ld, %ld) is positive\n", re, j);
+               *LPScorrect=dd_FALSE;
+               break;             
+           }
+       };
+       break;
+     case dd_DualInconsistent:
+        for (i=1; i<=m_size; i++){
+          dd_TableauEntry(&val,m_size,d_size,A,T,i,bflag[is]);
+          if (i==objrow){
+             if (dd_Nonpositive(val)){
+               if (localdebug) printf("Reduced cost entry for %ld is nonpositive\n", bflag[is]);
+               *LPScorrect=dd_FALSE;
+               break;             
+             }
+           } else if (dd_Negative(val)){
+               if (localdebug) printf("the column entry for(%ld, %ld) is positive\n", i, bflag[is]);
+               *LPScorrect=dd_FALSE;
+               break;             
+           }
+       };
+       break;
+;
+     default: break;
+  }
+
+  ddlps=LPSf2LPS(LPS);
+
+  dd_SetSolutions(m_size,d_size,A,T,
+   objrow,rhscol,ddlps,optvalue,sol,dsol,posset,nbindex,re,senew,bflag);
+  *nse=senew;
+
+  
+_L99:
+  dd_clear(val);
+  free(nbtemp);
+}
+
+void dd_BasisStatusMinimize(dd_rowrange m_size,dd_colrange d_size,
+    dd_Amatrix A,dd_Bmatrix T,dd_rowset equalityset,
+    dd_rowrange objrow,dd_colrange rhscol,ddf_LPStatusType LPS,
+    mytype *optvalue,dd_Arow sol,dd_Arow dsol, dd_rowset posset, ddf_colindex nbindex,
+    ddf_rowrange re,ddf_colrange se,dd_colrange *nse,long *pivots, int *found, int *LPScorrect)
+{
+   dd_colrange j;
+   
+   for (j=1; j<=d_size; j++) dd_neg(A[objrow-1][j-1],A[objrow-1][j-1]);
+   dd_BasisStatusMaximize(m_size,d_size,A,T,equalityset, objrow,rhscol,
+     LPS,optvalue,sol,dsol,posset,nbindex,re,se,nse,pivots,found,LPScorrect);
+   dd_neg(*optvalue,*optvalue);
+   for (j=1; j<=d_size; j++){
+	if (LPS!=dd_Inconsistent) {
+	   /* Inconsistent certificate stays valid for minimization, 0.94e */
+       dd_neg(dsol[j-1],dsol[j-1]);
+	 }
+     dd_neg(A[objrow-1][j-1],A[objrow-1][j-1]);
+   }
+}
+#endif
+
+/* end of cddlp.c */
+
diff --git a/third_party/cddlib/lib-src/cddmp.c b/third_party/cddlib/lib-src/cddmp.c
new file mode 100644
index 0000000..fe04849
--- /dev/null
+++ b/third_party/cddlib/lib-src/cddmp.c
@@ -0,0 +1,185 @@
+/* cddmp.c       (cddlib arithmetic operations using gmp)
+   written by Komei Fukuda, fukuda@math.ethz.ch
+   Version 0.94h, April 30, 2015
+*/
+/* This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "setoper.h"  /* set operation library header (Ver. March 16,1995 or later) */
+#include "cdd.h"
+
+void dd_set_global_constants()
+{
+ dd_init(dd_zero);
+ dd_init(dd_minuszero);
+ dd_init(dd_one);
+ dd_init(dd_minusone);
+ dd_init(dd_purezero);
+  
+ time(&dd_statStartTime); /* cddlib starting time */
+ dd_statBApivots=0;  /* basis finding pivots */
+ dd_statCCpivots=0;  /* criss-cross pivots */
+ dd_statDS1pivots=0; /* phase 1 pivots */
+ dd_statDS2pivots=0; /* phase 2 pivots */
+ dd_statACpivots=0;  /* anticycling (cc) pivots */
+
+ dd_choiceLPSolverDefault=dd_DualSimplex;  /* Default LP solver Algorithm */
+ dd_choiceRedcheckAlgorithm=dd_DualSimplex;  /* Redundancy Checking Algorithm */
+ dd_choiceLexicoPivotQ=dd_TRUE;    /* whether to use the lexicographic pivot */
+ 
+#if defined GMPRATIONAL
+ dd_statBSpivots=0;  /* basis status checking pivots */
+ mpq_set_ui(dd_zero,0U,1U);
+ mpq_set_ui(dd_purezero,0U,1U);
+ mpq_set_ui(dd_one,1U,1U);
+ mpq_set_si(dd_minusone,-1L,1U);
+ ddf_set_global_constants();
+#elif defined GMPFLOAT
+ mpf_set_d(dd_zero,dd_almostzero);
+ mpf_set_ui(dd_purezero,0U);
+ mpf_set_ui(dd_one,1U);
+ mpf_set_si(dd_minusone,-1L,1U);
+#else
+ dd_zero[0]= dd_almostzero;  /*real zero */
+ dd_purezero[0]= 0.0;
+ dd_one[0]= 1L;
+ dd_minusone[0]= -1L;
+#endif
+ dd_neg(dd_minuszero,dd_zero);
+}
+
+void dd_free_global_constants()
+{
+ dd_clear(dd_zero);
+ dd_clear(dd_minuszero);
+ dd_clear(dd_one);
+ dd_clear(dd_minusone);
+ dd_clear(dd_purezero);
+  
+ time(&dd_statStartTime); /* cddlib starting time */
+ dd_statBApivots=0;  /* basis finding pivots */
+ dd_statCCpivots=0;  /* criss-cross pivots */
+ dd_statDS1pivots=0; /* phase 1 pivots */
+ dd_statDS2pivots=0; /* phase 2 pivots */
+ dd_statACpivots=0;  /* anticycling (cc) pivots */
+
+ dd_choiceLPSolverDefault=dd_DualSimplex;  /* Default LP solver Algorithm */
+ dd_choiceRedcheckAlgorithm=dd_DualSimplex;  /* Redundancy Checking Algorithm */
+ dd_choiceLexicoPivotQ=dd_TRUE;    /* whether to use the lexicographic pivot */
+ 
+#if defined GMPRATIONAL
+ dd_statBSpivots=0;  /* basis status checking pivots */
+ ddf_free_global_constants();
+#endif
+}
+
+
+#if defined GMPRATIONAL
+void ddd_mpq_set_si(mytype a,signed long b)
+{
+  mpz_t nz, dz;
+
+  mpz_init(nz); mpz_init(dz);
+
+  mpz_set_si(nz, b);
+  mpz_set_ui(dz, 1U);
+  mpq_set_num(a, nz);
+  mpq_set_den(a, dz);
+  mpz_clear(nz);  mpz_clear(dz);
+}
+#endif
+
+#if defined dd_CDOUBLE
+void ddd_init(mytype a)   
+{
+  a[0]=0L;
+}
+  
+void ddd_clear(mytype a)
+{
+  /* a[0]=0L;  */
+}
+
+void ddd_set(mytype a,mytype b)
+{
+  a[0]=b[0];
+}
+
+void ddd_set_d(mytype a,double b)
+{
+  a[0]=b;
+}
+
+void ddd_set_si(mytype a,signed long b)
+{
+  a[0]=(double)b;
+}
+
+void ddd_set_si2(mytype a,signed long b, unsigned long c)
+{
+  a[0]=(double)b/(double)c;
+}
+
+void ddd_add(mytype a,mytype b,mytype c)
+{
+  a[0]=b[0]+c[0];
+}
+
+void ddd_sub(mytype a,mytype b,mytype c)
+{
+  a[0]=b[0]-c[0];
+}
+
+void ddd_mul(mytype a,mytype b,mytype c)
+{
+  a[0]=b[0]*c[0];
+}
+
+void ddd_div(mytype a,mytype b,mytype c)
+{
+  a[0]=b[0]/c[0];
+}
+
+void ddd_neg(mytype a,mytype b)
+{
+  a[0]=-b[0];
+}
+
+void ddd_inv(mytype a,mytype b)
+{
+  a[0]=1/b[0];
+}
+
+int ddd_cmp(mytype a,mytype b)
+{
+  if (a[0]-b[0]>0) return 1;
+  else if (a[0]-b[0]>=0) return 0;
+  else return -1;
+}
+
+int ddd_sgn(mytype a)
+{
+  if (a[0]>0) return 1;
+  else if (a[0]>=0) return 0;
+  else return -1;
+}
+
+double ddd_get_d(mytype a)
+{
+  return a[0];
+}
+#endif
+
+/* end of  cddmp.h  */
diff --git a/third_party/cddlib/lib-src/cddmp.h b/third_party/cddlib/lib-src/cddmp.h
new file mode 100644
index 0000000..1ab69b0
--- /dev/null
+++ b/third_party/cddlib/lib-src/cddmp.h
@@ -0,0 +1,127 @@
+/* cddmp.h       (cddlib arithmetic operations using gmp)
+   written by Komei Fukuda, fukuda@math.ethz.ch
+   Version 0.94h, April 30, 2015
+*/
+
+/* This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef  __CDDMP_H
+#define  __CDDMP_H
+#endif  /* __CDDMP_H */
+
+/**********************************/
+/*         MACROS                 */
+/* dependent on mp implementation */
+/**********************************/
+
+#if defined GMPRATIONAL
+ #include "gmp.h"
+ #define dd_ARITHMETIC "GMP rational"
+ #define dd_init(a)              mpq_init(a)     
+ #define dd_clear(a)             mpq_clear(a)     
+ #define dd_set(a, b)            mpq_set(a,b)     
+ #define dd_set_si(a, b)         ddd_mpq_set_si(a,b)  /* defined in cddgmp.c */
+ #define dd_set_si2(a, b, c)     mpq_set_si(a,b,c)    /* gmp 3.1 or higher */
+ #define dd_add(a, b, c)         mpq_add(a,b,c)
+ #define dd_sub(a, b, c)         mpq_sub(a,b,c)
+ #define dd_mul(a, b, c)         mpq_mul(a,b,c)
+ #define dd_div(a, b, c)         mpq_div(a,b,c)
+ #define dd_neg(a, b)            mpq_neg(a,b)
+ #define dd_inv(a, b)            mpq_inv(a,b)
+ #define dd_cmp(a, b)            mpq_cmp(a,b)  
+    /* returns pos if a>b, 0 if a=b, negative if a<b */
+ #define dd_sgn(a)               mpq_sgn(a)
+    /* returns nonzero if equal.  much faster than mpq_cmp. */
+ #define dd_get_d(a)             mpq_get_d(a)     
+#elif defined GMPFLOAT
+ #include "gmp.h"
+ #define dd_ARITHMETIC "GMP float"
+ #define dd_init(a)              mpf_init(a)     
+ #define dd_clear(a)             mpf_clear(a)     
+ #define dd_set(a, b)            mpf_set(a,b)     
+ #define dd_set_d(a, b)          mpf_set_d(a,b)     
+ #define dd_set_si(a, b)         mpf_set_si(a,b)     
+ #define dd_set_si2(a, b, c)     mpf_set_si(a,b,c)    /* gmp 3.1 or higher */
+ #define dd_add(a, b, c)         mpf_add(a,b,c)
+ #define dd_sub(a, b, c)         mpf_sub(a,b,c)
+ #define dd_mul(a, b, c)         mpf_mul(a,b,c)
+ #define dd_div(a, b, c)         mpf_div(a,b,c)
+ #define dd_neg(a, b)            mpf_neg(a,b)
+ #define dd_inv(a, b)            mpf_inv(a,b)
+ #define dd_cmp(a, b)            mpf_cmp(a,b)  
+    /* returns pos if a>b, 0 if a=b, negative if a<b */
+ #define dd_sgn(a)               mpf_sgn(a)
+ #define dd_get_d(a)             mpf_get_d(a)     
+#else /* built-in C double */
+ #define dd_ARITHMETIC "C double"
+ #define dd_CDOUBLE
+ #define dd_init(a)              ddd_init(a)     
+ #define dd_clear(a)             ddd_clear(a)     
+ #define dd_set(a, b)            ddd_set(a,b)     
+ #define dd_set_si(a, b)         ddd_set_si(a,b)     
+ #define dd_set_si2(a, b, c)     ddd_set_si2(a,b,c)  
+ #define dd_set_d(a, b)          ddd_set_d(a,b)     
+ #define dd_add(a, b, c)         ddd_add(a,b,c)
+ #define dd_sub(a, b, c)         ddd_sub(a,b,c)
+ #define dd_mul(a, b, c)         ddd_mul(a,b,c)
+ #define dd_div(a, b, c)         ddd_div(a,b,c)
+ #define dd_neg(a, b)            ddd_neg(a,b)
+ #define dd_inv(a, b)            ddd_inv(a,b)
+ #define dd_cmp(a, b)            ddd_cmp(a,b)  
+    /* returns pos if a>b, 0 if a=b, negative if a<b */
+ #define dd_sgn(a)               ddd_sgn(a)
+ #define dd_get_d(a)             ddd_get_d(a)     
+#endif
+
+
+#if defined GMPRATIONAL
+ typedef mpq_t mytype;
+#elif defined GMPFLOAT
+ typedef mpf_t mytype;
+#else /* built-in C double */
+ typedef double mytype[1];
+#endif
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+void ddd_mpq_set_si(mytype,signed long);
+void ddd_init(mytype);  
+void ddd_clear(mytype);
+void ddd_set(mytype,mytype);
+void ddd_set_d(mytype,double);
+void ddd_set_si(mytype,signed long);
+void ddd_set_si2(mytype,signed long, unsigned long);
+void ddd_add(mytype,mytype,mytype);
+void ddd_sub(mytype,mytype,mytype);
+void ddd_mul(mytype,mytype,mytype);
+void ddd_div(mytype,mytype,mytype);
+void ddd_neg(mytype,mytype);
+void ddd_inv(mytype,mytype);
+int ddd_cmp(mytype,mytype);
+int ddd_sgn(mytype);
+double ddd_get_d(mytype);
+void ddd_mpq_set_si(mytype,signed long);
+
+void dd_set_global_constants(void);
+void dd_free_global_constants(void);  /* 094d */
+
+#if defined(__cplusplus)
+}
+#endif
+
+/* end of  cddmp.h  */
diff --git a/third_party/cddlib/lib-src/cddproj.c b/third_party/cddlib/lib-src/cddproj.c
new file mode 100644
index 0000000..2ef7e7a
--- /dev/null
+++ b/third_party/cddlib/lib-src/cddproj.c
@@ -0,0 +1,235 @@
+/* cddproj.c:  Polyhedral Projections in cddlib
+   written by Komei Fukuda, fukuda@cs.mcgill.ca
+   Version 0.94, Aug. 4, 2005
+*/
+
+/* cddlib : C-library of the double description method for
+   computing all vertices and extreme rays of the polyhedron 
+   P= {x :  b - A x >= 0}.  
+   Please read COPYING (GNU General Public Licence) and
+   the manual cddlibman.tex for detail.
+*/
+
+#include "setoper.h"  /* set operation library header (Ver. June 1, 2000 or later) */
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_MatrixPtr dd_BlockElimination(dd_MatrixPtr M, dd_colset delset, dd_ErrorType *error)
+/* Eliminate the variables (columns) delset by
+   the Block Elimination with dd_DoubleDescription algorithm.
+
+   Given (where y is to be eliminated):
+   c1 + A1 x + B1 y >= 0
+   c2 + A2 x + B2 y =  0
+
+   1. First construct the dual system:  z1^T B1 + z2^T B2 = 0, z1 >= 0.
+   2. Compute the generators of the dual.
+   3. Then take the linear combination of the original system with each generator.
+   4. Remove redundant inequalies.
+
+*/
+{
+  dd_MatrixPtr Mdual=NULL, Mproj=NULL, Gdual=NULL;
+  dd_rowrange i,h,m,mproj,mdual,linsize;
+  dd_colrange j,k,d,dproj,ddual,delsize;
+  dd_colindex delindex;
+  mytype temp,prod;
+  dd_PolyhedraPtr dualpoly;
+  dd_ErrorType err=dd_NoError;
+  dd_boolean localdebug=dd_FALSE;
+
+  *error=dd_NoError;
+  m= M->rowsize;
+  d= M->colsize;
+  delindex=(long*)calloc(d+1,sizeof(long));
+  dd_init(temp);
+  dd_init(prod);
+
+  k=0; delsize=0;
+  for (j=1; j<=d; j++){
+    if (set_member(j, delset)){
+      k++;  delsize++;
+      delindex[k]=j;  /* stores the kth deletion column index */
+    }
+  }
+  if (localdebug) dd_WriteMatrix(stdout, M);
+
+  linsize=set_card(M->linset);
+  ddual=m+1;
+  mdual=delsize + m - linsize;  /* #equalitions + dimension of z1 */
+
+  /* setup the dual matrix */
+  Mdual=dd_CreateMatrix(mdual, ddual);
+  Mdual->representation=dd_Inequality;
+  for (i = 1; i <= delsize; i++){
+    set_addelem(Mdual->linset,i);  /* equality */
+    for (j = 1; j <= m; j++) {
+      dd_set(Mdual->matrix[i-1][j], M->matrix[j-1][delindex[i]-1]);
+    }
+  } 
+
+  k=0;
+  for (i = 1; i <= m; i++){
+    if (!set_member(i, M->linset)){
+      /* set nonnegativity for the dual variable associated with
+         each non-linearity inequality. */
+      k++;
+      dd_set(Mdual->matrix[delsize+k-1][i], dd_one);  
+    }
+  } 
+  
+  /* 2. Compute the generators of the dual system. */
+  dualpoly=dd_DDMatrix2Poly(Mdual, &err);
+  Gdual=dd_CopyGenerators(dualpoly);
+
+  /* 3. Take the linear combination of the original system with each generator.  */
+  dproj=d-delsize;
+  mproj=Gdual->rowsize;
+  Mproj=dd_CreateMatrix(mproj, dproj);
+  Mproj->representation=dd_Inequality;
+  set_copy(Mproj->linset, Gdual->linset);
+
+  for (i=1; i<=mproj; i++){
+    k=0;
+    for (j=1; j<=d; j++){
+      if (!set_member(j, delset)){
+        k++;  /* new index of the variable x_j  */
+        dd_set(prod, dd_purezero);
+        for (h = 1; h <= m; h++){
+          dd_mul(temp,M->matrix[h-1][j-1],Gdual->matrix[i-1][h]); 
+          dd_add(prod,prod,temp);
+        }
+        dd_set(Mproj->matrix[i-1][k-1],prod);
+      }
+    }
+  }
+  if (localdebug) printf("Size of the projection system: %ld x %ld\n", mproj, dproj);
+  
+  dd_FreePolyhedra(dualpoly);
+  free(delindex);
+  dd_clear(temp);
+  dd_clear(prod);
+  dd_FreeMatrix(Mdual);
+  dd_FreeMatrix(Gdual);
+  return Mproj;
+}
+
+
+dd_MatrixPtr dd_FourierElimination(dd_MatrixPtr M,dd_ErrorType *error)
+/* Eliminate the last variable (column) from the given H-matrix using 
+   the standard Fourier Elimination.
+ */
+{
+  dd_MatrixPtr Mnew=NULL;
+  dd_rowrange i,inew,ip,in,iz,m,mpos=0,mneg=0,mzero=0,mnew;
+  dd_colrange j,d,dnew;
+  dd_rowindex posrowindex, negrowindex,zerorowindex;
+  mytype temp1,temp2;
+  dd_boolean localdebug=dd_FALSE;
+
+  *error=dd_NoError;
+  m= M->rowsize;
+  d= M->colsize;
+  if (d<=1){
+    *error=dd_ColIndexOutOfRange;
+    if (localdebug) {
+      printf("The number of column is too small: %ld for Fourier's Elimination.\n",d);
+    }
+    goto _L99;
+  }
+
+  if (M->representation==dd_Generator){
+    *error=dd_NotAvailForV;
+    if (localdebug) {
+      printf("Fourier's Elimination cannot be applied to a V-polyhedron.\n");
+    }
+    goto _L99;
+  }
+
+  if (set_card(M->linset)>0){
+    *error=dd_CannotHandleLinearity;
+    if (localdebug) {
+      printf("The Fourier Elimination function does not handle equality in this version.\n");
+    }
+    goto _L99;
+  }
+
+  /* Create temporary spaces to be removed at the end of this function */
+  posrowindex=(long*)calloc(m+1,sizeof(long));
+  negrowindex=(long*)calloc(m+1,sizeof(long));
+  zerorowindex=(long*)calloc(m+1,sizeof(long));
+  dd_init(temp1);
+  dd_init(temp2);
+
+  for (i = 1; i <= m; i++) {
+    if (dd_Positive(M->matrix[i-1][d-1])){
+      mpos++;
+      posrowindex[mpos]=i;
+    } else if (dd_Negative(M->matrix[i-1][d-1])) {
+      mneg++;
+      negrowindex[mneg]=i;
+    } else {
+      mzero++;
+      zerorowindex[mzero]=i;
+    }
+  }  /*of i*/
+
+  if (localdebug) {
+    dd_WriteMatrix(stdout, M);
+    printf("No of  (+  -  0) rows = (%ld, %ld, %ld)\n", mpos,mneg, mzero);
+  }
+
+  /* The present code generates so many redundant inequalities and thus
+     is quite useless, except for very small examples
+  */
+  mnew=mzero+mpos*mneg;  /* the total number of rows after elimination */
+  dnew=d-1;
+
+  Mnew=dd_CreateMatrix(mnew, dnew);
+  dd_CopyArow(Mnew->rowvec, M->rowvec, dnew);
+/*  set_copy(Mnew->linset,M->linset);  */
+  Mnew->numbtype=M->numbtype;
+  Mnew->representation=M->representation;
+  Mnew->objective=M->objective;
+
+
+  /* Copy the inequalities independent of x_d to the top of the new matrix. */
+  for (iz = 1; iz <= mzero; iz++){
+    for (j = 1; j <= dnew; j++) {
+      dd_set(Mnew->matrix[iz-1][j-1], M->matrix[zerorowindex[iz]-1][j-1]);
+    }
+  } 
+
+  /* Create the new inequalities by combining x_d positive and negative ones. */
+  inew=mzero;  /* the index of the last x_d zero inequality */
+  for (ip = 1; ip <= mpos; ip++){
+    for (in = 1; in <= mneg; in++){
+      inew++;
+      dd_neg(temp1, M->matrix[negrowindex[in]-1][d-1]);
+      for (j = 1; j <= dnew; j++) {
+        dd_LinearComb(temp2,M->matrix[posrowindex[ip]-1][j-1],temp1,\
+          M->matrix[negrowindex[in]-1][j-1],\
+          M->matrix[posrowindex[ip]-1][d-1]);
+        dd_set(Mnew->matrix[inew-1][j-1],temp2);
+      }
+      dd_Normalize(dnew,Mnew->matrix[inew-1]);
+    }
+  } 
+
+
+  free(posrowindex);
+  free(negrowindex);
+  free(zerorowindex);
+  dd_clear(temp1);
+  dd_clear(temp2);
+
+ _L99:
+  return Mnew;
+}
+
+
+/* end of cddproj.c */
diff --git a/third_party/cddlib/lib-src/cddtypes.h b/third_party/cddlib/lib-src/cddtypes.h
new file mode 100644
index 0000000..058f83e
--- /dev/null
+++ b/third_party/cddlib/lib-src/cddtypes.h
@@ -0,0 +1,331 @@
+/* cddtypes.h: Header file for cddlib.c 
+   written by Komei Fukuda, fukuda@math.ethz.ch
+   Version 0.94h, April 30, 2015
+*/
+
+/* cddlib.c : C-Implementation of the double description method for
+   computing all vertices and extreme rays of the polyhedron 
+   P= {x :  b - A x >= 0}.  
+   Please read COPYING (GNU General Public Licence) and
+   the manual cddlibman.tex for detail.
+*/
+
+#ifndef  __CDDTYPES_H
+#define  __CDDTYPES_H
+#endif  /* __CDDTYPES_H */
+
+#define dd_COPYRIGHT   "Copyright (C) 1996, Komei Fukuda, fukuda@ifor.math.ethz.ch"
+#define dd_DDVERSION   "Version 0.94g (March 23, 2012)"
+#include <time.h>
+
+#define dd_wordlenmax    1024 
+#define dd_linelenmax    4096
+#define dd_datawidth       10
+#define dd_filenamelen    255
+
+#define dd_FALSE 0
+#define dd_TRUE 1
+
+typedef int dd_boolean;
+
+typedef long dd_rowrange;
+typedef long dd_colrange;
+typedef long dd_bigrange;
+
+typedef set_type dd_rowset;
+typedef set_type dd_colset;
+typedef long *dd_rowindex;   
+typedef int *dd_rowflag;   
+typedef long *dd_colindex;
+typedef mytype **dd_Amatrix;
+typedef mytype *dd_Arow;
+typedef set_type *dd_SetVector;
+typedef mytype **dd_Bmatrix;
+typedef set_type *dd_Aincidence;
+
+/* typedef char dd_FilenameType[dd_filenamelen]; deleted 000505*/
+typedef char dd_DataFileType[dd_filenamelen];
+typedef char dd_LineType[dd_linelenmax];
+typedef char dd_WordType[dd_wordlenmax];
+
+typedef struct dd_raydata *dd_RayPtr;
+
+typedef struct dd_raydata {
+  mytype *Ray;
+  dd_rowset ZeroSet;
+  dd_rowrange FirstInfeasIndex;  /* the first inequality the ray violates */
+  dd_boolean feasible;  /* flag to store the feasibility */
+  mytype ARay;   /* temporary area to store some row of A*Ray */
+  dd_RayPtr Next;
+} dd_RayType;
+
+typedef struct dd_adjacencydata *dd_AdjacencyPtr;
+typedef struct dd_adjacencydata {
+  dd_RayPtr Ray1, Ray2;
+  dd_AdjacencyPtr Next;
+} dd_AdjacencyType;
+
+typedef enum {
+  dd_Combinatorial, dd_Algebraic
+} dd_AdjacencyTestType;
+
+typedef enum {
+  dd_MaxIndex, dd_MinIndex, dd_MinCutoff, dd_MaxCutoff, dd_MixCutoff,
+   dd_LexMin, dd_LexMax, dd_RandomRow
+} dd_RowOrderType;
+
+typedef enum {
+  dd_Unknown=0, dd_Real, dd_Rational, dd_Integer
+} dd_NumberType;
+
+typedef enum {
+  dd_Unspecified=0, dd_Inequality, dd_Generator
+} dd_RepresentationType;
+
+typedef enum {
+  dd_IneToGen, dd_GenToIne, dd_LPMax, dd_LPMin, dd_InteriorFind
+} dd_ConversionType;
+
+typedef enum {
+  dd_IncOff=0, dd_IncCardinality, dd_IncSet
+} dd_IncidenceOutputType;
+
+typedef enum {
+  dd_AdjOff=0, dd_AdjacencyList,  dd_AdjacencyDegree
+} dd_AdjacencyOutputType;
+
+typedef enum {
+  dd_Auto, dd_SemiAuto, dd_Manual
+} dd_FileInputModeType;   
+   /* Auto if a input filename is specified by command arguments */
+
+typedef enum {
+  dd_DimensionTooLarge, dd_ImproperInputFormat, 
+  dd_NegativeMatrixSize, dd_EmptyVrepresentation, dd_EmptyHrepresentation, dd_EmptyRepresentation,
+  dd_IFileNotFound, dd_OFileNotOpen, dd_NoLPObjective, dd_NoRealNumberSupport,
+  dd_NotAvailForH, dd_NotAvailForV, dd_CannotHandleLinearity,
+  dd_RowIndexOutOfRange, dd_ColIndexOutOfRange,
+  dd_LPCycling, dd_NumericallyInconsistent,
+  dd_NoError
+} dd_ErrorType;
+
+typedef enum {
+  dd_InProgress, dd_AllFound, dd_RegionEmpty
+} dd_CompStatusType;
+
+/* --- LP types ---- */
+
+typedef enum {
+  dd_LPnone=0, dd_LPmax, dd_LPmin
+} dd_LPObjectiveType;
+
+typedef enum {
+  dd_CrissCross, dd_DualSimplex
+} dd_LPSolverType;
+
+typedef enum {
+  dd_LPSundecided, dd_Optimal, dd_Inconsistent, dd_DualInconsistent,
+  dd_StrucInconsistent, dd_StrucDualInconsistent,
+  dd_Unbounded, dd_DualUnbounded
+} dd_LPStatusType;
+
+typedef struct dd_lpsolution *dd_LPSolutionPtr;
+typedef struct dd_lpsolution {
+  dd_DataFileType filename;
+  dd_LPObjectiveType objective;
+  dd_LPSolverType solver; 
+  dd_rowrange m;
+  dd_colrange d;
+  dd_NumberType numbtype;
+
+  dd_LPStatusType LPS;  /* the current solution status */
+  mytype optvalue;  /* optimal value */
+  dd_Arow sol;   /* primal solution */
+  dd_Arow dsol;  /* dual solution */
+  dd_colindex nbindex;  /* current basis represented by nonbasic indices */
+  dd_rowrange re;  /* row index as a certificate in the case of inconsistency */
+  dd_colrange se;  /* col index as a certificate in the case of dual inconsistency */
+  long pivots[5]; 
+   /* pivots[0]=setup (to find a basis), pivots[1]=PhaseI or Criss-Cross,
+      pivots[2]=Phase II, pivots[3]=Anticycling, pivots[4]=GMP postopt. */
+  long total_pivots;
+} dd_LPSolutionType;
+
+
+typedef struct dd_lpdata *dd_LPPtr;
+typedef struct dd_lpdata {
+  dd_DataFileType filename;
+  dd_LPObjectiveType objective;
+  dd_LPSolverType solver; 
+  dd_boolean Homogeneous;  
+     /* The first column except for the obj row is all zeros. */
+  dd_rowrange m;
+  dd_colrange d;
+  dd_Amatrix A;
+  dd_Bmatrix B;
+  dd_rowrange objrow;
+  dd_colrange rhscol;
+  dd_NumberType numbtype;
+  dd_rowrange eqnumber;  /* the number of equalities */
+  dd_rowset equalityset;  
+
+  dd_boolean redcheck_extensive;  /* Apply the extensive redundancy check. */
+  dd_rowrange ired; /* the row index for the redundancy checking */
+  dd_rowset redset_extra;  /* a set of rows that are newly recognized redundan by the extensive search. */
+  dd_rowset redset_accum;  /* the accumulated set of rows that are recognized redundant */
+  dd_rowset posset_extra;  /* a set of rows that are recognized non-linearity */
+
+  dd_boolean lexicopivot;  /* flag to use the lexicogrphic pivot rule (symbolic perturbation). */
+
+  dd_LPStatusType LPS;  /* the current solution status */
+  dd_rowrange m_alloc; /* the allocated row size of matrix A */
+  dd_colrange d_alloc; /* the allocated col size of matrix A */
+  mytype optvalue;  /* optimal value */
+  dd_Arow sol;   /* primal solution */
+  dd_Arow dsol;  /* dual solution */
+  dd_colindex nbindex;  /* current basis represented by nonbasic indices */
+  dd_rowrange re;  /* row index as a certificate in the case of inconsistency */
+  dd_colrange se;  /* col index as a certificate in the case of dual inconsistency */
+  long pivots[5]; 
+   /* pivots[0]=setup (to find a basis), pivots[1]=PhaseI or Criss-Cross,
+      pivots[2]=Phase II, pivots[3]=Anticycling, pivots[4]=GMP postopt. */
+  long total_pivots;
+  int use_given_basis;  /* switch to indicate the use of the given basis */
+  dd_colindex given_nbindex;  /* given basis represented by nonbasic indices */
+  time_t starttime;
+  time_t endtime;
+} dd_LPType;
+
+
+/*----  end of LP Types ----- */
+
+
+typedef struct  dd_matrixdata *dd_MatrixPtr;
+typedef struct  dd_matrixdata {
+  dd_rowrange rowsize;
+  dd_rowset linset; 
+    /*  a subset of rows of linearity (ie, generators of
+        linearity space for V-representation, and equations
+        for H-representation. */
+  dd_colrange colsize;
+  dd_RepresentationType representation;
+  dd_NumberType numbtype;
+  dd_Amatrix matrix;
+  dd_LPObjectiveType objective;
+  dd_Arow rowvec;
+} dd_MatrixType;
+
+typedef struct dd_setfamily *dd_SetFamilyPtr;
+typedef struct dd_setfamily {
+  dd_bigrange famsize;
+  dd_bigrange setsize;
+  dd_SetVector set;  
+} dd_SetFamilyType;
+
+
+typedef struct dd_nodedata *dd_NodePtr;
+typedef struct dd_nodedata {dd_bigrange key; dd_NodePtr next;} dd_NodeType;
+
+typedef struct dd_graphdata *dd_GraphPtr;
+typedef struct dd_graphdata {
+  dd_bigrange vsize;
+  dd_NodePtr *adjlist;  /* should be initialized to have vsize components */
+} dd_GraphType;
+
+
+typedef struct dd_polyhedradata *dd_PolyhedraPtr;
+typedef struct dd_conedata *dd_ConePtr;
+
+typedef struct dd_polyhedradata {
+  dd_RepresentationType representation;  /* given representation */
+  dd_boolean homogeneous;
+  dd_colrange d;
+  dd_rowrange m;
+  dd_Amatrix A;   /* Inequality System:  m times d matrix */
+  dd_NumberType numbtype;
+  dd_ConePtr child;  /* pointing to the homogenized cone data */
+  dd_rowrange m_alloc; /* allocated row size of matrix A */
+  dd_colrange d_alloc; /* allocated col size of matrix A */
+  dd_Arow c;           /* cost vector */
+
+  dd_rowflag EqualityIndex;  
+    /* ith component is 1 if it is equality, -1 if it is strict inequality, 0 otherwise. */
+
+  dd_boolean IsEmpty;  /* This is to tell whether the set is empty or not */
+  
+  dd_boolean NondegAssumed;
+  dd_boolean InitBasisAtBottom;
+  dd_boolean RestrictedEnumeration;
+  dd_boolean RelaxedEnumeration;
+
+  dd_rowrange m1; 
+    /* = m or m+1 (when representation=Inequality && !homogeneous)
+       This data is written after dd_ConeDataLoad is called.  This
+       determines the size of Ainc. */
+  dd_boolean AincGenerated;
+    /* Indicates whether Ainc, Ared, Adom are all computed.
+       All the variables below are valid only when this is TRUE */
+  dd_colrange ldim;   /* linearity dimension */
+  dd_bigrange n; 
+    /* the size of output = total number of rays 
+       in the computed cone + linearity dimension */
+  dd_Aincidence Ainc;
+    /* incidence of input and output */
+  dd_rowset Ared;  
+    /* redundant set of rows whose removal results in a minimal system */
+  dd_rowset Adom;  
+    /* dominant set of rows (those containing all rays). */
+
+} dd_PolyhedraType;
+
+
+typedef struct dd_conedata {
+  dd_RepresentationType representation;
+  dd_rowrange m;
+  dd_colrange d;
+  dd_Amatrix A;
+  dd_NumberType numbtype;
+  dd_PolyhedraPtr parent;  /* pointing to the original polyhedra data */
+  dd_rowrange m_alloc; /* allocated row size of matrix A */
+  dd_colrange d_alloc; /* allocated col size of matrix A */
+
+/* CONTROL: variables to control computation */
+  dd_rowrange Iteration;
+  dd_RowOrderType HalfspaceOrder;
+  dd_RayPtr FirstRay, LastRay, ArtificialRay; /* The second description: Generator */
+  dd_RayPtr PosHead, ZeroHead, NegHead, PosLast, ZeroLast, NegLast;
+  dd_AdjacencyType **Edges;  /* adjacency relation storage for iteration k */
+  unsigned int rseed;  /* random seed for random row permutation */
+
+  dd_boolean ColReduced;  /* flag to indicate that a column basis is computed and reduced */
+  dd_bigrange LinearityDim;   
+           /*  the dimension of the linearity space (when input is H), and
+               the size of a minimal system of equations to determine the space (when V). */
+  dd_colrange d_orig;  /* the size d of the original matrix A */
+  dd_colindex newcol;  /* the size d of the original matrix A */
+  
+  dd_colindex InitialRayIndex;   /* InitialRayIndex[s] (s>=1) stores the corr. row index */
+  dd_rowindex OrderVector;
+  dd_boolean RecomputeRowOrder;
+  dd_boolean PreOrderedRun;
+  dd_rowset GroundSet, EqualitySet, NonequalitySet, 
+       AddedHalfspaces, WeaklyAddedHalfspaces, InitialHalfspaces;
+  long RayCount, FeasibleRayCount, WeaklyFeasibleRayCount,
+       TotalRayCount, ZeroRayCount;
+  long EdgeCount, TotalEdgeCount;
+  long count_int,count_int_good,count_int_bad; /* no. of intersection operations */
+
+  dd_Bmatrix B;
+  dd_Bmatrix Bsave;  /* a copy of the dual basis inverse used to reduce the matrix A */
+
+/* STATES: variables to represent current state. */
+  dd_ErrorType Error;
+  dd_CompStatusType CompStatus;  /* Computation Status */
+  time_t starttime, endtime;
+} dd_ConeType;
+
+/* Global Variables */
+extern dd_boolean dd_debug;
+extern dd_boolean dd_log;
+
+/* end of cddtypes.h */
diff --git a/third_party/cddlib/lib-src/setoper.c b/third_party/cddlib/lib-src/setoper.c
new file mode 100644
index 0000000..06f4ee5
--- /dev/null
+++ b/third_party/cddlib/lib-src/setoper.c
@@ -0,0 +1,316 @@
+/* setoper.c:
+ * A set operation library 
+ * created by Komei Fukuda, Nov.14, 1993
+ * modified on December 5, 1994 
+   (set_card function replaced with a better code by David Bremner) 
+ * last modified on June 1, 2000 
+   (set_fwrite_compl(), set_groundsize added.  set_compl fixed.)
+ */
+ 
+#include "setoper.h"
+
+#include <limits.h>
+#define SETBITS (sizeof(long) * CHAR_BIT)
+/* (Number of chars in a long) * (number of bits in a char) */
+
+/* Definitions for optimized set_card function 
+   by David Bremner bremner@cs.mcgill.ca  
+*/
+
+/* Caution!!!
+   Bremner's technique depends on the assumption that CHAR_BIT == 8.
+*/
+
+#define LUTBLOCKS(set) (((set[0]-1)/SETBITS+1)*(sizeof(long)/sizeof(set_card_lut_t)))
+
+static unsigned char set_card_lut[]={
+0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,
+1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
+1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
+2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
+1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
+2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
+2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
+3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8};
+/* End of Definitions for optimized set_card */
+
+unsigned long set_blocks(long len)
+{
+	long blocks=1L;
+	
+	if (len>0) blocks=((long)len-1)/SETBITS+2;
+	return blocks;
+}
+
+void set_initialize(set_type *setp, long length)
+/* Make a set with a given bit lengths  */
+{
+	long i,forlim1,len;
+	
+    if (length<=0) len=1;else len=length; 
+     /* if negative length is requested, it generates the shortest length */
+
+	forlim1=set_blocks(len);
+	*setp=(unsigned long *) calloc(forlim1, sizeof i);
+	(*setp)[0]=(unsigned long) len;  /* size of the ground set */
+	for (i=1; i<forlim1; i++)
+		(*setp)[i]=0U;
+}
+
+void set_free(set_type set)
+/* Free the space created with the set pointer set*/
+{
+    free(set);
+}
+
+void set_emptyset(set_type set)
+/* Set set to be the emptyset  */
+{
+	long i,forlim;
+	
+	forlim=set_blocks(set[0])-1;
+	for (i=1; i<=forlim; i++)
+		set[i]=0U;
+}
+
+void set_copy(set_type setcopy,set_type set)
+/* Copy the set set[] to setcopy[] with setcopy[] length */
+{
+	long i,forlim;
+
+	forlim=set_blocks(setcopy[0])-1;
+	for (i=1; i<=forlim; i++)
+		setcopy[i]=set[i];
+}
+
+void set_addelem(set_type set, long elem)
+/* add elem only if it is within the set[] range */
+{
+	long i,j;
+	unsigned long change;
+	unsigned long one=1U;
+	
+	if (elem<=set[0])    
+	{
+		i=(elem-1)/SETBITS+1;
+		j=(elem-1)%SETBITS;
+		change= one << j;  /* put 1 in jth position */
+		set[i]=set[i] | change;
+	}
+}
+
+void set_delelem(set_type set, long elem)
+/* delete elem only if it is within the set[] range */
+{
+	long  i,j;
+	unsigned long change;
+	unsigned long one=1U;	 
+	
+	if (elem<=set[0])
+	{
+		i=(elem-1)/SETBITS+1;
+		j=(elem-1)%SETBITS;
+		change=one << j;  /* put 1 in jth position */
+		set[i]=(set[i] | change) ^ change;
+	}
+}
+
+void set_int(set_type set,set_type set1,set_type set2)
+/* Set intersection, assuming set1 and set2 have the same length as set */
+{
+	long  i,forlim;
+	
+	forlim=set_blocks(set[0])-1;
+	for (i=1;i<=forlim;i++)
+		set[i]=(set1[i] & set2[i]);
+}
+
+void set_uni(set_type set,set_type set1,set_type set2)
+/* Set union,assuming set1 and set2 have the same length as set */
+{
+	long  i,forlim;
+
+	forlim=set_blocks(set[0])-1;	
+	for (i=1;i<=forlim;i++)
+		set[i]=set1[i] | set2[i];
+}
+
+void set_diff(set_type set,set_type set1,set_type set2)
+/* Set difference se1/set2, assuming set1 and set2 have the same length as set */
+{
+	long  i,forlim;
+
+	forlim=set_blocks(set[0])-1;	
+	for (i=1;i<=forlim;i++)
+		set[i]=set1[i] & (~set2[i]);
+}
+
+void set_compl(set_type set,set_type set1)
+/* set[] will be set to the complement of set1[] */
+{
+	long  i,j,l,forlim;
+	unsigned long change;
+	unsigned long one=1U;	 
+
+	forlim=set_blocks(set[0])-1;	
+	for (i=1;i<=forlim;i++)
+		set[i]= ~set1[i];
+
+/* the following is necessary to remove 1's in the unused bits.
+   Bremner's trick counts these bits as well.  (000601KF)
+*/
+	l=(set[0]-1)%SETBITS; /* the position of the last elem in the last block */
+    	for (j=l+1; j<=SETBITS-1; j++){
+		change=one << j;
+		set[forlim]=(set[forlim] | change) ^ change;
+    	}
+}
+
+int set_subset(set_type set1,set_type set2)
+/* Set containment check, set1 <= set2 */
+{
+	int  yes=1;
+	long i,forlim;
+	
+	forlim=set_blocks(set2[0])-1;
+	for (i=1;i<=forlim && yes;i++)
+		if ((set1[i] | set2[i])!=set2[i])
+			yes=0;
+	return yes;
+}
+
+int set_member(long elem, set_type set)
+/* Set membership check, elem in set */
+{
+	int  yes=0;
+	long  i,j;
+	unsigned long testset;
+	unsigned long one=1U;	 
+	
+	if (elem<=set[0])
+	{
+		i=(elem-1)/SETBITS+1;
+		j=(elem-1)%SETBITS;
+		testset=set[i] | (one<<j);   /* add elem to set[i] */
+		if (testset==set[i])
+			yes=1;
+	}
+	return yes;
+}
+
+/*set cardinality, modified by David Bremner bremner@cs.mcgill.ca
+   to optimize for speed.*/
+long set_card(set_type set)
+{
+  unsigned long block;
+  long car=0;
+  set_card_lut_t *p;
+  
+  p=(set_card_lut_t *)&set[1];
+  for (block=0; block< LUTBLOCKS(set);block++) {
+    car+=set_card_lut[p[block]];
+  }
+  return car;
+}
+
+/* old safe cardinality code
+long set_card(set_type set)
+{
+	long elem,car=0;
+	
+	for (elem=1; elem<=set[0]; elem++) {
+		if (set_member(elem,set)) car++;
+    }
+	return car;
+}
+*/
+
+long set_groundsize(set_type set)
+{
+	return set[0];
+}
+
+void set_write(set_type set)
+{
+	long elem;
+	
+	for (elem=1;elem<=set[0];elem++)
+	{
+		if (set_member(elem,set))
+			printf("%ld ",elem);
+	}
+	printf("\n");
+}
+
+void set_fwrite(FILE *f,set_type set)
+{
+	long elem;
+	
+	for (elem=1;elem<=set[0];elem++)
+	{
+		if (set_member(elem,set))
+			fprintf(f,"%ld ",elem);
+	}
+	fprintf(f,"\n");
+}
+
+void set_fwrite_compl(FILE *f,set_type set)
+{
+	long elem;
+	
+	for (elem=1;elem<=set[0];elem++)
+	{
+		if (!set_member(elem,set))
+			fprintf(f,"%ld ",elem);
+	}
+	fprintf(f,"\n");
+}
+
+void set_binwrite(set_type set)
+{
+	int i,j;
+	long forlim;
+	unsigned long e1,e2;
+	
+	printf("max element = %ld,\n",set[0]);
+	forlim=set_blocks(set[0])-1;
+	for (i=forlim;i>=1;i--)
+	{
+		e1=e2=set[i];
+		for (j=SETBITS-1;j>=0;j--)
+		{
+			e1=(e1>>j);
+			printf("%1ld",e1);
+			e1=e2-(e1<<j);
+			e2=e1;
+		}
+		printf(" ");
+	}
+	printf("\n");
+}
+
+
+void set_fbinwrite(FILE *f,set_type set)
+{
+	int i,j;
+	long forlim;
+	long e1,e2;
+	
+	printf("max element = %ld,\n",set[0]);
+	forlim=set_blocks(set[0])-1;
+	for (i=forlim;i>=1;i--)
+	{
+		e1=e2=set[i];
+		for (j=SETBITS-1;j>=0;j--)
+		{
+			e1=(e1>>j);
+			fprintf(f,"%1ld",e1);
+			e1=e2-(e1<<j);
+			e2=e1;
+		}
+		fprintf(f," ");
+	}
+	fprintf(f,"\n");
+}
+
+/* End of the library:  setoper.c  */
diff --git a/third_party/cddlib/lib-src/setoper.h b/third_party/cddlib/lib-src/setoper.h
new file mode 100644
index 0000000..171efdb
--- /dev/null
+++ b/third_party/cddlib/lib-src/setoper.h
@@ -0,0 +1,50 @@
+/* Header file for setoper.c  */
+
+/* setoper.c: 
+ * A set operation library 
+ * created by Komei Fukuda, Nov.14, 1993
+ * last modified on June 1, 2000
+ */
+
+#ifndef  __SETOPER_H
+#define  __SETOPER_H
+#endif  /* __SETOPER_H */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+typedef unsigned long *set_type;   /* set type definition */
+
+typedef unsigned char set_card_lut_t;
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+unsigned long set_blocks(long len);
+void set_initialize(set_type *setp,long len);
+void set_free(set_type set);
+void set_emptyset(set_type set);
+void set_copy(set_type setcopy,set_type set);
+void set_addelem(set_type set, long elem);
+void set_delelem(set_type set, long elem);
+void set_int(set_type set,set_type set1,set_type set2);
+void set_uni(set_type set,set_type set1,set_type set2);
+void set_diff(set_type set,set_type set1,set_type set2);
+void set_compl(set_type set,set_type set1);
+int set_subset(set_type set1,set_type set2);
+int set_member(long elem, set_type set);
+long set_card(set_type set);
+long set_groundsize(set_type set); /* output the size of the ground set */
+void set_write(set_type set);
+void set_fwrite(FILE *f,set_type set);
+void set_fwrite_compl(FILE *f,set_type set); /* write the complement */
+void set_binwrite(set_type set);
+void set_fbinwrite(FILE *f,set_type set);
+
+#if defined(__cplusplus)
+}
+#endif
+
+/* End of File: setoper.h */
+
diff --git a/third_party/cddlib/ltmain.sh b/third_party/cddlib/ltmain.sh
new file mode 100755
index 0000000..a72f2fd
--- /dev/null
+++ b/third_party/cddlib/ltmain.sh
@@ -0,0 +1,8406 @@
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.6b
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+#     --config             show all configuration variables
+#     --debug              enable verbose shell tracing
+# -n, --dry-run            display commands without modifying any files
+#     --features           display basic configuration information and exit
+#     --mode=MODE          use operation mode MODE
+#     --preserve-dup-deps  don't remove duplicate dependency libraries
+#     --quiet, --silent    don't print informational messages
+#     --tag=TAG            use configuration variables from tag TAG
+# -v, --verbose            print informational messages (default)
+#     --version            print version information
+# -h, --help               print short or long help message
+#
+# MODE must be one of the following:
+#
+#       clean              remove files from the build directory
+#       compile            compile a source file into a libtool object
+#       execute            automatically set library path, then run a program
+#       finish             complete the installation of libtool libraries
+#       install            install libraries or executables
+#       link               create a library or an executable
+#       uninstall          remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+#       host-triplet:	$host
+#       shell:		$SHELL
+#       compiler:		$LTCC
+#       compiler flags:		$LTCFLAGS
+#       linker:		$LD (gnu? $with_gnu_ld)
+#       $progname:		(GNU libtool) 2.2.6b
+#       automake:		$automake_version
+#       autoconf:		$autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION=2.2.6b
+TIMESTAMP=""
+package_revision=1.3017
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# NLS nuisances: We save the old values to restore during execute mode.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+  eval "if test \"\${$lt_var+set}\" = set; then
+          save_$lt_var=\$$lt_var
+          $lt_var=C
+	  export $lt_var
+	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+	fi"
+done
+
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS=" 	$lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+# Generated shell functions inserted here.
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+  -*) progname=./$progname ;;
+esac
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+  [\\/]*|[A-Za-z]:\\*) ;;
+  *[\\/]*)
+     progdir=$func_dirname_result
+     progdir=`cd "$progdir" && pwd`
+     progpath="$progdir/$progname"
+     ;;
+  *)
+     save_IFS="$IFS"
+     IFS=:
+     for progdir in $PATH; do
+       IFS="$save_IFS"
+       test -x "$progdir/$progname" && break
+     done
+     IFS="$save_IFS"
+     test -n "$progdir" || progdir=`pwd`
+     progpath="$progdir/$progname"
+     ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+  s/$bs4/&\\
+/g
+  s/^$bs2$dollar/$bs&/
+  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+  s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+    $ECHO "$progname${mode+: }$mode: $*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $opt_verbose && func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+    # bash bug again:
+    :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+    func_error ${1+"$@"}
+    func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information."  ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+    $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+    my_directory_path="$1"
+    my_dir_list=
+
+    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+      # Protect directory names starting with `-'
+      case $my_directory_path in
+        -*) my_directory_path="./$my_directory_path" ;;
+      esac
+
+      # While some portion of DIR does not yet exist...
+      while test ! -d "$my_directory_path"; do
+        # ...make a list in topmost first order.  Use a colon delimited
+	# list incase some portion of path contains whitespace.
+        my_dir_list="$my_directory_path:$my_dir_list"
+
+        # If the last portion added has no slash in it, the list is done
+        case $my_directory_path in */*) ;; *) break ;; esac
+
+        # ...otherwise throw away the child directory and loop
+        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+      done
+      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+
+      save_mkdir_p_IFS="$IFS"; IFS=':'
+      for my_dir in $my_dir_list; do
+	IFS="$save_mkdir_p_IFS"
+        # mkdir can fail with a `File exist' error if two processes
+        # try to create one of the directories concurrently.  Don't
+        # stop in that case!
+        $MKDIR "$my_dir" 2>/dev/null || :
+      done
+      IFS="$save_mkdir_p_IFS"
+
+      # Bail out if we (or some other process) failed to create a directory.
+      test -d "$my_directory_path" || \
+        func_fatal_error "Failed to create \`$1'"
+    fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$opt_dry_run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+        # Failing that, at least try and use $RANDOM to avoid a race
+        my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+        save_mktempdir_umask=`umask`
+        umask 0077
+        $MKDIR "$my_tmpdir"
+        umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || \
+        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+    fi
+
+    $ECHO "X$my_tmpdir" | $Xsed
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+    case $1 in
+      *[\\\`\"\$]*)
+	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+      *)
+        func_quote_for_eval_unquoted_result="$1" ;;
+    esac
+
+    case $func_quote_for_eval_unquoted_result in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting, command substitution and and variable
+      # expansion for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+        ;;
+      *)
+        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+    esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+    case $1 in
+      *[\\\`\"]*)
+	my_arg=`$ECHO "X$1" | $Xsed \
+	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+      *)
+        my_arg="$1" ;;
+    esac
+
+    case $my_arg in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting and command substitution for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
+        my_arg="\"$my_arg\""
+        ;;
+    esac
+
+    func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$my_cmd"
+      my_status=$?
+      if test "$my_status" -eq 0; then :; else
+	eval "(exit $my_status); $my_fail_exp"
+      fi
+    fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$lt_user_locale
+	    $my_cmd"
+      my_status=$?
+      eval "$lt_safe_locale"
+      if test "$my_status" -eq 0; then :; else
+	eval "(exit $my_status); $my_fail_exp"
+      fi
+    fi
+}
+
+
+
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+        s/^# //
+	s/^# *$//
+        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+        p
+     }' < "$progpath"
+     exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+    $SED -n '/^# Usage:/,/# -h/ {
+        s/^# //
+	s/^# *$//
+	s/\$progname/'$progname'/
+	p
+    }' < "$progpath"
+    $ECHO
+    $ECHO "run \`$progname --help | more' for full usage"
+    exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+    $SED -n '/^# Usage:/,/# Report bugs to/ {
+        s/^# //
+	s/^# *$//
+	s*\$progname*'$progname'*
+	s*\$host*'"$host"'*
+	s*\$SHELL*'"$SHELL"'*
+	s*\$LTCC*'"$LTCC"'*
+	s*\$LTCFLAGS*'"$LTCFLAGS"'*
+	s*\$LD*'"$LD"'*
+	s/\$with_gnu_ld/'"$with_gnu_ld"'/
+	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+	p
+     }' < "$progpath"
+    exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+    func_error "missing argument for $1"
+    exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell, and then maybe $ECHO will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+    func_error ${1+"$@"}
+    func_error "See the $PACKAGE documentation for more information."
+    func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+    re_begincf='^# ### BEGIN LIBTOOL'
+    re_endcf='^# ### END LIBTOOL'
+
+    # Default configuration.
+    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+    done
+
+    exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+    $ECHO "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      $ECHO "enable shared libraries"
+    else
+      $ECHO "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      $ECHO "enable static libraries"
+    else
+      $ECHO "disable static libraries"
+    fi
+
+    exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+  # Global variable:
+  tagname="$1"
+
+  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+  sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+  # Validate tagname.
+  case $tagname in
+    *[!-_A-Za-z0-9,/]*)
+      func_fatal_error "invalid tag name: $tagname"
+      ;;
+  esac
+
+  # Don't test for the "default" C tag, as we know it's
+  # there but not specially marked.
+  case $tagname in
+    CC) ;;
+    *)
+      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+	taglist="$taglist $tagname"
+
+	# Evaluate the configuration.  Be careful to quote the path
+	# and the sed script, to avoid splitting on whitespace, but
+	# also don't use non-portable quotes within backquotes within
+	# quotes we have to do it in 2 steps:
+	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+	eval "$extractedcf"
+      else
+	func_error "ignoring unknown tag $tagname"
+      fi
+      ;;
+  esac
+}
+
+# Parse options once, thoroughly.  This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
+
+  # Shorthand for --mode=foo, only valid as the first argument
+  case $1 in
+  clean|clea|cle|cl)
+    shift; set dummy --mode clean ${1+"$@"}; shift
+    ;;
+  compile|compil|compi|comp|com|co|c)
+    shift; set dummy --mode compile ${1+"$@"}; shift
+    ;;
+  execute|execut|execu|exec|exe|ex|e)
+    shift; set dummy --mode execute ${1+"$@"}; shift
+    ;;
+  finish|finis|fini|fin|fi|f)
+    shift; set dummy --mode finish ${1+"$@"}; shift
+    ;;
+  install|instal|insta|inst|ins|in|i)
+    shift; set dummy --mode install ${1+"$@"}; shift
+    ;;
+  link|lin|li|l)
+    shift; set dummy --mode link ${1+"$@"}; shift
+    ;;
+  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+    shift; set dummy --mode uninstall ${1+"$@"}; shift
+    ;;
+  esac
+
+  # Parse non-mode specific arguments:
+  while test "$#" -gt 0; do
+    opt="$1"
+    shift
+
+    case $opt in
+      --config)		func_config					;;
+
+      --debug)		preserve_args="$preserve_args $opt"
+			func_echo "enabling shell trace mode"
+			opt_debug='set -x'
+			$opt_debug
+			;;
+
+      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
+			execute_dlfiles="$execute_dlfiles $1"
+			shift
+			;;
+
+      --dry-run | -n)	opt_dry_run=:					;;
+      --features)       func_features					;;
+      --finish)		mode="finish"					;;
+
+      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
+			case $1 in
+			  # Valid mode arguments:
+			  clean)	;;
+			  compile)	;;
+			  execute)	;;
+			  finish)	;;
+			  install)	;;
+			  link)		;;
+			  relink)	;;
+			  uninstall)	;;
+
+			  # Catch anything else as an error
+			  *) func_error "invalid argument for $opt"
+			     exit_cmd=exit
+			     break
+			     ;;
+		        esac
+
+			mode="$1"
+			shift
+			;;
+
+      --preserve-dup-deps)
+			opt_duplicate_deps=:				;;
+
+      --quiet|--silent)	preserve_args="$preserve_args $opt"
+			opt_silent=:
+			;;
+
+      --verbose| -v)	preserve_args="$preserve_args $opt"
+			opt_silent=false
+			;;
+
+      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
+			preserve_args="$preserve_args $opt $1"
+			func_enable_tag "$1"	# tagname is set here
+			shift
+			;;
+
+      # Separate optargs to long options:
+      -dlopen=*|--mode=*|--tag=*)
+			func_opt_split "$opt"
+			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+			shift
+			;;
+
+      -\?|-h)		func_usage					;;
+      --help)		opt_help=:					;;
+      --version)	func_version					;;
+
+      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
+
+      *)		nonopt="$opt"
+			break
+			;;
+    esac
+  done
+
+
+  case $host in
+    *cygwin* | *mingw* | *pw32* | *cegcc*)
+      # don't eliminate duplications in $postdeps and $predeps
+      opt_duplicate_compiler_generated_deps=:
+      ;;
+    *)
+      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+      ;;
+  esac
+
+  # Having warned about all mis-specified options, bail out if
+  # anything was wrong.
+  $exit_cmd $EXIT_FAILURE
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+  if test "$package_revision" != "$macro_revision"; then
+    if test "$VERSION" != "$macro_version"; then
+      if test -z "$macro_version"; then
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      else
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      fi
+    else
+      cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+    fi
+
+    exit $EXIT_MISMATCH
+  fi
+}
+
+
+## ----------- ##
+##    Main.    ##
+## ----------- ##
+
+$opt_help || {
+  # Sanity checks first:
+  func_check_version_match
+
+  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+    func_fatal_configuration "not configured to build any kind of library"
+  fi
+
+  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+  # Darwin sucks
+  eval std_shrext=\"$shrext_cmds\"
+
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    func_error "unrecognized option \`-dlopen'"
+    $ECHO "$help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$progname --help --mode=$mode' for more information."
+}
+
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+    test -f "$1" &&
+      $SED -e 4q "$1" 2>/dev/null \
+        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs.  To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway.  Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+    lalib_p=no
+    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+	for lalib_p_l in 1 2 3 4
+	do
+	    read lalib_p_line
+	    case "$lalib_p_line" in
+		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+	    esac
+	done
+	exec 0<&5 5<&-
+    fi
+    test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+    func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+    func_ltwrapper_exec_suffix=
+    case $1 in
+    *.exe) ;;
+    *) func_ltwrapper_exec_suffix=.exe ;;
+    esac
+    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+    func_ltwrapper_scriptname_result=""
+    if func_ltwrapper_executable_p "$1"; then
+	func_dirname_and_basename "$1" "" "."
+	func_stripname '' '.exe' "$func_basename_result"
+	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+    fi
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+    $opt_debug
+    save_ifs=$IFS; IFS='~'
+    for cmd in $1; do
+      IFS=$save_ifs
+      eval cmd=\"$cmd\"
+      func_show_eval "$cmd" "${2-:}"
+    done
+    IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)!  Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+    $opt_debug
+    case $1 in
+    */* | *\\*)	. "$1" ;;
+    *)		. "./$1" ;;
+    esac
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    $opt_debug
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+        func_quote_for_eval "$arg"
+	CC_quoted="$CC_quoted $func_quote_for_eval_result"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+	for z in $available_tags; do
+	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+	    # Evaluate the configuration.
+	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+	    CC_quoted=
+	    for arg in $CC; do
+	      # Double-quote args containing other shell metacharacters.
+	      func_quote_for_eval "$arg"
+	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
+	    done
+	    case "$@ " in
+	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+	      # The compiler in the base compile command matches
+	      # the one in the tagged configuration.
+	      # Assume this is the tagged configuration we want.
+	      tagname=$z
+	      break
+	      ;;
+	    esac
+	  fi
+	done
+	# If $tagname still isn't set, then no tagged configuration
+	# was found and let the user know that the "--tag" command
+	# line option must be used.
+	if test -z "$tagname"; then
+	  func_echo "unable to infer tagged configuration"
+	  func_fatal_error "specify a tag with \`--tag'"
+#	else
+#	  func_verbose "using $tagname tagged configuration"
+	fi
+	;;
+      esac
+    fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+    write_libobj=${1}
+    if test "$build_libtool_libs" = yes; then
+      write_lobj=\'${2}\'
+    else
+      write_lobj=none
+    fi
+
+    if test "$build_old_libs" = yes; then
+      write_oldobj=\'${3}\'
+    else
+      write_oldobj=none
+    fi
+
+    $opt_dry_run || {
+      cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+      $MV "${write_libobj}T" "${write_libobj}"
+    }
+}
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+    $opt_debug
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+    pie_flag=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+	# do not "continue".  Instead, add this to base_compile
+	lastarg="$arg"
+	arg_mode=normal
+	;;
+
+      target )
+	libobj="$arg"
+	arg_mode=normal
+	continue
+	;;
+
+      normal )
+	# Accept any command-line options.
+	case $arg in
+	-o)
+	  test -n "$libobj" && \
+	    func_fatal_error "you cannot specify \`-o' more than once"
+	  arg_mode=target
+	  continue
+	  ;;
+
+	-pie | -fpie | -fPIE)
+          pie_flag="$pie_flag $arg"
+	  continue
+	  ;;
+
+	-shared | -static | -prefer-pic | -prefer-non-pic)
+	  later="$later $arg"
+	  continue
+	  ;;
+
+	-no-suppress)
+	  suppress_opt=no
+	  continue
+	  ;;
+
+	-Xcompiler)
+	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
+	  continue      #  The current "srcfile" will either be retained or
+	  ;;            #  replaced later.  I would guess that would be a bug.
+
+	-Wc,*)
+	  func_stripname '-Wc,' '' "$arg"
+	  args=$func_stripname_result
+	  lastarg=
+	  save_ifs="$IFS"; IFS=','
+	  for arg in $args; do
+	    IFS="$save_ifs"
+	    func_quote_for_eval "$arg"
+	    lastarg="$lastarg $func_quote_for_eval_result"
+	  done
+	  IFS="$save_ifs"
+	  func_stripname ' ' '' "$lastarg"
+	  lastarg=$func_stripname_result
+
+	  # Add the arguments to base_compile.
+	  base_compile="$base_compile $lastarg"
+	  continue
+	  ;;
+
+	*)
+	  # Accept the current argument as the source file.
+	  # The previous "srcfile" becomes the current argument.
+	  #
+	  lastarg="$srcfile"
+	  srcfile="$arg"
+	  ;;
+	esac  #  case $arg
+	;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      func_quote_for_eval "$lastarg"
+      base_compile="$base_compile $func_quote_for_eval_result"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      func_fatal_error "you must specify an argument for -Xcompile"
+      ;;
+    target)
+      func_fatal_error "you must specify a target with \`-o'"
+      ;;
+    *)
+      # Get the name of the library object.
+      test -z "$libobj" && {
+	func_basename "$srcfile"
+	libobj="$func_basename_result"
+      }
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    case $libobj in
+    *.[cCFSifmso] | \
+    *.ada | *.adb | *.ads | *.asm | \
+    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+      func_xform "$libobj"
+      libobj=$func_xform_result
+      ;;
+    esac
+
+    case $libobj in
+    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+    *)
+      func_fatal_error "cannot determine name of library object from \`$libobj'"
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -shared)
+	test "$build_libtool_libs" != yes && \
+	  func_fatal_configuration "can not build a shared library"
+	build_old_libs=no
+	continue
+	;;
+
+      -static)
+	build_libtool_libs=no
+	build_old_libs=yes
+	continue
+	;;
+
+      -prefer-pic)
+	pic_mode=yes
+	continue
+	;;
+
+      -prefer-non-pic)
+	pic_mode=no
+	continue
+	;;
+      esac
+    done
+
+    func_quote_for_eval "$libobj"
+    test "X$libobj" != "X$func_quote_for_eval_result" \
+      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
+      && func_warning "libobj name \`$libobj' may not contain shell special characters."
+    func_dirname_and_basename "$obj" "/" ""
+    objname="$func_basename_result"
+    xdir="$func_dirname_result"
+    lobj=${xdir}$objdir/$objname
+
+    test -z "$base_compile" && \
+      func_fatal_help "you must specify a compilation command"
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2* | cegcc*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+	func_echo "Waiting for $lockfile to be removed"
+	sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+	$ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+      removelist="$removelist $output_obj"
+      $ECHO "$srcfile" > "$lockfile"
+    fi
+
+    $opt_dry_run || $RM $removelist
+    removelist="$removelist $lockfile"
+    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    func_quote_for_eval "$srcfile"
+    qsrcfile=$func_quote_for_eval_result
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+	command="$base_compile $qsrcfile $pic_flag"
+      else
+	# Don't build PIC code
+	command="$base_compile $qsrcfile"
+      fi
+
+      func_mkdir_p "$xdir$objdir"
+
+      if test -z "$output_obj"; then
+	# Place PIC objects in $objdir
+	command="$command -o $lobj"
+      fi
+
+      func_show_eval_locale "$command"	\
+          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+	func_show_eval '$MV "$output_obj" "$lobj"' \
+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+	suppress_output=' >/dev/null 2>&1'
+      fi
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+	# Don't build PIC code
+	command="$base_compile $qsrcfile$pie_flag"
+      else
+	command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+	command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      func_show_eval_locale "$command" \
+        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+      if test "$need_locks" = warn &&
+	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+	$ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+	$opt_dry_run || $RM $removelist
+	exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+	func_show_eval '$MV "$output_obj" "$obj"' \
+	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+    fi
+
+    $opt_dry_run || {
+      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+      # Unlock the critical section if it was locked
+      if test "$need_locks" != no; then
+	removelist=$lockfile
+        $RM "$lockfile"
+      fi
+    }
+
+    exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+test "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+    # We need to display help for each of the modes.
+    case $mode in
+      "")
+        # Generic help is extracted from the usage comments
+        # at the start of this file.
+        func_help
+        ;;
+
+      clean)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      compile)
+      $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -no-suppress      do not suppress compiler output for multiple passes
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -shared           do not build a \`.o' file suitable for static linking
+  -static           only build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+        ;;
+
+      execute)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+        ;;
+
+      finish)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+        ;;
+
+      install)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+        ;;
+
+      link)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+                    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+                    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -shared           only do dynamic linking of libtool libraries
+  -shrext SUFFIX    override the standard shared library file extension
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+                    specify library version info [each variable defaults to 0]
+  -weak LIBNAME     declare that the target provides the LIBNAME interface
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+        ;;
+
+      uninstall)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      *)
+        func_fatal_help "invalid operation mode \`$mode'"
+        ;;
+    esac
+
+    $ECHO
+    $ECHO "Try \`$progname --help' for more information about other modes."
+
+    exit $?
+}
+
+  # Now that we've collected a possible --mode arg, show help if necessary
+  $opt_help && func_mode_help
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+    $opt_debug
+    # The first argument is the command name.
+    cmd="$nonopt"
+    test -z "$cmd" && \
+      func_fatal_help "you must specify a COMMAND"
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      test -f "$file" \
+	|| func_fatal_help "\`$file' is not a file"
+
+      dir=
+      case $file in
+      *.la)
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$file" \
+	  || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+	# Read the libtool library.
+	dlname=
+	library_names=
+	func_source "$file"
+
+	# Skip this library if it cannot be dlopened.
+	if test -z "$dlname"; then
+	  # Warn if it was a shared library.
+	  test -n "$library_names" && \
+	    func_warning "\`$file' was not linked with \`-export-dynamic'"
+	  continue
+	fi
+
+	func_dirname "$file" "" "."
+	dir="$func_dirname_result"
+
+	if test -f "$dir/$objdir/$dlname"; then
+	  dir="$dir/$objdir"
+	else
+	  if test ! -f "$dir/$dlname"; then
+	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+	  fi
+	fi
+	;;
+
+      *.lo)
+	# Just add the directory containing the .lo file.
+	func_dirname "$file" "" "."
+	dir="$func_dirname_result"
+	;;
+
+      *)
+	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+	continue
+	;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+	eval "$shlibpath_var=\"\$dir\""
+      else
+	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+	# Do a test to see if this is really a libtool program.
+	if func_ltwrapper_script_p "$file"; then
+	  func_source "$file"
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	elif func_ltwrapper_executable_p "$file"; then
+	  func_ltwrapper_scriptname "$file"
+	  func_source "$func_ltwrapper_scriptname_result"
+	  # Transform arg to wrapped name.
+	  file="$progdir/$program"
+	fi
+	;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      func_quote_for_eval "$file"
+      args="$args $func_quote_for_eval_result"
+    done
+
+    if test "X$opt_dry_run" = Xfalse; then
+      if test -n "$shlibpath_var"; then
+	# Export the shlibpath_var.
+	eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+	eval "if test \"\${save_$lt_var+set}\" = set; then
+                $lt_var=\$save_$lt_var; export $lt_var
+	      else
+		$lt_unset $lt_var
+	      fi"
+      done
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+	$ECHO "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+    $opt_debug
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+	libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+	if test -n "$finish_cmds"; then
+	  # Do each command in the finish commands.
+	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+	fi
+	if test -n "$finish_eval"; then
+	  # Do the single finish_eval.
+	  eval cmds=\"$finish_eval\"
+	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+       $cmds"
+	fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    $opt_silent && exit $EXIT_SUCCESS
+
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    $ECHO "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $ECHO "   $libdir"
+    done
+    $ECHO
+    $ECHO "If you ever happen to want to link against installed libraries"
+    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
+    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $ECHO "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $ECHO "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $ECHO "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      $ECHO "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $ECHO "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $ECHO
+
+    $ECHO "See any operating system documentation about shared libraries for"
+    case $host in
+      solaris2.[6789]|solaris2.1[0-9])
+        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+	$ECHO "pages."
+	;;
+      *)
+        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+        ;;
+    esac
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+}
+
+test "$mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+    $opt_debug
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+      # Aesthetically quote it.
+      func_quote_for_eval "$nonopt"
+      install_prog="$func_quote_for_eval_result "
+      arg=$1
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    func_quote_for_eval "$arg"
+    install_prog="$install_prog$func_quote_for_eval_result"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+	files="$files $dest"
+	dest=$arg
+	continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f)
+	case " $install_prog " in
+	*[\\\ /]cp\ *) ;;
+	*) prev=$arg ;;
+	esac
+	;;
+      -g | -m | -o)
+	prev=$arg
+	;;
+      -s)
+	stripme=" -s"
+	continue
+	;;
+      -*)
+	;;
+      *)
+	# If the previous option needed an argument, then skip it.
+	if test -n "$prev"; then
+	  prev=
+	else
+	  dest=$arg
+	  continue
+	fi
+	;;
+      esac
+
+      # Aesthetically quote the argument.
+      func_quote_for_eval "$arg"
+      install_prog="$install_prog $func_quote_for_eval_result"
+    done
+
+    test -z "$install_prog" && \
+      func_fatal_help "you must specify an install program"
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prev' option requires an argument"
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+	func_fatal_help "no file or destination specified"
+      else
+	func_fatal_help "you must specify a destination"
+      fi
+    fi
+
+    # Strip any trailing slash from the destination.
+    func_stripname '' '/' "$dest"
+    dest=$func_stripname_result
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      func_dirname_and_basename "$dest" "" "."
+      destdir="$func_dirname_result"
+      destname="$func_basename_result"
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files; shift
+      test "$#" -gt 1 && \
+	func_fatal_help "\`$dest' is not a directory"
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+	case $file in
+	*.lo) ;;
+	*)
+	  func_fatal_help "\`$destdir' must be an absolute directory name"
+	  ;;
+	esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+	# Do the static libraries later.
+	staticlibs="$staticlibs $file"
+	;;
+
+      *.la)
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$file" \
+	  || func_fatal_help "\`$file' is not a valid libtool archive"
+
+	library_names=
+	old_library=
+	relink_command=
+	func_source "$file"
+
+	# Add the libdir to current_libdirs if it is the destination.
+	if test "X$destdir" = "X$libdir"; then
+	  case "$current_libdirs " in
+	  *" $libdir "*) ;;
+	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  esac
+	else
+	  # Note the libdir as a future libdir.
+	  case "$future_libdirs " in
+	  *" $libdir "*) ;;
+	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  esac
+	fi
+
+	func_dirname "$file" "/" ""
+	dir="$func_dirname_result"
+	dir="$dir$objdir"
+
+	if test -n "$relink_command"; then
+	  # Determine the prefix the user has applied to our future dir.
+	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
+	  # Don't allow the user to place us outside of our expected
+	  # location b/c this prevents finding dependent libraries that
+	  # are installed to the same prefix.
+	  # At present, this check doesn't affect windows .dll's that
+	  # are installed into $libdir/../bin (currently, that works fine)
+	  # but it's something to keep an eye on.
+	  test "$inst_prefix_dir" = "$destdir" && \
+	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+	  if test -n "$inst_prefix_dir"; then
+	    # Stick the inst_prefix_dir data into the link command.
+	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+	  else
+	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+	  fi
+
+	  func_warning "relinking \`$file'"
+	  func_show_eval "$relink_command" \
+	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+	fi
+
+	# See the names of the shared library.
+	set dummy $library_names; shift
+	if test -n "$1"; then
+	  realname="$1"
+	  shift
+
+	  srcname="$realname"
+	  test -n "$relink_command" && srcname="$realname"T
+
+	  # Install the shared library and build the symlinks.
+	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+	      'exit $?'
+	  tstripme="$stripme"
+	  case $host_os in
+	  cygwin* | mingw* | pw32* | cegcc*)
+	    case $realname in
+	    *.dll.a)
+	      tstripme=""
+	      ;;
+	    esac
+	    ;;
+	  esac
+	  if test -n "$tstripme" && test -n "$striplib"; then
+	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
+	  fi
+
+	  if test "$#" -gt 0; then
+	    # Delete the old symlinks, and create new ones.
+	    # Try `ln -sf' first, because the `ln' binary might depend on
+	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
+	    # so we also need to try rm && ln -s.
+	    for linkname
+	    do
+	      test "$linkname" != "$realname" \
+		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+	    done
+	  fi
+
+	  # Do each command in the postinstall commands.
+	  lib="$destdir/$realname"
+	  func_execute_cmds "$postinstall_cmds" 'exit $?'
+	fi
+
+	# Install the pseudo-library for information purposes.
+	func_basename "$file"
+	name="$func_basename_result"
+	instname="$dir/$name"i
+	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+	# Maybe install the static library, too.
+	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	;;
+
+      *.lo)
+	# Install (i.e. copy) a libtool object.
+
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  func_basename "$file"
+	  destfile="$func_basename_result"
+	  destfile="$destdir/$destfile"
+	fi
+
+	# Deduce the name of the destination old-style object file.
+	case $destfile in
+	*.lo)
+	  func_lo2o "$destfile"
+	  staticdest=$func_lo2o_result
+	  ;;
+	*.$objext)
+	  staticdest="$destfile"
+	  destfile=
+	  ;;
+	*)
+	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
+	  ;;
+	esac
+
+	# Install the libtool object if requested.
+	test -n "$destfile" && \
+	  func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+	# Install the old object if enabled.
+	if test "$build_old_libs" = yes; then
+	  # Deduce the name of the old-style object file.
+	  func_lo2o "$file"
+	  staticobj=$func_lo2o_result
+	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+	fi
+	exit $EXIT_SUCCESS
+	;;
+
+      *)
+	# Figure out destination file name, if it wasn't already specified.
+	if test -n "$destname"; then
+	  destfile="$destdir/$destname"
+	else
+	  func_basename "$file"
+	  destfile="$func_basename_result"
+	  destfile="$destdir/$destfile"
+	fi
+
+	# If the file is missing, and there is a .exe on the end, strip it
+	# because it is most likely a libtool script we actually want to
+	# install
+	stripped_ext=""
+	case $file in
+	  *.exe)
+	    if test ! -f "$file"; then
+	      func_stripname '' '.exe' "$file"
+	      file=$func_stripname_result
+	      stripped_ext=".exe"
+	    fi
+	    ;;
+	esac
+
+	# Do a test to see if this is really a libtool program.
+	case $host in
+	*cygwin* | *mingw*)
+	    if func_ltwrapper_executable_p "$file"; then
+	      func_ltwrapper_scriptname "$file"
+	      wrapper=$func_ltwrapper_scriptname_result
+	    else
+	      func_stripname '' '.exe' "$file"
+	      wrapper=$func_stripname_result
+	    fi
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if func_ltwrapper_script_p "$wrapper"; then
+	  notinst_deplibs=
+	  relink_command=
+
+	  func_source "$wrapper"
+
+	  # Check the variables that should have been set.
+	  test -z "$generated_by_libtool_version" && \
+	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+	  finalize=yes
+	  for lib in $notinst_deplibs; do
+	    # Check to see that each library is installed.
+	    libdir=
+	    if test -f "$lib"; then
+	      func_source "$lib"
+	    fi
+	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+	    if test -n "$libdir" && test ! -f "$libfile"; then
+	      func_warning "\`$lib' has not been installed in \`$libdir'"
+	      finalize=no
+	    fi
+	  done
+
+	  relink_command=
+	  func_source "$wrapper"
+
+	  outputname=
+	  if test "$fast_install" = no && test -n "$relink_command"; then
+	    $opt_dry_run || {
+	      if test "$finalize" = yes; then
+	        tmpdir=`func_mktempdir`
+		func_basename "$file$stripped_ext"
+		file="$func_basename_result"
+	        outputname="$tmpdir/$file"
+	        # Replace the output file specification.
+	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+	        $opt_silent || {
+	          func_quote_for_expand "$relink_command"
+		  eval "func_echo $func_quote_for_expand_result"
+	        }
+	        if eval "$relink_command"; then :
+	          else
+		  func_error "error: relink \`$file' with the above command before installing it"
+		  $opt_dry_run || ${RM}r "$tmpdir"
+		  continue
+	        fi
+	        file="$outputname"
+	      else
+	        func_warning "cannot relink \`$file'"
+	      fi
+	    }
+	  else
+	    # Install the binary that we compiled earlier.
+	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+	  fi
+	fi
+
+	# remove .exe since cygwin /usr/bin/install will append another
+	# one anyway
+	case $install_prog,$host in
+	*/usr/bin/install*,*cygwin*)
+	  case $file:$destfile in
+	  *.exe:*.exe)
+	    # this is ok
+	    ;;
+	  *.exe:*)
+	    destfile=$destfile.exe
+	    ;;
+	  *:*.exe)
+	    func_stripname '' '.exe' "$destfile"
+	    destfile=$func_stripname_result
+	    ;;
+	  esac
+	  ;;
+	esac
+	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+	$opt_dry_run || if test -n "$outputname"; then
+	  ${RM}r "$tmpdir"
+	fi
+	;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      func_basename "$file"
+      name="$func_basename_result"
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+	func_show_eval "$old_striplib $oldlib" 'exit $?'
+      fi
+
+      # Do each command in the postinstall commands.
+      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+    done
+
+    test -n "$future_libdirs" && \
+      func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      $opt_dry_run && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+    $opt_debug
+    my_outputname="$1"
+    my_originator="$2"
+    my_pic_p="${3-no}"
+    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+    my_dlsyms=
+
+    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+      if test -n "$NM" && test -n "$global_symbol_pipe"; then
+	my_dlsyms="${my_outputname}S.c"
+      else
+	func_error "not configured to extract global symbols from dlpreopened files"
+      fi
+    fi
+
+    if test -n "$my_dlsyms"; then
+      case $my_dlsyms in
+      "") ;;
+      *.c)
+	# Discover the nlist of each of the dlfiles.
+	nlist="$output_objdir/${my_outputname}.nm"
+
+	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+	# Parse the name list into a source file.
+	func_verbose "creating $output_objdir/$my_dlsyms"
+
+	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+	if test "$dlself" = yes; then
+	  func_verbose "generating symbol list for \`$output'"
+
+	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+	  # Add our own program objects to the symbol list.
+	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	  for progfile in $progfiles; do
+	    func_verbose "extracting global C symbols from \`$progfile'"
+	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+	  done
+
+	  if test -n "$exclude_expsyms"; then
+	    $opt_dry_run || {
+	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	    }
+	  fi
+
+	  if test -n "$export_symbols_regex"; then
+	    $opt_dry_run || {
+	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	    }
+	  fi
+
+	  # Prepare the list of exported symbols
+	  if test -z "$export_symbols"; then
+	    export_symbols="$output_objdir/$outputname.exp"
+	    $opt_dry_run || {
+	      $RM $export_symbols
+	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+	      case $host in
+	      *cygwin* | *mingw* | *cegcc* )
+                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+	        ;;
+	      esac
+	    }
+	  else
+	    $opt_dry_run || {
+	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+	      eval '$MV "$nlist"T "$nlist"'
+	      case $host in
+	        *cygwin | *mingw* | *cegcc* )
+	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+	          ;;
+	      esac
+	    }
+	  fi
+	fi
+
+	for dlprefile in $dlprefiles; do
+	  func_verbose "extracting global C symbols from \`$dlprefile'"
+	  func_basename "$dlprefile"
+	  name="$func_basename_result"
+	  $opt_dry_run || {
+	    eval '$ECHO ": $name " >> "$nlist"'
+	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	  }
+	done
+
+	$opt_dry_run || {
+	  # Make sure we have at least an empty file.
+	  test -f "$nlist" || : > "$nlist"
+
+	  if test -n "$exclude_expsyms"; then
+	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+	    $MV "$nlist"T "$nlist"
+	  fi
+
+	  # Try sorting and uniquifying the output.
+	  if $GREP -v "^: " < "$nlist" |
+	      if sort -k 3 </dev/null >/dev/null 2>&1; then
+		sort -k 3
+	      else
+		sort +2
+	      fi |
+	      uniq > "$nlist"S; then
+	    :
+	  else
+	    $GREP -v "^: " < "$nlist" > "$nlist"S
+	  fi
+
+	  if test -f "$nlist"S; then
+	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+	  else
+	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+	  fi
+
+	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols.  */
+typedef struct {
+  const char *name;
+  void *address;
+} lt_dlsymlist;
+"
+	  case $host in
+	  *cygwin* | *mingw* | *cegcc* )
+	    $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs.  */"
+	    lt_dlsym_const= ;;
+	  *osf5*)
+	    echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+	    lt_dlsym_const= ;;
+	  *)
+	    lt_dlsym_const=const ;;
+	  esac
+
+	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+extern $lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+$lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+  { \"$my_originator\", (void *) 0 },"
+
+	  case $need_lib_prefix in
+	  no)
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+	    ;;
+	  *)
+	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+	    ;;
+	  esac
+	  $ECHO >> "$output_objdir/$my_dlsyms" "\
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+	} # !$opt_dry_run
+
+	pic_flag_for_symtable=
+	case "$compile_command " in
+	*" -static "*) ;;
+	*)
+	  case $host in
+	  # compiling the symbol table file with pic_flag works around
+	  # a FreeBSD bug that causes programs to crash when -lm is
+	  # linked before any other PIC object.  But we must not use
+	  # pic_flag when linking with -static.  The problem exists in
+	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+	  *-*-hpux*)
+	    pic_flag_for_symtable=" $pic_flag"  ;;
+	  *)
+	    if test "X$my_pic_p" != Xno; then
+	      pic_flag_for_symtable=" $pic_flag"
+	    fi
+	    ;;
+	  esac
+	  ;;
+	esac
+	symtab_cflags=
+	for arg in $LTCFLAGS; do
+	  case $arg in
+	  -pie | -fpie | -fPIE) ;;
+	  *) symtab_cflags="$symtab_cflags $arg" ;;
+	  esac
+	done
+
+	# Now compile the dynamic symbol file.
+	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+	# Clean up the generated files.
+	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+	# Transform the symbol file into the correct name.
+	symfileobj="$output_objdir/${my_outputname}S.$objext"
+	case $host in
+	*cygwin* | *mingw* | *cegcc* )
+	  if test -f "$output_objdir/$my_outputname.def"; then
+	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+	  else
+	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	  fi
+	  ;;
+	*)
+	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+	  ;;
+	esac
+	;;
+      *)
+	func_fatal_error "unknown suffix for \`$my_dlsyms'"
+	;;
+      esac
+    else
+      # We keep going just in case the user didn't refer to
+      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+      # really was required.
+
+      # Nullify the symbol file.
+      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+    fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  $opt_debug
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 |
+	$SED -n -e '
+	    1,100{
+		/ I /{
+		    s,.*,import,
+		    p
+		    q
+		}
+	    }'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $ECHO "$win32_libid_type"
+}
+
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    $opt_debug
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+    fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    $opt_debug
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+	*) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      func_basename "$my_xlib"
+      my_xlib="$func_basename_result"
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+	*" $my_xlib_u "*)
+	  func_arith $extracted_serial + 1
+	  extracted_serial=$func_arith_result
+	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
+	*) break ;;
+	esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir="$my_gentop/$my_xlib_u"
+
+      func_mkdir_p "$my_xdir"
+
+      case $host in
+      *-darwin*)
+	func_verbose "Extracting $my_xabs"
+	# Do not bother doing anything if just a dry run
+	$opt_dry_run || {
+	  darwin_orig_dir=`pwd`
+	  cd $my_xdir || exit $?
+	  darwin_archive=$my_xabs
+	  darwin_curdir=`pwd`
+	  darwin_base_archive=`basename "$darwin_archive"`
+	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+	  if test -n "$darwin_arches"; then
+	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+	    darwin_arch=
+	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+	    for darwin_arch in  $darwin_arches ; do
+	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+	      cd "$darwin_curdir"
+	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+	    done # $darwin_arches
+            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+	    darwin_file=
+	    darwin_files=
+	    for darwin_file in $darwin_filelist; do
+	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+	      $LIPO -create -output "$darwin_file" $darwin_files
+	    done # $darwin_filelist
+	    $RM -rf unfat-$$
+	    cd "$darwin_orig_dir"
+	  else
+	    cd $darwin_orig_dir
+	    func_extract_an_archive "$my_xdir" "$my_xabs"
+	  fi # $darwin_arches
+	} # !$opt_dry_run
+	;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+	;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+
+    func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper_part1 [arg=no]
+#
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
+{
+	func_emit_wrapper_part1_arg1=no
+	if test -n "$1" ; then
+	  func_emit_wrapper_part1_arg1=$1
+	fi
+
+	$ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='$macro_version'
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$ECHO are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    ECHO=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$ECHO works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$ECHO will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+	$ECHO "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+	func_emit_wrapper_part2_arg1=no
+	if test -n "$1" ; then
+	  func_emit_wrapper_part2_arg1=$1
+	fi
+
+	$ECHO "\
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+    # special case for '.'
+    if test \"\$thisdir\" = \".\"; then
+      thisdir=\`pwd\`
+    fi
+    # remove .libs from thisdir
+    case \"\$thisdir\" in
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    $objdir )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+	if test "$fast_install" = yes; then
+	  $ECHO "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" ||
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $MKDIR \"\$progdir\"
+    else
+      $RM \"\$progdir/\$file\"
+    fi"
+
+	  $ECHO "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+	$ECHO \"\$relink_command_output\" >&2
+	$RM \"\$progdir/\$file\"
+	exit 1
+      fi
+    fi
+
+    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $RM \"\$progdir/\$program\";
+      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $RM \"\$progdir/\$file\"
+  fi"
+	else
+	  $ECHO "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+	fi
+
+	$ECHO "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+	# Export our shlibpath_var if we have one.
+	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+	  $ECHO "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+	fi
+
+	# fixup the dll searchpath if we need to.
+	if test -n "$dllsearchpath"; then
+	  $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
+	$ECHO "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+	case $host in
+	# Backslashes separate directories on plain windows
+	*-*-mingw | *-*-os2* | *-cegcc*)
+	  $ECHO "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+	  ;;
+
+	*)
+	  $ECHO "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+	  ;;
+	esac
+	$ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+    fi
+  else
+    # The program doesn't exist.
+    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit 1
+  fi
+fi\
+"
+}
+# end: func_emit_wrapper_part2
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+	func_emit_wrapper_arg1=no
+	if test -n "$1" ; then
+	  func_emit_wrapper_arg1=$1
+	fi
+
+	# split this up so that func_emit_cwrapperexe_src
+	# can call each part independently.
+	func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+	func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+#    $build          $host
+#    mingw (msys)    mingw  [e.g. native]
+#    cygwin          mingw
+#    *nix + wine     mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin.  Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+  func_to_host_path_result="$1"
+  if test -n "$1" ; then
+    case $host in
+      *mingw* )
+        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+        case $build in
+          *mingw* ) # actually, msys
+            # awkward: cmd appends spaces to result
+            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          *cygwin* )
+            func_to_host_path_tmp1=`cygpath -w "$1"`
+            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          * )
+            # Unfortunately, winepath does not exit with a non-zero
+            # error code, so we are forced to check the contents of
+            # stdout. On the other hand, if the command is not
+            # found, the shell will set an exit code of 127 and print
+            # *an error message* to stdout. So we must check for both
+            # error code of zero AND non-empty stdout, which explains
+            # the odd construction:
+            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+                $SED -e "$lt_sed_naive_backslashify"`
+            else
+              # Allow warning below.
+              func_to_host_path_result=""
+            fi
+            ;;
+        esac
+        if test -z "$func_to_host_path_result" ; then
+          func_error "Could not determine host path corresponding to"
+          func_error "  '$1'"
+          func_error "Continuing, but uninstalled executables may not work."
+          # Fallback:
+          func_to_host_path_result="$1"
+        fi
+        ;;
+    esac
+  fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+#    $build          $host
+#    mingw (msys)    mingw  [e.g. native]
+#    cygwin          mingw
+#    *nix + wine     mingw
+#
+# Path separators are also converted from $build format to
+# $host format. If ARG begins or ends with a path separator
+# character, it is preserved (but converted to $host format)
+# on output.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+  func_to_host_pathlist_result="$1"
+  if test -n "$1" ; then
+    case $host in
+      *mingw* )
+        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+        # Remove leading and trailing path separator characters from
+        # ARG. msys behavior is inconsistent here, cygpath turns them
+        # into '.;' and ';.', and winepath ignores them completely.
+        func_to_host_pathlist_tmp2="$1"
+        # Once set for this call, this variable should not be
+        # reassigned. It is used in tha fallback case.
+        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+          $SED -e 's|^:*||' -e 's|:*$||'`
+        case $build in
+          *mingw* ) # Actually, msys.
+            # Awkward: cmd appends spaces to result.
+            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          *cygwin* )
+            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          * )
+            # unfortunately, winepath doesn't convert pathlists
+            func_to_host_pathlist_result=""
+            func_to_host_pathlist_oldIFS=$IFS
+            IFS=:
+            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+              IFS=$func_to_host_pathlist_oldIFS
+              if test -n "$func_to_host_pathlist_f" ; then
+                func_to_host_path "$func_to_host_pathlist_f"
+                if test -n "$func_to_host_path_result" ; then
+                  if test -z "$func_to_host_pathlist_result" ; then
+                    func_to_host_pathlist_result="$func_to_host_path_result"
+                  else
+                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+                  fi
+                fi
+              fi
+              IFS=:
+            done
+            IFS=$func_to_host_pathlist_oldIFS
+            ;;
+        esac
+        if test -z "$func_to_host_pathlist_result" ; then
+          func_error "Could not determine the host path(s) corresponding to"
+          func_error "  '$1'"
+          func_error "Continuing, but uninstalled executables may not work."
+          # Fallback. This may break if $1 contains DOS-style drive
+          # specifications. The fix is not to complicate the expression
+          # below, but for the user to provide a working wine installation
+          # with winepath so that path translation in the cross-to-mingw
+          # case works properly.
+          lt_replace_pathsep_nix_to_dos="s|:|;|g"
+          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+            $SED -e "$lt_replace_pathsep_nix_to_dos"`
+        fi
+        # Now, add the leading and trailing path separators back
+        case "$1" in
+          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+            ;;
+        esac
+        case "$1" in
+          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+            ;;
+        esac
+        ;;
+    esac
+  fi
+}
+# end: func_to_host_pathlist
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+	cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "$SHELL $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+	    cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+#  include <io.h>
+#  define HAVE_SETENV
+#  ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+#  endif
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+#  define intptr_t int
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+    va_list args;
+    va_start (args, fmt);
+    (void) vfprintf (stderr, fmt, args);
+    va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
+EOF
+
+	    func_emit_wrapper_part1 yes |
+	        $SED -e 's/\([\\"]\)/\\\1/g' \
+	             -e 's/^/  "/' -e 's/$/\\n"/'
+	    echo ";"
+	    cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+	    func_emit_wrapper_part2 yes |
+	        $SED -e 's/\([\\"]\)/\\\1/g' \
+	             -e 's/^/  "/' -e 's/$/\\n"/'
+	    echo ";"
+
+	    cat <<EOF
+const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+              func_to_host_pathlist "$temp_rpath"
+	      cat <<EOF
+const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
+EOF
+	    else
+	      cat <<"EOF"
+const char * LIB_PATH_VALUE   = "";
+EOF
+	    fi
+
+	    if test -n "$dllsearchpath"; then
+              func_to_host_pathlist "$dllsearchpath:"
+	      cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
+EOF
+	    else
+	      cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE   = "";
+EOF
+	    fi
+
+	    if test "$fast_install" = yes; then
+	      cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+	    else
+	      cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+	    fi
+
+
+	    cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX         "--lt-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
+
+static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
+  /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
+  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
+  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int  newargc;
+  char *tmp_pathspec;
+  char *actual_cwrapper_path;
+  char *actual_cwrapper_name;
+  char *target_name;
+  char *lt_argv_zero;
+  intptr_t rval = 127;
+
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+  /* very simple arg parsing; don't want to rely on getopt */
+  for (i = 1; i < argc; i++)
+    {
+      if (strcmp (argv[i], dumpscript_opt) == 0)
+	{
+EOF
+	    case "$host" in
+	      *mingw* | *cygwin* )
+		# make stdout use "unix" line endings
+		echo "          setmode(1,_O_BINARY);"
+		;;
+	      esac
+
+	    cat <<"EOF"
+	  printf ("%s", script_text_part1);
+	  printf ("%s", script_text_part2);
+	  return 0;
+	}
+    }
+
+  newargz = XMALLOC (char *, argc + 1);
+  tmp_pathspec = find_executable (argv[0]);
+  if (tmp_pathspec == NULL)
+    lt_fatal ("Couldn't find %s", argv[0]);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+			  tmp_pathspec));
+
+  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+			  actual_cwrapper_path));
+  XFREE (tmp_pathspec);
+
+  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+  strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+  /* wrapper name transforms */
+  strendzap (actual_cwrapper_name, ".exe");
+  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+  XFREE (actual_cwrapper_name);
+  actual_cwrapper_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  /* target_name transforms -- use actual target program name; might have lt- prefix */
+  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+  strendzap (target_name, ".exe");
+  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+  XFREE (target_name);
+  target_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+			  target_name));
+EOF
+
+	    cat <<EOF
+  newargz[0] =
+    XMALLOC (char, (strlen (actual_cwrapper_path) +
+		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+  strcpy (newargz[0], actual_cwrapper_path);
+  strcat (newargz[0], "$objdir");
+  strcat (newargz[0], "/");
+EOF
+
+	    cat <<"EOF"
+  /* stop here, and copy so we don't have to do this twice */
+  tmp_pathspec = xstrdup (newargz[0]);
+
+  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+  strcat (newargz[0], actual_cwrapper_name);
+
+  /* DO want the lt- prefix here if it exists, so use target_name */
+  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+  XFREE (tmp_pathspec);
+  tmp_pathspec = NULL;
+EOF
+
+	    case $host_os in
+	      mingw*)
+	    cat <<"EOF"
+  {
+    char* p;
+    while ((p = strchr (newargz[0], '\\')) != NULL)
+      {
+	*p = '/';
+      }
+    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+      {
+	*p = '/';
+      }
+  }
+EOF
+	    ;;
+	    esac
+
+	    cat <<"EOF"
+  XFREE (target_name);
+  XFREE (actual_cwrapper_path);
+  XFREE (actual_cwrapper_name);
+
+  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
+  newargc=0;
+  for (i = 1; i < argc; i++)
+    {
+      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+        {
+          if (argv[i][env_set_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_set_opt_len + 1;
+              lt_opt_process_env_set (p);
+            }
+          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_set (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_set_opt);
+          continue;
+        }
+      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+        {
+          if (argv[i][env_prepend_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_prepend_opt_len + 1;
+              lt_opt_process_env_prepend (p);
+            }
+          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_prepend_opt);
+          continue;
+        }
+      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+        {
+          if (argv[i][env_append_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_append_opt_len + 1;
+              lt_opt_process_env_append (p);
+            }
+          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_append (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_append_opt);
+          continue;
+        }
+      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+        {
+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+             namespace, but it is not one of the ones we know about and
+             have already dealt with, above (inluding dump-script), then
+             report an error. Otherwise, targets might begin to believe
+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+             namespace. The first time any user complains about this, we'll
+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+             or a configure.ac-settable value.
+           */
+          lt_fatal ("Unrecognized option in %s namespace: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
+    }
+  newargz[++newargc] = NULL;
+
+  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+  for (i = 0; i < newargc; i++)
+    {
+      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+    }
+
+EOF
+
+	    case $host_os in
+	      mingw*)
+		cat <<"EOF"
+  /* execv doesn't actually work on mingw as expected on unix */
+  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+  if (rval == -1)
+    {
+      /* failed to start process */
+      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+      return 127;
+    }
+  return rval;
+EOF
+		;;
+	      *)
+		cat <<"EOF"
+  execv (lt_argv_zero, newargz);
+  return rval; /* =127, but avoids unused variable warning */
+EOF
+		;;
+	    esac
+
+	    cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+  void *p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+			  string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable (const char *path)
+{
+  struct stat st;
+
+  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
+			  path ? (*path ? path : "EMPTY!") : "NULL!"));
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0)
+      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+    return 1;
+  else
+    return 0;
+}
+
+int
+make_executable (const char *path)
+{
+  int rval = 0;
+  struct stat st;
+
+  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
+			  path ? (*path ? path : "EMPTY!") : "NULL!"));
+  if ((!path) || (!*path))
+    return 0;
+
+  if (stat (path, &st) >= 0)
+    {
+      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+    }
+  return rval;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise
+   Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+  int has_slash = 0;
+  const char *p;
+  const char *p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char *concat_name;
+
+  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
+			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable (concat_name))
+	return concat_name;
+      XFREE (concat_name);
+    }
+  else
+    {
+#endif
+      if (IS_DIR_SEPARATOR (wrapper[0]))
+	{
+	  concat_name = xstrdup (wrapper);
+	  if (check_executable (concat_name))
+	    return concat_name;
+	  XFREE (concat_name);
+	}
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+    }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+      {
+	has_slash = 1;
+	break;
+      }
+  if (!has_slash)
+    {
+      /* no slashes; search PATH */
+      const char *path = getenv ("PATH");
+      if (path != NULL)
+	{
+	  for (p = path; *p; p = p_next)
+	    {
+	      const char *q;
+	      size_t p_len;
+	      for (q = p; *q; q++)
+		if (IS_PATH_SEPARATOR (*q))
+		  break;
+	      p_len = q - p;
+	      p_next = (*q == '\0' ? q : q + 1);
+	      if (p_len == 0)
+		{
+		  /* empty path: current directory */
+		  if (getcwd (tmp, LT_PATHMAX) == NULL)
+		    lt_fatal ("getcwd failed");
+		  tmp_len = strlen (tmp);
+		  concat_name =
+		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+		  memcpy (concat_name, tmp, tmp_len);
+		  concat_name[tmp_len] = '/';
+		  strcpy (concat_name + tmp_len + 1, wrapper);
+		}
+	      else
+		{
+		  concat_name =
+		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+		  memcpy (concat_name, p, p_len);
+		  concat_name[p_len] = '/';
+		  strcpy (concat_name + p_len + 1, wrapper);
+		}
+	      if (check_executable (concat_name))
+		return concat_name;
+	      XFREE (concat_name);
+	    }
+	}
+      /* not found in PATH; assume curdir */
+    }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen (tmp);
+  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable (concat_name))
+    return concat_name;
+  XFREE (concat_name);
+  return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+  return xstrdup (pathspec);
+#else
+  char buf[LT_PATHMAX];
+  struct stat s;
+  char *tmp_pathspec = xstrdup (pathspec);
+  char *p;
+  int has_symlinks = 0;
+  while (strlen (tmp_pathspec) && !has_symlinks)
+    {
+      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+			      tmp_pathspec));
+      if (lstat (tmp_pathspec, &s) == 0)
+	{
+	  if (S_ISLNK (s.st_mode) != 0)
+	    {
+	      has_symlinks = 1;
+	      break;
+	    }
+
+	  /* search backwards for last DIR_SEPARATOR */
+	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+	    p--;
+	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+	    {
+	      /* no more DIR_SEPARATORS left */
+	      break;
+	    }
+	  *p = '\0';
+	}
+      else
+	{
+	  char *errstr = strerror (errno);
+	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+	}
+    }
+  XFREE (tmp_pathspec);
+
+  if (!has_symlinks)
+    {
+      return xstrdup (pathspec);
+    }
+
+  tmp_pathspec = realpath (pathspec, buf);
+  if (tmp_pathspec == 0)
+    {
+      lt_fatal ("Could not follow symlinks for %s", pathspec);
+    }
+  return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert (str != NULL);
+  assert (pat != NULL);
+
+  len = strlen (str);
+  patlen = strlen (pat);
+
+  if (patlen <= len)
+    {
+      str += len - patlen;
+      if (strcmp (str, pat) == 0)
+	*str = '\0';
+    }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+	       const char *message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+  {
+#ifdef HAVE_SETENV
+    /* always make a copy, for consistency with !HAVE_SETENV */
+    char *str = xstrdup (value);
+    setenv (name, str, 1);
+#else
+    int len = strlen (name) + 1 + strlen (value) + 1;
+    char *str = XMALLOC (char, len);
+    sprintf (str, "%s=%s", name, value);
+    if (putenv (str) != EXIT_SUCCESS)
+      {
+        XFREE (str);
+      }
+#endif
+  }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+  char *new_value;
+  if (orig_value && *orig_value)
+    {
+      int orig_value_len = strlen (orig_value);
+      int add_len = strlen (add);
+      new_value = XMALLOC (char, add_len + orig_value_len + 1);
+      if (to_end)
+        {
+          strcpy (new_value, orig_value);
+          strcpy (new_value + orig_value_len, add);
+        }
+      else
+        {
+          strcpy (new_value, add);
+          strcpy (new_value + add_len, orig_value);
+        }
+    }
+  else
+    {
+      new_value = xstrdup (add);
+    }
+  return new_value;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+  const char *p;
+  int len;
+  if (!arg || !*arg)
+    return 1;
+
+  p = strchr (arg, (int)'=');
+
+  if (!p)
+    return 1;
+
+  *value = xstrdup (++p);
+
+  len = strlen (arg) - strlen (*value);
+  *name = XMALLOC (char, len);
+  strncpy (*name, arg, len-1);
+  (*name)[len - 1] = '\0';
+
+  return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+    }
+
+  lt_setenv (name, value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+  char *new_value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+    }
+
+  new_value = lt_extend_str (getenv (name), value, 0);
+  lt_setenv (name, new_value);
+  XFREE (new_value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+  char *new_value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+    }
+
+  new_value = lt_extend_str (getenv (name), value, 1);
+  lt_setenv (name, new_value);
+  XFREE (new_value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      /* some systems can't cope with a ':'-terminated path #' */
+      int len = strlen (new_value);
+      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+        {
+          new_value[len-1] = '\0';
+        }
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_mode_link arg...
+func_mode_link ()
+{
+    $opt_debug
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args=$nonopt
+    base_compile="$nonopt $@"
+    compile_command=$nonopt
+    finalize_command=$nonopt
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+    new_inherited_linker_flags=
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+    weak_libs=
+    single_module="${wl}-single_module"
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -shared)
+	test "$build_libtool_libs" != yes && \
+	  func_fatal_configuration "can not build a shared library"
+	build_old_libs=no
+	break
+	;;
+      -all-static | -static | -static-libtool-libs)
+	case $arg in
+	-all-static)
+	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+	    func_warning "complete static linking is impossible in this configuration"
+	  fi
+	  if test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	  ;;
+	-static)
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=built
+	  ;;
+	-static-libtool-libs)
+	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
+	    dlopen_self=$dlopen_self_static
+	  fi
+	  prefer_static_libs=yes
+	  ;;
+	esac
+	build_libtool_libs=no
+	build_old_libs=yes
+	break
+	;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      func_quote_for_eval "$arg"
+      qarg=$func_quote_for_eval_unquoted_result
+      func_append libtool_args " $func_quote_for_eval_result"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+	case $prev in
+	output)
+	  func_append compile_command " @OUTPUT@"
+	  func_append finalize_command " @OUTPUT@"
+	  ;;
+	esac
+
+	case $prev in
+	dlfiles|dlprefiles)
+	  if test "$preload" = no; then
+	    # Add the symbol object into the linking commands.
+	    func_append compile_command " @SYMFILE@"
+	    func_append finalize_command " @SYMFILE@"
+	    preload=yes
+	  fi
+	  case $arg in
+	  *.la | *.lo) ;;  # We handle these cases below.
+	  force)
+	    if test "$dlself" = no; then
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  self)
+	    if test "$prev" = dlprefiles; then
+	      dlself=yes
+	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+	      dlself=yes
+	    else
+	      dlself=needless
+	      export_dynamic=yes
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  *)
+	    if test "$prev" = dlfiles; then
+	      dlfiles="$dlfiles $arg"
+	    else
+	      dlprefiles="$dlprefiles $arg"
+	    fi
+	    prev=
+	    continue
+	    ;;
+	  esac
+	  ;;
+	expsyms)
+	  export_symbols="$arg"
+	  test -f "$arg" \
+	    || func_fatal_error "symbol file \`$arg' does not exist"
+	  prev=
+	  continue
+	  ;;
+	expsyms_regex)
+	  export_symbols_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	framework)
+	  case $host in
+	    *-*-darwin*)
+	      case "$deplibs " in
+		*" $qarg.ltframework "*) ;;
+		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+		   ;;
+	      esac
+	      ;;
+	  esac
+	  prev=
+	  continue
+	  ;;
+	inst_prefix)
+	  inst_prefix_dir="$arg"
+	  prev=
+	  continue
+	  ;;
+	objectlist)
+	  if test -f "$arg"; then
+	    save_arg=$arg
+	    moreargs=
+	    for fil in `cat "$save_arg"`
+	    do
+#	      moreargs="$moreargs $fil"
+	      arg=$fil
+	      # A libtool-controlled object.
+
+	      # Check to see that this really is a libtool object.
+	      if func_lalib_unsafe_p "$arg"; then
+		pic_object=
+		non_pic_object=
+
+		# Read the .lo file
+		func_source "$arg"
+
+		if test -z "$pic_object" ||
+		   test -z "$non_pic_object" ||
+		   test "$pic_object" = none &&
+		   test "$non_pic_object" = none; then
+		  func_fatal_error "cannot find name of object for \`$arg'"
+		fi
+
+		# Extract subdirectory from the argument.
+		func_dirname "$arg" "/" ""
+		xdir="$func_dirname_result"
+
+		if test "$pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  pic_object="$xdir$pic_object"
+
+		  if test "$prev" = dlfiles; then
+		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		      dlfiles="$dlfiles $pic_object"
+		      prev=
+		      continue
+		    else
+		      # If libtool objects are unsupported, then we need to preload.
+		      prev=dlprefiles
+		    fi
+		  fi
+
+		  # CHECK ME:  I think I busted this.  -Ossama
+		  if test "$prev" = dlprefiles; then
+		    # Preload the old-style object.
+		    dlprefiles="$dlprefiles $pic_object"
+		    prev=
+		  fi
+
+		  # A PIC object.
+		  func_append libobjs " $pic_object"
+		  arg="$pic_object"
+		fi
+
+		# Non-PIC object.
+		if test "$non_pic_object" != none; then
+		  # Prepend the subdirectory the object is found in.
+		  non_pic_object="$xdir$non_pic_object"
+
+		  # A standard non-PIC object
+		  func_append non_pic_objects " $non_pic_object"
+		  if test -z "$pic_object" || test "$pic_object" = none ; then
+		    arg="$non_pic_object"
+		  fi
+		else
+		  # If the PIC object exists, use it instead.
+		  # $xdir was prepended to $pic_object above.
+		  non_pic_object="$pic_object"
+		  func_append non_pic_objects " $non_pic_object"
+		fi
+	      else
+		# Only an error if not doing a dry-run.
+		if $opt_dry_run; then
+		  # Extract subdirectory from the argument.
+		  func_dirname "$arg" "/" ""
+		  xdir="$func_dirname_result"
+
+		  func_lo2o "$arg"
+		  pic_object=$xdir$objdir/$func_lo2o_result
+		  non_pic_object=$xdir$func_lo2o_result
+		  func_append libobjs " $pic_object"
+		  func_append non_pic_objects " $non_pic_object"
+	        else
+		  func_fatal_error "\`$arg' is not a valid libtool object"
+		fi
+	      fi
+	    done
+	  else
+	    func_fatal_error "link input file \`$arg' does not exist"
+	  fi
+	  arg=$save_arg
+	  prev=
+	  continue
+	  ;;
+	precious_regex)
+	  precious_files_regex="$arg"
+	  prev=
+	  continue
+	  ;;
+	release)
+	  release="-$arg"
+	  prev=
+	  continue
+	  ;;
+	rpath | xrpath)
+	  # We need an absolute path.
+	  case $arg in
+	  [\\/]* | [A-Za-z]:[\\/]*) ;;
+	  *)
+	    func_fatal_error "only absolute run-paths are allowed"
+	    ;;
+	  esac
+	  if test "$prev" = rpath; then
+	    case "$rpath " in
+	    *" $arg "*) ;;
+	    *) rpath="$rpath $arg" ;;
+	    esac
+	  else
+	    case "$xrpath " in
+	    *" $arg "*) ;;
+	    *) xrpath="$xrpath $arg" ;;
+	    esac
+	  fi
+	  prev=
+	  continue
+	  ;;
+	shrext)
+	  shrext_cmds="$arg"
+	  prev=
+	  continue
+	  ;;
+	weak)
+	  weak_libs="$weak_libs $arg"
+	  prev=
+	  continue
+	  ;;
+	xcclinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  func_append compile_command " $qarg"
+	  func_append finalize_command " $qarg"
+	  continue
+	  ;;
+	xcompiler)
+	  compiler_flags="$compiler_flags $qarg"
+	  prev=
+	  func_append compile_command " $qarg"
+	  func_append finalize_command " $qarg"
+	  continue
+	  ;;
+	xlinker)
+	  linker_flags="$linker_flags $qarg"
+	  compiler_flags="$compiler_flags $wl$qarg"
+	  prev=
+	  func_append compile_command " $wl$qarg"
+	  func_append finalize_command " $wl$qarg"
+	  continue
+	  ;;
+	*)
+	  eval "$prev=\"\$arg\""
+	  prev=
+	  continue
+	  ;;
+	esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+	if test -n "$link_static_flag"; then
+	  # See comment for -static flag below, for more details.
+	  func_append compile_command " $link_static_flag"
+	  func_append finalize_command " $link_static_flag"
+	fi
+	continue
+	;;
+
+      -allow-undefined)
+	# FIXME: remove this flag sometime in the future.
+	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+	;;
+
+      -avoid-version)
+	avoid_version=yes
+	continue
+	;;
+
+      -dlopen)
+	prev=dlfiles
+	continue
+	;;
+
+      -dlpreopen)
+	prev=dlprefiles
+	continue
+	;;
+
+      -export-dynamic)
+	export_dynamic=yes
+	continue
+	;;
+
+      -export-symbols | -export-symbols-regex)
+	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+	  func_fatal_error "more than one -exported-symbols argument is not allowed"
+	fi
+	if test "X$arg" = "X-export-symbols"; then
+	  prev=expsyms
+	else
+	  prev=expsyms_regex
+	fi
+	continue
+	;;
+
+      -framework)
+	prev=framework
+	continue
+	;;
+
+      -inst-prefix-dir)
+	prev=inst_prefix
+	continue
+	;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+	case $with_gcc/$host in
+	no/*-*-irix* | /*-*-irix*)
+	  func_append compile_command " $arg"
+	  func_append finalize_command " $arg"
+	  ;;
+	esac
+	continue
+	;;
+
+      -L*)
+	func_stripname '-L' '' "$arg"
+	dir=$func_stripname_result
+	if test -z "$dir"; then
+	  if test "$#" -gt 0; then
+	    func_fatal_error "require no space between \`-L' and \`$1'"
+	  else
+	    func_fatal_error "need path for \`-L' option"
+	  fi
+	fi
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  absdir=`cd "$dir" && pwd`
+	  test -z "$absdir" && \
+	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
+	  dir="$absdir"
+	  ;;
+	esac
+	case "$deplibs " in
+	*" -L$dir "*) ;;
+	*)
+	  deplibs="$deplibs -L$dir"
+	  lib_search_path="$lib_search_path $dir"
+	  ;;
+	esac
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$dir:"*) ;;
+	  ::) dllsearchpath=$dir;;
+	  *) dllsearchpath="$dllsearchpath:$dir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  ::) dllsearchpath=$testbindir;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+	continue
+	;;
+
+      -l*)
+	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+	    # These systems don't actually have a C or math library (as such)
+	    continue
+	    ;;
+	  *-*-os2*)
+	    # These systems don't actually have a C library (as such)
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C and math libraries are in the System framework
+	    deplibs="$deplibs System.ltframework"
+	    continue
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  esac
+	elif test "X$arg" = "X-lc_r"; then
+	 case $host in
+	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	   # Do not include libc_r directly, use -pthread flag.
+	   continue
+	   ;;
+	 esac
+	fi
+	deplibs="$deplibs $arg"
+	continue
+	;;
+
+      -module)
+	module=yes
+	continue
+	;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      # Darwin uses the -arch flag to determine output architecture.
+      -model|-arch|-isysroot)
+	compiler_flags="$compiler_flags $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+	prev=xcompiler
+	continue
+	;;
+
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+	compiler_flags="$compiler_flags $arg"
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+	case "$new_inherited_linker_flags " in
+	    *" $arg "*) ;;
+	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+	esac
+	continue
+	;;
+
+      -multi_module)
+	single_module="${wl}-multi_module"
+	continue
+	;;
+
+      -no-fast-install)
+	fast_install=no
+	continue
+	;;
+
+      -no-install)
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+	  # The PATH hackery in wrapper scripts is required on Windows
+	  # and Darwin in order for the loader to find any dlls it needs.
+	  func_warning "\`-no-install' is ignored for $host"
+	  func_warning "assuming \`-no-fast-install' instead"
+	  fast_install=no
+	  ;;
+	*) no_install=yes ;;
+	esac
+	continue
+	;;
+
+      -no-undefined)
+	allow_undefined=no
+	continue
+	;;
+
+      -objectlist)
+	prev=objectlist
+	continue
+	;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+	prev=precious_regex
+	continue
+	;;
+
+      -release)
+	prev=release
+	continue
+	;;
+
+      -rpath)
+	prev=rpath
+	continue
+	;;
+
+      -R)
+	prev=xrpath
+	continue
+	;;
+
+      -R*)
+	func_stripname '-R' '' "$arg"
+	dir=$func_stripname_result
+	# We need an absolute path.
+	case $dir in
+	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	*)
+	  func_fatal_error "only absolute run-paths are allowed"
+	  ;;
+	esac
+	case "$xrpath " in
+	*" $dir "*) ;;
+	*) xrpath="$xrpath $dir" ;;
+	esac
+	continue
+	;;
+
+      -shared)
+	# The effects of -shared are defined in a previous loop.
+	continue
+	;;
+
+      -shrext)
+	prev=shrext
+	continue
+	;;
+
+      -static | -static-libtool-libs)
+	# The effects of -static are defined in a previous loop.
+	# We used to do the same as -all-static on platforms that
+	# didn't have a PIC flag, but the assumption that the effects
+	# would be equivalent was wrong.  It would break on at least
+	# Digital Unix and AIX.
+	continue
+	;;
+
+      -thread-safe)
+	thread_safe=yes
+	continue
+	;;
+
+      -version-info)
+	prev=vinfo
+	continue
+	;;
+
+      -version-number)
+	prev=vinfo
+	vinfo_number=yes
+	continue
+	;;
+
+      -weak)
+        prev=weak
+	continue
+	;;
+
+      -Wc,*)
+	func_stripname '-Wc,' '' "$arg"
+	args=$func_stripname_result
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+          func_quote_for_eval "$flag"
+	  arg="$arg $wl$func_quote_for_eval_result"
+	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
+	done
+	IFS="$save_ifs"
+	func_stripname ' ' '' "$arg"
+	arg=$func_stripname_result
+	;;
+
+      -Wl,*)
+	func_stripname '-Wl,' '' "$arg"
+	args=$func_stripname_result
+	arg=
+	save_ifs="$IFS"; IFS=','
+	for flag in $args; do
+	  IFS="$save_ifs"
+          func_quote_for_eval "$flag"
+	  arg="$arg $wl$func_quote_for_eval_result"
+	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+	  linker_flags="$linker_flags $func_quote_for_eval_result"
+	done
+	IFS="$save_ifs"
+	func_stripname ' ' '' "$arg"
+	arg=$func_stripname_result
+	;;
+
+      -Xcompiler)
+	prev=xcompiler
+	continue
+	;;
+
+      -Xlinker)
+	prev=xlinker
+	continue
+	;;
+
+      -XCClinker)
+	prev=xcclinker
+	continue
+	;;
+
+      # -msg_* for osf cc
+      -msg_*)
+	func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
+	;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -F/path gives path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+        func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
+        func_append compile_command " $arg"
+        func_append finalize_command " $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      # Some other compiler flag.
+      -* | +*)
+        func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
+	;;
+
+      *.$objext)
+	# A standard object.
+	objs="$objs $arg"
+	;;
+
+      *.lo)
+	# A libtool-controlled object.
+
+	# Check to see that this really is a libtool object.
+	if func_lalib_unsafe_p "$arg"; then
+	  pic_object=
+	  non_pic_object=
+
+	  # Read the .lo file
+	  func_source "$arg"
+
+	  if test -z "$pic_object" ||
+	     test -z "$non_pic_object" ||
+	     test "$pic_object" = none &&
+	     test "$non_pic_object" = none; then
+	    func_fatal_error "cannot find name of object for \`$arg'"
+	  fi
+
+	  # Extract subdirectory from the argument.
+	  func_dirname "$arg" "/" ""
+	  xdir="$func_dirname_result"
+
+	  if test "$pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    pic_object="$xdir$pic_object"
+
+	    if test "$prev" = dlfiles; then
+	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+		dlfiles="$dlfiles $pic_object"
+		prev=
+		continue
+	      else
+		# If libtool objects are unsupported, then we need to preload.
+		prev=dlprefiles
+	      fi
+	    fi
+
+	    # CHECK ME:  I think I busted this.  -Ossama
+	    if test "$prev" = dlprefiles; then
+	      # Preload the old-style object.
+	      dlprefiles="$dlprefiles $pic_object"
+	      prev=
+	    fi
+
+	    # A PIC object.
+	    func_append libobjs " $pic_object"
+	    arg="$pic_object"
+	  fi
+
+	  # Non-PIC object.
+	  if test "$non_pic_object" != none; then
+	    # Prepend the subdirectory the object is found in.
+	    non_pic_object="$xdir$non_pic_object"
+
+	    # A standard non-PIC object
+	    func_append non_pic_objects " $non_pic_object"
+	    if test -z "$pic_object" || test "$pic_object" = none ; then
+	      arg="$non_pic_object"
+	    fi
+	  else
+	    # If the PIC object exists, use it instead.
+	    # $xdir was prepended to $pic_object above.
+	    non_pic_object="$pic_object"
+	    func_append non_pic_objects " $non_pic_object"
+	  fi
+	else
+	  # Only an error if not doing a dry-run.
+	  if $opt_dry_run; then
+	    # Extract subdirectory from the argument.
+	    func_dirname "$arg" "/" ""
+	    xdir="$func_dirname_result"
+
+	    func_lo2o "$arg"
+	    pic_object=$xdir$objdir/$func_lo2o_result
+	    non_pic_object=$xdir$func_lo2o_result
+	    func_append libobjs " $pic_object"
+	    func_append non_pic_objects " $non_pic_object"
+	  else
+	    func_fatal_error "\`$arg' is not a valid libtool object"
+	  fi
+	fi
+	;;
+
+      *.$libext)
+	# An archive.
+	deplibs="$deplibs $arg"
+	old_deplibs="$old_deplibs $arg"
+	continue
+	;;
+
+      *.la)
+	# A libtool-controlled library.
+
+	if test "$prev" = dlfiles; then
+	  # This library was specified with -dlopen.
+	  dlfiles="$dlfiles $arg"
+	  prev=
+	elif test "$prev" = dlprefiles; then
+	  # The library was specified with -dlpreopen.
+	  dlprefiles="$dlprefiles $arg"
+	  prev=
+	else
+	  deplibs="$deplibs $arg"
+	fi
+	continue
+	;;
+
+      # Some other compiler argument.
+      *)
+	# Unknown arguments in both finalize_command and compile_command need
+	# to be aesthetically quoted because they are evaled later.
+	func_quote_for_eval "$arg"
+	arg="$func_quote_for_eval_result"
+	;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+	func_append compile_command " $arg"
+	func_append finalize_command " $arg"
+      fi
+    done # argument parsing loop
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prevarg' option requires an argument"
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      func_append compile_command " $arg"
+      func_append finalize_command " $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    func_basename "$output"
+    outputname="$func_basename_result"
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    func_dirname "$output" "/" ""
+    output_objdir="$func_dirname_result$objdir"
+    # Create the object directory.
+    func_mkdir_p "$output_objdir"
+
+    # Determine the type of output
+    case $output in
+    "")
+      func_fatal_help "you must specify an output file"
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if $opt_duplicate_deps ; then
+	case "$libs " in
+	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	esac
+      fi
+      libs="$libs $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if $opt_duplicate_compiler_generated_deps; then
+	for pre_post_dep in $predeps $postdeps; do
+	  case "$pre_post_deps " in
+	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+	  esac
+	  pre_post_deps="$pre_post_deps $pre_post_dep"
+	done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    notinst_path= # paths that contain not-installed libtool libraries
+
+    case $linkmode in
+    lib)
+	passes="conv dlpreopen link"
+	for file in $dlfiles $dlprefiles; do
+	  case $file in
+	  *.la) ;;
+	  *)
+	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+	    ;;
+	  esac
+	done
+	;;
+    prog)
+	compile_deplibs=
+	finalize_deplibs=
+	alldeplibs=no
+	newdlfiles=
+	newdlprefiles=
+	passes="conv scan dlopen dlpreopen link"
+	;;
+    *)  passes="conv"
+	;;
+    esac
+
+    for pass in $passes; do
+      # The preopen pass in lib mode reverses $deplibs; put it back here
+      # so that -L comes before libs that need it for instance...
+      if test "$linkmode,$pass" = "lib,link"; then
+	## FIXME: Find the place where the list is rebuilt in the wrong
+	##        order, and fix it there properly
+        tmp_deplibs=
+	for deplib in $deplibs; do
+	  tmp_deplibs="$deplib $tmp_deplibs"
+	done
+	deplibs="$tmp_deplibs"
+      fi
+
+      if test "$linkmode,$pass" = "lib,link" ||
+	 test "$linkmode,$pass" = "prog,scan"; then
+	libs="$deplibs"
+	deplibs=
+      fi
+      if test "$linkmode" = prog; then
+	case $pass in
+	dlopen) libs="$dlfiles" ;;
+	dlpreopen) libs="$dlprefiles" ;;
+	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+	esac
+      fi
+      if test "$linkmode,$pass" = "lib,dlpreopen"; then
+	# Collect and forward deplibs of preopened libtool libs
+	for lib in $dlprefiles; do
+	  # Ignore non-libtool-libs
+	  dependency_libs=
+	  case $lib in
+	  *.la)	func_source "$lib" ;;
+	  esac
+
+	  # Collect preopened libtool deplibs, except any this library
+	  # has declared as weak libs
+	  for deplib in $dependency_libs; do
+            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+	    case " $weak_libs " in
+	    *" $deplib_base "*) ;;
+	    *) deplibs="$deplibs $deplib" ;;
+	    esac
+	  done
+	done
+	libs="$dlprefiles"
+      fi
+      if test "$pass" = dlopen; then
+	# Collect dlpreopened libraries
+	save_deplibs="$deplibs"
+	deplibs=
+      fi
+
+      for deplib in $libs; do
+	lib=
+	found=no
+	case $deplib in
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    compiler_flags="$compiler_flags $deplib"
+	    if test "$linkmode" = lib ; then
+		case "$new_inherited_linker_flags " in
+		    *" $deplib "*) ;;
+		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+		esac
+	    fi
+	  fi
+	  continue
+	  ;;
+	-l*)
+	  if test "$linkmode" != lib && test "$linkmode" != prog; then
+	    func_warning "\`-l' is ignored for archives/objects"
+	    continue
+	  fi
+	  func_stripname '-l' '' "$deplib"
+	  name=$func_stripname_result
+	  if test "$linkmode" = lib; then
+	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+	  else
+	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+	  fi
+	  for searchdir in $searchdirs; do
+	    for search_ext in .la $std_shrext .so .a; do
+	      # Search the libtool library
+	      lib="$searchdir/lib${name}${search_ext}"
+	      if test -f "$lib"; then
+		if test "$search_ext" = ".la"; then
+		  found=yes
+		else
+		  found=no
+		fi
+		break 2
+	      fi
+	    done
+	  done
+	  if test "$found" != yes; then
+	    # deplib doesn't seem to be a libtool library
+	    if test "$linkmode,$pass" = "prog,link"; then
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      deplibs="$deplib $deplibs"
+	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    continue
+	  else # deplib is a libtool library
+	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+	    # We need to do some special things here, and not later.
+	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	      case " $predeps $postdeps " in
+	      *" $deplib "*)
+		if func_lalib_p "$lib"; then
+		  library_names=
+		  old_library=
+		  func_source "$lib"
+		  for l in $old_library $library_names; do
+		    ll="$l"
+		  done
+		  if test "X$ll" = "X$old_library" ; then # only static version available
+		    found=no
+		    func_dirname "$lib" "" "."
+		    ladir="$func_dirname_result"
+		    lib=$ladir/$old_library
+		    if test "$linkmode,$pass" = "prog,link"; then
+		      compile_deplibs="$deplib $compile_deplibs"
+		      finalize_deplibs="$deplib $finalize_deplibs"
+		    else
+		      deplibs="$deplib $deplibs"
+		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+		    fi
+		    continue
+		  fi
+		fi
+		;;
+	      *) ;;
+	      esac
+	    fi
+	  fi
+	  ;; # -l
+	*.ltframework)
+	  if test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$deplib $compile_deplibs"
+	    finalize_deplibs="$deplib $finalize_deplibs"
+	  else
+	    deplibs="$deplib $deplibs"
+	    if test "$linkmode" = lib ; then
+		case "$new_inherited_linker_flags " in
+		    *" $deplib "*) ;;
+		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+		esac
+	    fi
+	  fi
+	  continue
+	  ;;
+	-L*)
+	  case $linkmode in
+	  lib)
+	    deplibs="$deplib $deplibs"
+	    test "$pass" = conv && continue
+	    newdependency_libs="$deplib $newdependency_libs"
+	    func_stripname '-L' '' "$deplib"
+	    newlib_search_path="$newlib_search_path $func_stripname_result"
+	    ;;
+	  prog)
+	    if test "$pass" = conv; then
+	      deplibs="$deplib $deplibs"
+	      continue
+	    fi
+	    if test "$pass" = scan; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    func_stripname '-L' '' "$deplib"
+	    newlib_search_path="$newlib_search_path $func_stripname_result"
+	    ;;
+	  *)
+	    func_warning "\`-L' is ignored for archives/objects"
+	    ;;
+	  esac # linkmode
+	  continue
+	  ;; # -L
+	-R*)
+	  if test "$pass" = link; then
+	    func_stripname '-R' '' "$deplib"
+	    dir=$func_stripname_result
+	    # Make sure the xrpath contains only unique directories.
+	    case "$xrpath " in
+	    *" $dir "*) ;;
+	    *) xrpath="$xrpath $dir" ;;
+	    esac
+	  fi
+	  deplibs="$deplib $deplibs"
+	  continue
+	  ;;
+	*.la) lib="$deplib" ;;
+	*.$libext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	    continue
+	  fi
+	  case $linkmode in
+	  lib)
+	    # Linking convenience modules into shared libraries is allowed,
+	    # but linking other static libraries is non-portable.
+	    case " $dlpreconveniencelibs " in
+	    *" $deplib "*) ;;
+	    *)
+	      valid_a_lib=no
+	      case $deplibs_check_method in
+		match_pattern*)
+		  set dummy $deplibs_check_method; shift
+		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+		    | $EGREP "$match_pattern_regex" > /dev/null; then
+		    valid_a_lib=yes
+		  fi
+		;;
+		pass_all)
+		  valid_a_lib=yes
+		;;
+	      esac
+	      if test "$valid_a_lib" != yes; then
+		$ECHO
+		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
+		$ECHO "*** I have the capability to make that library automatically link in when"
+		$ECHO "*** you link to this library.  But I can only do this if you have a"
+		$ECHO "*** shared version of the library, which you do not appear to have"
+		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
+		$ECHO "*** that it is just a static archive that I should not use here."
+	      else
+		$ECHO
+		$ECHO "*** Warning: Linking the shared library $output against the"
+		$ECHO "*** static library $deplib is not portable!"
+		deplibs="$deplib $deplibs"
+	      fi
+	      ;;
+	    esac
+	    continue
+	    ;;
+	  prog)
+	    if test "$pass" != link; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    fi
+	    continue
+	    ;;
+	  esac # linkmode
+	  ;; # *.$libext
+	*.lo | *.$objext)
+	  if test "$pass" = conv; then
+	    deplibs="$deplib $deplibs"
+	  elif test "$linkmode" = prog; then
+	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	      # If there is no dlopen support or we're linking statically,
+	      # we need to preload.
+	      newdlprefiles="$newdlprefiles $deplib"
+	      compile_deplibs="$deplib $compile_deplibs"
+	      finalize_deplibs="$deplib $finalize_deplibs"
+	    else
+	      newdlfiles="$newdlfiles $deplib"
+	    fi
+	  fi
+	  continue
+	  ;;
+	%DEPLIBS%)
+	  alldeplibs=yes
+	  continue
+	  ;;
+	esac # case $deplib
+
+	if test "$found" = yes || test -f "$lib"; then :
+	else
+	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+	fi
+
+	# Check to see that this really is a libtool archive.
+	func_lalib_unsafe_p "$lib" \
+	  || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+	func_dirname "$lib" "" "."
+	ladir="$func_dirname_result"
+
+	dlname=
+	dlopen=
+	dlpreopen=
+	libdir=
+	library_names=
+	old_library=
+	inherited_linker_flags=
+	# If the library was installed with an old release of libtool,
+	# it will not redefine variables installed, or shouldnotlink
+	installed=yes
+	shouldnotlink=no
+	avoidtemprpath=
+
+
+	# Read the .la file
+	func_source "$lib"
+
+	# Convert "-framework foo" to "foo.ltframework"
+	if test -n "$inherited_linker_flags"; then
+	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+	    case " $new_inherited_linker_flags " in
+	      *" $tmp_inherited_linker_flag "*) ;;
+	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+	    esac
+	  done
+	fi
+	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	if test "$linkmode,$pass" = "lib,link" ||
+	   test "$linkmode,$pass" = "prog,scan" ||
+	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+	fi
+
+	if test "$pass" = conv; then
+	  # Only check for convenience libraries
+	  deplibs="$lib $deplibs"
+	  if test -z "$libdir"; then
+	    if test -z "$old_library"; then
+	      func_fatal_error "cannot find name of link library for \`$lib'"
+	    fi
+	    # It is a libtool convenience library, so add in its objects.
+	    convenience="$convenience $ladir/$objdir/$old_library"
+	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
+	    func_fatal_error "\`$lib' is not a convenience library"
+	  fi
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    deplibs="$deplib $deplibs"
+	    if $opt_duplicate_deps ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done
+	  continue
+	fi # $pass = conv
+
+
+	# Get the name of the library we link against.
+	linklib=
+	for l in $old_library $library_names; do
+	  linklib="$l"
+	done
+	if test -z "$linklib"; then
+	  func_fatal_error "cannot find name of link library for \`$lib'"
+	fi
+
+	# This library was specified with -dlopen.
+	if test "$pass" = dlopen; then
+	  if test -z "$libdir"; then
+	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+	  fi
+	  if test -z "$dlname" ||
+	     test "$dlopen_support" != yes ||
+	     test "$build_libtool_libs" = no; then
+	    # If there is no dlname, no dlopen support or we're linking
+	    # statically, we need to preload.  We also need to preload any
+	    # dependent libraries so libltdl's deplib preloader doesn't
+	    # bomb out in the load deplibs phase.
+	    dlprefiles="$dlprefiles $lib $dependency_libs"
+	  else
+	    newdlfiles="$newdlfiles $lib"
+	  fi
+	  continue
+	fi # $pass = dlopen
+
+	# We need an absolute path.
+	case $ladir in
+	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+	*)
+	  abs_ladir=`cd "$ladir" && pwd`
+	  if test -z "$abs_ladir"; then
+	    func_warning "cannot determine absolute directory name of \`$ladir'"
+	    func_warning "passing it literally to the linker, although it might fail"
+	    abs_ladir="$ladir"
+	  fi
+	  ;;
+	esac
+	func_basename "$lib"
+	laname="$func_basename_result"
+
+	# Find the relevant object directory and library name.
+	if test "X$installed" = Xyes; then
+	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    func_warning "library \`$lib' was moved."
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	  else
+	    dir="$libdir"
+	    absdir="$libdir"
+	  fi
+	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+	else
+	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	    dir="$ladir"
+	    absdir="$abs_ladir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  else
+	    dir="$ladir/$objdir"
+	    absdir="$abs_ladir/$objdir"
+	    # Remove this search path later
+	    notinst_path="$notinst_path $abs_ladir"
+	  fi
+	fi # $installed = yes
+	func_stripname 'lib' '.la' "$laname"
+	name=$func_stripname_result
+
+	# This library was specified with -dlpreopen.
+	if test "$pass" = dlpreopen; then
+	  if test -z "$libdir" && test "$linkmode" = prog; then
+	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+	  fi
+	  # Prefer using a static library (so that no silly _DYNAMIC symbols
+	  # are required to link).
+	  if test -n "$old_library"; then
+	    newdlprefiles="$newdlprefiles $dir/$old_library"
+	    # Keep a list of preopened convenience libraries to check
+	    # that they are being used correctly in the link pass.
+	    test -z "$libdir" && \
+		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
+	  # Otherwise, use the dlname, so that lt_dlopen finds it.
+	  elif test -n "$dlname"; then
+	    newdlprefiles="$newdlprefiles $dir/$dlname"
+	  else
+	    newdlprefiles="$newdlprefiles $dir/$linklib"
+	  fi
+	fi # $pass = dlpreopen
+
+	if test -z "$libdir"; then
+	  # Link the convenience library
+	  if test "$linkmode" = lib; then
+	    deplibs="$dir/$old_library $deplibs"
+	  elif test "$linkmode,$pass" = "prog,link"; then
+	    compile_deplibs="$dir/$old_library $compile_deplibs"
+	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
+	  else
+	    deplibs="$lib $deplibs" # used for prog,scan pass
+	  fi
+	  continue
+	fi
+
+
+	if test "$linkmode" = prog && test "$pass" != link; then
+	  newlib_search_path="$newlib_search_path $ladir"
+	  deplibs="$lib $deplibs"
+
+	  linkalldeplibs=no
+	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
+	     test "$build_libtool_libs" = no; then
+	    linkalldeplibs=yes
+	  fi
+
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    case $deplib in
+	    -L*) func_stripname '-L' '' "$deplib"
+	         newlib_search_path="$newlib_search_path $func_stripname_result"
+		 ;;
+	    esac
+	    # Need to link against all dependency_libs?
+	    if test "$linkalldeplibs" = yes; then
+	      deplibs="$deplib $deplibs"
+	    else
+	      # Need to hardcode shared library paths
+	      # or/and link against static libraries
+	      newdependency_libs="$deplib $newdependency_libs"
+	    fi
+	    if $opt_duplicate_deps ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done # for deplib
+	  continue
+	fi # $linkmode = prog...
+
+	if test "$linkmode,$pass" = "prog,link"; then
+	  if test -n "$library_names" &&
+	     { { test "$prefer_static_libs" = no ||
+	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
+	       test -z "$old_library"; }; then
+	    # We need to hardcode the library path
+	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+	      # Make sure the rpath contains only unique directories.
+	      case "$temp_rpath:" in
+	      *"$absdir:"*) ;;
+	      *) temp_rpath="$temp_rpath$absdir:" ;;
+	      esac
+	    fi
+
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi # $linkmode,$pass = prog,link...
+
+	  if test "$alldeplibs" = yes &&
+	     { test "$deplibs_check_method" = pass_all ||
+	       { test "$build_libtool_libs" = yes &&
+		 test -n "$library_names"; }; }; then
+	    # We only need to search for static libraries
+	    continue
+	  fi
+	fi
+
+	link_static=no # Whether the deplib will be linked statically
+	use_static_libs=$prefer_static_libs
+	if test "$use_static_libs" = built && test "$installed" = yes; then
+	  use_static_libs=no
+	fi
+	if test -n "$library_names" &&
+	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
+	  case $host in
+	  *cygwin* | *mingw* | *cegcc*)
+	      # No point in relinking DLLs because paths are not encoded
+	      notinst_deplibs="$notinst_deplibs $lib"
+	      need_relink=no
+	    ;;
+	  *)
+	    if test "$installed" = no; then
+	      notinst_deplibs="$notinst_deplibs $lib"
+	      need_relink=yes
+	    fi
+	    ;;
+	  esac
+	  # This is a shared library
+
+	  # Warn about portability, can't link against -module's on some
+	  # systems (darwin).  Don't bleat about dlopened modules though!
+	  dlopenmodule=""
+	  for dlpremoduletest in $dlprefiles; do
+	    if test "X$dlpremoduletest" = "X$lib"; then
+	      dlopenmodule="$dlpremoduletest"
+	      break
+	    fi
+	  done
+	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+	    $ECHO
+	    if test "$linkmode" = prog; then
+	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
+	    else
+	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+	    fi
+	    $ECHO "*** $linklib is not portable!"
+	  fi
+	  if test "$linkmode" = lib &&
+	     test "$hardcode_into_libs" = yes; then
+	    # Hardcode the library path.
+	    # Skip directories that are in the system default run-time
+	    # search path.
+	    case " $sys_lib_dlsearch_path " in
+	    *" $absdir "*) ;;
+	    *)
+	      case "$compile_rpath " in
+	      *" $absdir "*) ;;
+	      *) compile_rpath="$compile_rpath $absdir"
+	      esac
+	      ;;
+	    esac
+	    case " $sys_lib_dlsearch_path " in
+	    *" $libdir "*) ;;
+	    *)
+	      case "$finalize_rpath " in
+	      *" $libdir "*) ;;
+	      *) finalize_rpath="$finalize_rpath $libdir"
+	      esac
+	      ;;
+	    esac
+	  fi
+
+	  if test -n "$old_archive_from_expsyms_cmds"; then
+	    # figure out the soname
+	    set dummy $library_names
+	    shift
+	    realname="$1"
+	    shift
+	    libname=`eval "\\$ECHO \"$libname_spec\""`
+	    # use dlname if we got it. it's perfectly good, no?
+	    if test -n "$dlname"; then
+	      soname="$dlname"
+	    elif test -n "$soname_spec"; then
+	      # bleh windows
+	      case $host in
+	      *cygwin* | mingw* | *cegcc*)
+	        func_arith $current - $age
+		major=$func_arith_result
+		versuffix="-$major"
+		;;
+	      esac
+	      eval soname=\"$soname_spec\"
+	    else
+	      soname="$realname"
+	    fi
+
+	    # Make a new name for the extract_expsyms_cmds to use
+	    soroot="$soname"
+	    func_basename "$soroot"
+	    soname="$func_basename_result"
+	    func_stripname 'lib' '.dll' "$soname"
+	    newlib=libimp-$func_stripname_result.a
+
+	    # If the library has no export list, then create one now
+	    if test -f "$output_objdir/$soname-def"; then :
+	    else
+	      func_verbose "extracting exported symbol list from \`$soname'"
+	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+	    fi
+
+	    # Create $newlib
+	    if test -f "$output_objdir/$newlib"; then :; else
+	      func_verbose "generating import library for \`$soname'"
+	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+	    fi
+	    # make sure the library variables are pointing to the new library
+	    dir=$output_objdir
+	    linklib=$newlib
+	  fi # test -n "$old_archive_from_expsyms_cmds"
+
+	  if test "$linkmode" = prog || test "$mode" != relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    lib_linked=yes
+	    case $hardcode_action in
+	    immediate | unsupported)
+	      if test "$hardcode_direct" = no; then
+		add="$dir/$linklib"
+		case $host in
+		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+		    *-*-unixware7*) add_dir="-L$dir" ;;
+		  *-*-darwin* )
+		    # if the lib is a (non-dlopened) module then we can not
+		    # link against it, someone is ignoring the earlier warnings
+		    if /usr/bin/file -L $add 2> /dev/null |
+			 $GREP ": [^:]* bundle" >/dev/null ; then
+		      if test "X$dlopenmodule" != "X$lib"; then
+			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
+			if test -z "$old_library" ; then
+			  $ECHO
+			  $ECHO "*** And there doesn't seem to be a static archive available"
+			  $ECHO "*** The link will probably fail, sorry"
+			else
+			  add="$dir/$old_library"
+			fi
+		      elif test -n "$old_library"; then
+			add="$dir/$old_library"
+		      fi
+		    fi
+		esac
+	      elif test "$hardcode_minus_L" = no; then
+		case $host in
+		*-*-sunos*) add_shlibpath="$dir" ;;
+		esac
+		add_dir="-L$dir"
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = no; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    relink)
+	      if test "$hardcode_direct" = yes &&
+	         test "$hardcode_direct_absolute" = no; then
+		add="$dir/$linklib"
+	      elif test "$hardcode_minus_L" = yes; then
+		add_dir="-L$dir"
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case $libdir in
+		    [\\/]*)
+		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		      ;;
+		  esac
+		fi
+		add="-l$name"
+	      elif test "$hardcode_shlibpath_var" = yes; then
+		add_shlibpath="$dir"
+		add="-l$name"
+	      else
+		lib_linked=no
+	      fi
+	      ;;
+	    *) lib_linked=no ;;
+	    esac
+
+	    if test "$lib_linked" != yes; then
+	      func_fatal_configuration "unsupported hardcode properties"
+	    fi
+
+	    if test -n "$add_shlibpath"; then
+	      case :$compile_shlibpath: in
+	      *":$add_shlibpath:"*) ;;
+	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+	      esac
+	    fi
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	      if test "$hardcode_direct" != yes &&
+		 test "$hardcode_minus_L" != yes &&
+		 test "$hardcode_shlibpath_var" = yes; then
+		case :$finalize_shlibpath: in
+		*":$libdir:"*) ;;
+		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+		esac
+	      fi
+	    fi
+	  fi
+
+	  if test "$linkmode" = prog || test "$mode" = relink; then
+	    add_shlibpath=
+	    add_dir=
+	    add=
+	    # Finalize command for both is simple: just hardcode it.
+	    if test "$hardcode_direct" = yes &&
+	       test "$hardcode_direct_absolute" = no; then
+	      add="$libdir/$linklib"
+	    elif test "$hardcode_minus_L" = yes; then
+	      add_dir="-L$libdir"
+	      add="-l$name"
+	    elif test "$hardcode_shlibpath_var" = yes; then
+	      case :$finalize_shlibpath: in
+	      *":$libdir:"*) ;;
+	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+	      esac
+	      add="-l$name"
+	    elif test "$hardcode_automatic" = yes; then
+	      if test -n "$inst_prefix_dir" &&
+		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
+		add="$inst_prefix_dir$libdir/$linklib"
+	      else
+		add="$libdir/$linklib"
+	      fi
+	    else
+	      # We cannot seem to hardcode it, guess we'll fake it.
+	      add_dir="-L$libdir"
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case $libdir in
+		  [\\/]*)
+		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		    ;;
+		esac
+	      fi
+	      add="-l$name"
+	    fi
+
+	    if test "$linkmode" = prog; then
+	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+	    else
+	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
+	      test -n "$add" && deplibs="$add $deplibs"
+	    fi
+	  fi
+	elif test "$linkmode" = prog; then
+	  # Here we assume that one of hardcode_direct or hardcode_minus_L
+	  # is not unsupported.  This is valid on all known static and
+	  # shared platforms.
+	  if test "$hardcode_direct" != unsupported; then
+	    test -n "$old_library" && linklib="$old_library"
+	    compile_deplibs="$dir/$linklib $compile_deplibs"
+	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
+	  else
+	    compile_deplibs="-l$name -L$dir $compile_deplibs"
+	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+	  fi
+	elif test "$build_libtool_libs" = yes; then
+	  # Not a shared library
+	  if test "$deplibs_check_method" != pass_all; then
+	    # We're trying link a shared library against a static one
+	    # but the system doesn't support it.
+
+	    # Just print a warning and add the library to dependency_libs so
+	    # that the program can be linked against the static library.
+	    $ECHO
+	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
+	    $ECHO "*** I have the capability to make that library automatically link in when"
+	    $ECHO "*** you link to this library.  But I can only do this if you have a"
+	    $ECHO "*** shared version of the library, which you do not appear to have."
+	    if test "$module" = yes; then
+	      $ECHO "*** But as you try to build a module library, libtool will still create "
+	      $ECHO "*** a static module, that should work as long as the dlopening application"
+	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+	      if test -z "$global_symbol_pipe"; then
+		$ECHO
+		$ECHO "*** However, this would only work if libtool was able to extract symbol"
+		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		$ECHO "*** not find such a program.  So, this module is probably useless."
+		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+	      fi
+	      if test "$build_old_libs" = no; then
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  else
+	    deplibs="$dir/$old_library $deplibs"
+	    link_static=yes
+	  fi
+	fi # link shared/static library?
+
+	if test "$linkmode" = lib; then
+	  if test -n "$dependency_libs" &&
+	     { test "$hardcode_into_libs" != yes ||
+	       test "$build_old_libs" = yes ||
+	       test "$link_static" = yes; }; then
+	    # Extract -R from dependency_libs
+	    temp_deplibs=
+	    for libdir in $dependency_libs; do
+	      case $libdir in
+	      -R*) func_stripname '-R' '' "$libdir"
+	           temp_xrpath=$func_stripname_result
+		   case " $xrpath " in
+		   *" $temp_xrpath "*) ;;
+		   *) xrpath="$xrpath $temp_xrpath";;
+		   esac;;
+	      *) temp_deplibs="$temp_deplibs $libdir";;
+	      esac
+	    done
+	    dependency_libs="$temp_deplibs"
+	  fi
+
+	  newlib_search_path="$newlib_search_path $absdir"
+	  # Link against this library
+	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+	  # ... and its dependency_libs
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    newdependency_libs="$deplib $newdependency_libs"
+	    if $opt_duplicate_deps ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
+	    tmp_libs="$tmp_libs $deplib"
+	  done
+
+	  if test "$link_all_deplibs" != no; then
+	    # Add the search paths of all dependency libraries
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      -L*) path="$deplib" ;;
+	      *.la)
+	        func_dirname "$deplib" "" "."
+		dir="$func_dirname_result"
+		# We need an absolute path.
+		case $dir in
+		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+		*)
+		  absdir=`cd "$dir" && pwd`
+		  if test -z "$absdir"; then
+		    func_warning "cannot determine absolute directory name of \`$dir'"
+		    absdir="$dir"
+		  fi
+		  ;;
+		esac
+		if $GREP "^installed=no" $deplib > /dev/null; then
+		case $host in
+		*-*-darwin*)
+		  depdepl=
+		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+		  if test -n "$deplibrary_names" ; then
+		    for tmp in $deplibrary_names ; do
+		      depdepl=$tmp
+		    done
+		    if test -f "$absdir/$objdir/$depdepl" ; then
+		      depdepl="$absdir/$objdir/$depdepl"
+		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+                      if test -z "$darwin_install_name"; then
+                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                      fi
+		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+		      path=
+		    fi
+		  fi
+		  ;;
+		*)
+		  path="-L$absdir/$objdir"
+		  ;;
+		esac
+		else
+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  test -z "$libdir" && \
+		    func_fatal_error "\`$deplib' is not a valid libtool archive"
+		  test "$absdir" != "$libdir" && \
+		    func_warning "\`$deplib' seems to be moved"
+
+		  path="-L$absdir"
+		fi
+		;;
+	      esac
+	      case " $deplibs " in
+	      *" $path "*) ;;
+	      *) deplibs="$path $deplibs" ;;
+	      esac
+	    done
+	  fi # link_all_deplibs != no
+	fi # linkmode = lib
+      done # for deplib in $libs
+      if test "$pass" = link; then
+	if test "$linkmode" = "prog"; then
+	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+	else
+	  compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	fi
+      fi
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+	# Link the dlpreopened libraries before other libraries
+	for deplib in $save_deplibs; do
+	  deplibs="$deplib $deplibs"
+	done
+      fi
+      if test "$pass" != dlopen; then
+	if test "$pass" != conv; then
+	  # Make sure lib_search_path contains only unique directories.
+	  lib_search_path=
+	  for dir in $newlib_search_path; do
+	    case "$lib_search_path " in
+	    *" $dir "*) ;;
+	    *) lib_search_path="$lib_search_path $dir" ;;
+	    esac
+	  done
+	  newlib_search_path=
+	fi
+
+	if test "$linkmode,$pass" != "prog,link"; then
+	  vars="deplibs"
+	else
+	  vars="compile_deplibs finalize_deplibs"
+	fi
+	for var in $vars dependency_libs; do
+	  # Add libraries to $var in reverse order
+	  eval tmp_libs=\"\$$var\"
+	  new_libs=
+	  for deplib in $tmp_libs; do
+	    # FIXME: Pedantically, this is the right thing to do, so
+	    #        that some nasty dependency loop isn't accidentally
+	    #        broken:
+	    #new_libs="$deplib $new_libs"
+	    # Pragmatically, this seems to cause very few problems in
+	    # practice:
+	    case $deplib in
+	    -L*) new_libs="$deplib $new_libs" ;;
+	    -R*) ;;
+	    *)
+	      # And here is the reason: when a library appears more
+	      # than once as an explicit dependence of a library, or
+	      # is implicitly linked in more than once by the
+	      # compiler, it is considered special, and multiple
+	      # occurrences thereof are not removed.  Compare this
+	      # with having the same library being listed as a
+	      # dependency of multiple other libraries: in this case,
+	      # we know (pedantically, we assume) the library does not
+	      # need to be listed more than once, so we keep only the
+	      # last copy.  This is not always right, but it is rare
+	      # enough that we require users that really mean to play
+	      # such unportable linking tricks to link the library
+	      # using -Wl,-lname, so that libtool does not consider it
+	      # for duplicate removal.
+	      case " $specialdeplibs " in
+	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
+	      *)
+		case " $new_libs " in
+		*" $deplib "*) ;;
+		*) new_libs="$deplib $new_libs" ;;
+		esac
+		;;
+	      esac
+	      ;;
+	    esac
+	  done
+	  tmp_libs=
+	  for deplib in $new_libs; do
+	    case $deplib in
+	    -L*)
+	      case " $tmp_libs " in
+	      *" $deplib "*) ;;
+	      *) tmp_libs="$tmp_libs $deplib" ;;
+	      esac
+	      ;;
+	    *) tmp_libs="$tmp_libs $deplib" ;;
+	    esac
+	  done
+	  eval $var=\"$tmp_libs\"
+	done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+	case " $predeps $postdeps $compiler_lib_search_path " in
+	*" $i "*)
+	  i=""
+	  ;;
+	esac
+	if test -n "$i" ; then
+	  tmp_libs="$tmp_libs $i"
+	fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+    fi
+    if test "$linkmode" = prog || test "$linkmode" = lib; then
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	func_warning "\`-dlopen' is ignored for archives"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	func_warning "\`-l' and \`-L' are ignored for archives" ;;
+      esac
+
+      test -n "$rpath" && \
+	func_warning "\`-rpath' is ignored for archives"
+
+      test -n "$xrpath" && \
+	func_warning "\`-R' is ignored for archives"
+
+      test -n "$vinfo" && \
+	func_warning "\`-version-info/-version-number' is ignored for archives"
+
+      test -n "$release" && \
+	func_warning "\`-release' is ignored for archives"
+
+      test -n "$export_symbols$export_symbols_regex" && \
+	func_warning "\`-export-symbols' is ignored for archives"
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+	func_stripname 'lib' '.la' "$outputname"
+	name=$func_stripname_result
+	eval shared_ext=\"$shrext_cmds\"
+	eval libname=\"$libname_spec\"
+	;;
+      *)
+	test "$module" = no && \
+	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+	if test "$need_lib_prefix" != no; then
+	  # Add the "lib" prefix for modules if required
+	  func_stripname '' '.la' "$outputname"
+	  name=$func_stripname_result
+	  eval shared_ext=\"$shrext_cmds\"
+	  eval libname=\"$libname_spec\"
+	else
+	  func_stripname '' '.la' "$outputname"
+	  libname=$func_stripname_result
+	fi
+	;;
+      esac
+
+      if test -n "$objs"; then
+	if test "$deplibs_check_method" != pass_all; then
+	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+	else
+	  $ECHO
+	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+	  $ECHO "*** objects $objs is not portable!"
+	  libobjs="$libobjs $objs"
+	fi
+      fi
+
+      test "$dlself" != no && \
+	func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+      set dummy $rpath
+      shift
+      test "$#" -gt 1 && \
+	func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+      install_libdir="$1"
+
+      oldlibs=
+      if test -z "$rpath"; then
+	if test "$build_libtool_libs" = yes; then
+	  # Building a libtool convenience library.
+	  # Some compilers have problems with a `.al' extension so
+	  # convenience libraries should have the same extension an
+	  # archive normally would.
+	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
+	  build_libtool_libs=convenience
+	  build_old_libs=yes
+	fi
+
+	test -n "$vinfo" && \
+	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+	test -n "$release" && \
+	  func_warning "\`-release' is ignored for convenience libraries"
+      else
+
+	# Parse the version information argument.
+	save_ifs="$IFS"; IFS=':'
+	set dummy $vinfo 0 0 0
+	shift
+	IFS="$save_ifs"
+
+	test -n "$7" && \
+	  func_fatal_help "too many parameters to \`-version-info'"
+
+	# convert absolute version numbers to libtool ages
+	# this retains compatibility with .la files and attempts
+	# to make the code below a bit more comprehensible
+
+	case $vinfo_number in
+	yes)
+	  number_major="$1"
+	  number_minor="$2"
+	  number_revision="$3"
+	  #
+	  # There are really only two kinds -- those that
+	  # use the current revision as the major version
+	  # and those that subtract age and use age as
+	  # a minor version.  But, then there is irix
+	  # which has an extra 1 added just for fun
+	  #
+	  case $version_type in
+	  darwin|linux|osf|windows|none)
+	    func_arith $number_major + $number_minor
+	    current=$func_arith_result
+	    age="$number_minor"
+	    revision="$number_revision"
+	    ;;
+	  freebsd-aout|freebsd-elf|sunos)
+	    current="$number_major"
+	    revision="$number_minor"
+	    age="0"
+	    ;;
+	  irix|nonstopux)
+	    func_arith $number_major + $number_minor
+	    current=$func_arith_result
+	    age="$number_minor"
+	    revision="$number_minor"
+	    lt_irix_increment=no
+	    ;;
+	  esac
+	  ;;
+	no)
+	  current="$1"
+	  revision="$2"
+	  age="$3"
+	  ;;
+	esac
+
+	# Check that each of the things are valid numbers.
+	case $current in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "CURRENT \`$current' must be a nonnegative integer"
+	  func_fatal_error "\`$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	case $revision in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "REVISION \`$revision' must be a nonnegative integer"
+	  func_fatal_error "\`$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	case $age in
+	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+	*)
+	  func_error "AGE \`$age' must be a nonnegative integer"
+	  func_fatal_error "\`$vinfo' is not valid version information"
+	  ;;
+	esac
+
+	if test "$age" -gt "$current"; then
+	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
+	  func_fatal_error "\`$vinfo' is not valid version information"
+	fi
+
+	# Calculate the version variables.
+	major=
+	versuffix=
+	verstring=
+	case $version_type in
+	none) ;;
+
+	darwin)
+	  # Like Linux, but with the current version available in
+	  # verstring for coding it into the library header
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix="$major.$age.$revision"
+	  # Darwin ld doesn't like 0 for these options...
+	  func_arith $current + 1
+	  minor_current=$func_arith_result
+	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+	  ;;
+
+	freebsd-aout)
+	  major=".$current"
+	  versuffix=".$current.$revision";
+	  ;;
+
+	freebsd-elf)
+	  major=".$current"
+	  versuffix=".$current"
+	  ;;
+
+	irix | nonstopux)
+	  if test "X$lt_irix_increment" = "Xno"; then
+	    func_arith $current - $age
+	  else
+	    func_arith $current - $age + 1
+	  fi
+	  major=$func_arith_result
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring="$verstring_prefix$major.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$revision
+	  while test "$loop" -ne 0; do
+	    func_arith $revision - $loop
+	    iface=$func_arith_result
+	    func_arith $loop - 1
+	    loop=$func_arith_result
+	    verstring="$verstring_prefix$major.$iface:$verstring"
+	  done
+
+	  # Before this point, $major must not contain `.'.
+	  major=.$major
+	  versuffix="$major.$revision"
+	  ;;
+
+	linux)
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix="$major.$age.$revision"
+	  ;;
+
+	osf)
+	  func_arith $current - $age
+	  major=.$func_arith_result
+	  versuffix=".$current.$age.$revision"
+	  verstring="$current.$age.$revision"
+
+	  # Add in all the interfaces that we are compatible with.
+	  loop=$age
+	  while test "$loop" -ne 0; do
+	    func_arith $current - $loop
+	    iface=$func_arith_result
+	    func_arith $loop - 1
+	    loop=$func_arith_result
+	    verstring="$verstring:${iface}.0"
+	  done
+
+	  # Make executables depend on our current version.
+	  verstring="$verstring:${current}.0"
+	  ;;
+
+	qnx)
+	  major=".$current"
+	  versuffix=".$current"
+	  ;;
+
+	sunos)
+	  major=".$current"
+	  versuffix=".$current.$revision"
+	  ;;
+
+	windows)
+	  # Use '-' rather than '.', since we only want one
+	  # extension on DOS 8.3 filesystems.
+	  func_arith $current - $age
+	  major=$func_arith_result
+	  versuffix="-$major"
+	  ;;
+
+	*)
+	  func_fatal_configuration "unknown library version type \`$version_type'"
+	  ;;
+	esac
+
+	# Clear the version info if we defaulted, and they specified a release.
+	if test -z "$vinfo" && test -n "$release"; then
+	  major=
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=
+	    ;;
+	  *)
+	    verstring="0.0"
+	    ;;
+	  esac
+	  if test "$need_version" = no; then
+	    versuffix=
+	  else
+	    versuffix=".0.0"
+	  fi
+	fi
+
+	# Remove version info from name if versioning should be avoided
+	if test "$avoid_version" = yes && test "$need_version" = no; then
+	  major=
+	  versuffix=
+	  verstring=""
+	fi
+
+	# Check to see if the archive will have undefined symbols.
+	if test "$allow_undefined" = yes; then
+	  if test "$allow_undefined_flag" = unsupported; then
+	    func_warning "undefined symbols not allowed in $host shared libraries"
+	    build_libtool_libs=no
+	    build_old_libs=yes
+	  fi
+	else
+	  # Don't allow undefined symbols.
+	  allow_undefined_flag="$no_undefined_flag"
+	fi
+
+      fi
+
+      func_generate_dlsyms "$libname" "$libname" "yes"
+      libobjs="$libobjs $symfileobj"
+      test "X$libobjs" = "X " && libobjs=
+
+      if test "$mode" != relink; then
+	# Remove our outputs, but don't remove object files since they
+	# may have been created when compiling PIC objects.
+	removelist=
+	tempremovelist=`$ECHO "$output_objdir/*"`
+	for p in $tempremovelist; do
+	  case $p in
+	    *.$objext | *.gcno)
+	       ;;
+	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+	       if test "X$precious_files_regex" != "X"; then
+		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+		 then
+		   continue
+		 fi
+	       fi
+	       removelist="$removelist $p"
+	       ;;
+	    *) ;;
+	  esac
+	done
+	test -n "$removelist" && \
+	  func_show_eval "${RM}r \$removelist"
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+	oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+	# Transform .lo files to .o files.
+	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      #for path in $notinst_path; do
+      #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+      #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+      #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+      #done
+
+      if test -n "$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	temp_xrpath=
+	for libdir in $xrpath; do
+	  temp_xrpath="$temp_xrpath -R$libdir"
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+	  dependency_libs="$temp_xrpath $dependency_libs"
+	fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+	case " $dlprefiles $dlfiles " in
+	*" $lib "*) ;;
+	*) dlfiles="$dlfiles $lib" ;;
+	esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+	case "$dlprefiles " in
+	*" $lib "*) ;;
+	*) dlprefiles="$dlprefiles $lib" ;;
+	esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+	if test -n "$rpath"; then
+	  case $host in
+	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+	    # these systems don't actually have a c library (as such)!
+	    ;;
+	  *-*-rhapsody* | *-*-darwin1.[012])
+	    # Rhapsody C library is in the System framework
+	    deplibs="$deplibs System.ltframework"
+	    ;;
+	  *-*-netbsd*)
+	    # Don't link with libc until the a.out ld.so is fixed.
+	    ;;
+	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
+	  *-*-sco3.2v5* | *-*-sco5v6*)
+	    # Causes problems with __ctype
+	    ;;
+	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+	    # Compiler inserts libc in the correct place for threads to work
+	    ;;
+	  *)
+	    # Add libc to deplibs on all other systems if necessary.
+	    if test "$build_libtool_need_lc" = "yes"; then
+	      deplibs="$deplibs -lc"
+	    fi
+	    ;;
+	  esac
+	fi
+
+	# Transform deplibs into only deplibs that can be linked in shared.
+	name_save=$name
+	libname_save=$libname
+	release_save=$release
+	versuffix_save=$versuffix
+	major_save=$major
+	# I'm not sure if I'm treating the release correctly.  I think
+	# release should show up in the -l (ie -lgmp5) so we don't want to
+	# add it in twice.  Is that correct?
+	release=""
+	versuffix=""
+	major=""
+	newdeplibs=
+	droppeddeps=no
+	case $deplibs_check_method in
+	pass_all)
+	  # Don't check for shared/static.  Everything works.
+	  # This might be a little naive.  We might want to check
+	  # whether the library exists or not.  But this is on
+	  # osf3 & osf4 and I'm not really sure... Just
+	  # implementing what was already the behavior.
+	  newdeplibs=$deplibs
+	  ;;
+	test_compile)
+	  # This code stresses the "libraries are programs" paradigm to its
+	  # limits. Maybe even breaks it.  We compile a program, linking it
+	  # against the deplibs as a proxy for the library.  Then we can check
+	  # whether they linked in statically or dynamically with ldd.
+	  $opt_dry_run || $RM conftest.c
+	  cat > conftest.c <<EOF
+	  int main() { return 0; }
+EOF
+	  $opt_dry_run || $RM conftest
+	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+	    ldd_output=`ldd conftest`
+	    for i in $deplibs; do
+	      case $i in
+	      -l*)
+		func_stripname -l '' "$i"
+		name=$func_stripname_result
+		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		  case " $predeps $postdeps " in
+		  *" $i "*)
+		    newdeplibs="$newdeplibs $i"
+		    i=""
+		    ;;
+		  esac
+		fi
+		if test -n "$i" ; then
+		  libname=`eval "\\$ECHO \"$libname_spec\""`
+		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+		  set dummy $deplib_matches; shift
+		  deplib_match=$1
+		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		    newdeplibs="$newdeplibs $i"
+		  else
+		    droppeddeps=yes
+		    $ECHO
+		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+		    $ECHO "*** I have the capability to make that library automatically link in when"
+		    $ECHO "*** you link to this library.  But I can only do this if you have a"
+		    $ECHO "*** shared version of the library, which I believe you do not have"
+		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
+		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+		  fi
+		fi
+		;;
+	      *)
+		newdeplibs="$newdeplibs $i"
+		;;
+	      esac
+	    done
+	  else
+	    # Error occurred in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
+	    for i in $deplibs; do
+	      case $i in
+	      -l*)
+		func_stripname -l '' "$i"
+		name=$func_stripname_result
+		$opt_dry_run || $RM conftest
+		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+		  ldd_output=`ldd conftest`
+		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		    case " $predeps $postdeps " in
+		    *" $i "*)
+		      newdeplibs="$newdeplibs $i"
+		      i=""
+		      ;;
+		    esac
+		  fi
+		  if test -n "$i" ; then
+		    libname=`eval "\\$ECHO \"$libname_spec\""`
+		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+		    set dummy $deplib_matches; shift
+		    deplib_match=$1
+		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+		      newdeplibs="$newdeplibs $i"
+		    else
+		      droppeddeps=yes
+		      $ECHO
+		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+		      $ECHO "*** I have the capability to make that library automatically link in when"
+		      $ECHO "*** you link to this library.  But I can only do this if you have a"
+		      $ECHO "*** shared version of the library, which you do not appear to have"
+		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
+		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+		    fi
+		  fi
+		else
+		  droppeddeps=yes
+		  $ECHO
+		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
+		  $ECHO "*** make it link in!  You will probably need to install it or some"
+		  $ECHO "*** library that it depends on before this library will be fully"
+		  $ECHO "*** functional.  Installing it before continuing would be even better."
+		fi
+		;;
+	      *)
+		newdeplibs="$newdeplibs $i"
+		;;
+	      esac
+	    done
+	  fi
+	  ;;
+	file_magic*)
+	  set dummy $deplibs_check_method; shift
+	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    case $a_deplib in
+	    -l*)
+	      func_stripname -l '' "$a_deplib"
+	      name=$func_stripname_result
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval "\\$ECHO \"$libname_spec\""`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		      # Follow soft links.
+		      if ls -lLd "$potent_lib" 2>/dev/null |
+			 $GREP " -> " >/dev/null; then
+			continue
+		      fi
+		      # The statement above tries to avoid entering an
+		      # endless loop below, in case of cyclic links.
+		      # We might still enter an endless loop, since a link
+		      # loop can be closed while we follow links,
+		      # but so what?
+		      potlib="$potent_lib"
+		      while test -h "$potlib" 2>/dev/null; do
+			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+			case $potliblink in
+			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+			esac
+		      done
+		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+			 $SED -e 10q |
+			 $EGREP "$file_magic_regex" > /dev/null; then
+			newdeplibs="$newdeplibs $a_deplib"
+			a_deplib=""
+			break 2
+		      fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$ECHO
+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+		$ECHO "*** I have the capability to make that library automatically link in when"
+		$ECHO "*** you link to this library.  But I can only do this if you have a"
+		$ECHO "*** shared version of the library, which you do not appear to have"
+		$ECHO "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
+		  $ECHO "*** using a file magic. Last file checked: $potlib"
+		fi
+	      fi
+	      ;;
+	    *)
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	      ;;
+	    esac
+	  done # Gone through all deplibs.
+	  ;;
+	match_pattern*)
+	  set dummy $deplibs_check_method; shift
+	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+	  for a_deplib in $deplibs; do
+	    case $a_deplib in
+	    -l*)
+	      func_stripname -l '' "$a_deplib"
+	      name=$func_stripname_result
+	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+		case " $predeps $postdeps " in
+		*" $a_deplib "*)
+		  newdeplibs="$newdeplibs $a_deplib"
+		  a_deplib=""
+		  ;;
+		esac
+	      fi
+	      if test -n "$a_deplib" ; then
+		libname=`eval "\\$ECHO \"$libname_spec\""`
+		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  for potent_lib in $potential_libs; do
+		    potlib="$potent_lib" # see symlink-check above in file_magic test
+		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+		       $EGREP "$match_pattern_regex" > /dev/null; then
+		      newdeplibs="$newdeplibs $a_deplib"
+		      a_deplib=""
+		      break 2
+		    fi
+		  done
+		done
+	      fi
+	      if test -n "$a_deplib" ; then
+		droppeddeps=yes
+		$ECHO
+		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+		$ECHO "*** I have the capability to make that library automatically link in when"
+		$ECHO "*** you link to this library.  But I can only do this if you have a"
+		$ECHO "*** shared version of the library, which you do not appear to have"
+		$ECHO "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  $ECHO "*** with $libname and none of the candidates passed a file format test"
+		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
+		fi
+	      fi
+	      ;;
+	    *)
+	      # Add a -L argument.
+	      newdeplibs="$newdeplibs $a_deplib"
+	      ;;
+	    esac
+	  done # Gone through all deplibs.
+	  ;;
+	none | unknown | *)
+	  newdeplibs=""
+	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+	    for i in $predeps $postdeps ; do
+	      # can't use Xsed below, because $i might contain '/'
+	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+	    done
+	  fi
+	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
+	     $GREP . >/dev/null; then
+	    $ECHO
+	    if test "X$deplibs_check_method" = "Xnone"; then
+	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+	    else
+	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+	    fi
+	    $ECHO "*** All declared inter-library dependencies are being dropped."
+	    droppeddeps=yes
+	  fi
+	  ;;
+	esac
+	versuffix=$versuffix_save
+	major=$major_save
+	release=$release_save
+	libname=$libname_save
+	name=$name_save
+
+	case $host in
+	*-*-rhapsody* | *-*-darwin1.[012])
+	  # On Rhapsody replace the C library with the System framework
+	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	  ;;
+	esac
+
+	if test "$droppeddeps" = yes; then
+	  if test "$module" = yes; then
+	    $ECHO
+	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
+	    $ECHO "*** a static module, that should work as long as the dlopening"
+	    $ECHO "*** application is linked with the -dlopen flag."
+	    if test -z "$global_symbol_pipe"; then
+	      $ECHO
+	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
+	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+	      $ECHO "*** not find such a program.  So, this module is probably useless."
+	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+	    fi
+	    if test "$build_old_libs" = no; then
+	      oldlibs="$output_objdir/$libname.$libext"
+	      build_libtool_libs=module
+	      build_old_libs=yes
+	    else
+	      build_libtool_libs=no
+	    fi
+	  else
+	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
+	    $ECHO "*** automatically added whenever a program is linked with this library"
+	    $ECHO "*** or is declared to -dlopen it."
+
+	    if test "$allow_undefined" = no; then
+	      $ECHO
+	      $ECHO "*** Since this library must not contain undefined symbols,"
+	      $ECHO "*** because either the platform does not support them or"
+	      $ECHO "*** it was explicitly requested with -no-undefined,"
+	      $ECHO "*** libtool will only create a static version of it."
+	      if test "$build_old_libs" = no; then
+		oldlibs="$output_objdir/$libname.$libext"
+		build_libtool_libs=module
+		build_old_libs=yes
+	      else
+		build_libtool_libs=no
+	      fi
+	    fi
+	  fi
+	fi
+	# Done checking deplibs!
+	deplibs=$newdeplibs
+      fi
+      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+      case $host in
+	*-*-darwin*)
+	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	  ;;
+      esac
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      deplibs="$new_libs"
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+	if test "$hardcode_into_libs" = yes; then
+	  # Hardcode the library paths
+	  hardcode_libdirs=
+	  dep_rpath=
+	  rpath="$finalize_rpath"
+	  test "$mode" != relink && rpath="$compile_rpath$rpath"
+	  for libdir in $rpath; do
+	    if test -n "$hardcode_libdir_flag_spec"; then
+	      if test -n "$hardcode_libdir_separator"; then
+		if test -z "$hardcode_libdirs"; then
+		  hardcode_libdirs="$libdir"
+		else
+		  # Just accumulate the unique libdirs.
+		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		    ;;
+		  *)
+		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		    ;;
+		  esac
+		fi
+	      else
+		eval flag=\"$hardcode_libdir_flag_spec\"
+		dep_rpath="$dep_rpath $flag"
+	      fi
+	    elif test -n "$runpath_var"; then
+	      case "$perm_rpath " in
+	      *" $libdir "*) ;;
+	      *) perm_rpath="$perm_rpath $libdir" ;;
+	      esac
+	    fi
+	  done
+	  # Substitute the hardcoded libdirs into the rpath.
+	  if test -n "$hardcode_libdir_separator" &&
+	     test -n "$hardcode_libdirs"; then
+	    libdir="$hardcode_libdirs"
+	    if test -n "$hardcode_libdir_flag_spec_ld"; then
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+	    else
+	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+	    fi
+	  fi
+	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
+	    # We should set the runpath_var.
+	    rpath=
+	    for dir in $perm_rpath; do
+	      rpath="$rpath$dir:"
+	    done
+	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+	  fi
+	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+	fi
+
+	shlibpath="$finalize_shlibpath"
+	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	if test -n "$shlibpath"; then
+	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+	fi
+
+	# Get the real and link names of the library.
+	eval shared_ext=\"$shrext_cmds\"
+	eval library_names=\"$library_names_spec\"
+	set dummy $library_names
+	shift
+	realname="$1"
+	shift
+
+	if test -n "$soname_spec"; then
+	  eval soname=\"$soname_spec\"
+	else
+	  soname="$realname"
+	fi
+	if test -z "$dlname"; then
+	  dlname=$soname
+	fi
+
+	lib="$output_objdir/$realname"
+	linknames=
+	for link
+	do
+	  linknames="$linknames $link"
+	done
+
+	# Use standard objects if they are pic
+	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	test "X$libobjs" = "X " && libobjs=
+
+	delfiles=
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+	  export_symbols="$output_objdir/$libname.uexp"
+	  delfiles="$delfiles $export_symbols"
+	fi
+
+	orig_export_symbols=
+	case $host_os in
+	cygwin* | mingw* | cegcc*)
+	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+	    # exporting using user supplied symfile
+	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+	      # and it's NOT already a .def file. Must figure out
+	      # which of the given symbols are data symbols and tag
+	      # them as such. So, trigger use of export_symbols_cmds.
+	      # export_symbols gets reassigned inside the "prepare
+	      # the list of exported symbols" if statement, so the
+	      # include_expsyms logic still works.
+	      orig_export_symbols="$export_symbols"
+	      export_symbols=
+	      always_export_symbols=yes
+	    fi
+	  fi
+	  ;;
+	esac
+
+	# Prepare the list of exported symbols
+	if test -z "$export_symbols"; then
+	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+	    func_verbose "generating symbol list for \`$libname.la'"
+	    export_symbols="$output_objdir/$libname.exp"
+	    $opt_dry_run || $RM $export_symbols
+	    cmds=$export_symbols_cmds
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd in $cmds; do
+	      IFS="$save_ifs"
+	      eval cmd=\"$cmd\"
+	      func_len " $cmd"
+	      len=$func_len_result
+	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+		func_show_eval "$cmd" 'exit $?'
+		skipped_export=false
+	      else
+		# The command line is too long to execute in one step.
+		func_verbose "using reloadable object file for export list..."
+		skipped_export=:
+		# Break out early, otherwise skipped_export may be
+		# set to false by a later but shorter cmd.
+		break
+	      fi
+	    done
+	    IFS="$save_ifs"
+	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+	fi
+
+	if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	  tmp_export_symbols="$export_symbols"
+	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+	fi
+
+	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+	  # The given exports_symbols file has to be filtered, so filter it.
+	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
+	  # 's' commands which not all seds can handle. GNU sed should be fine
+	  # though. Also, the filter scales superlinearly with the number of
+	  # global variables. join(1) would be nice here, but unfortunately
+	  # isn't a blessed tool.
+	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+	  export_symbols=$output_objdir/$libname.def
+	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+	fi
+
+	tmp_deplibs=
+	for test_deplib in $deplibs; do
+	  case " $convenience " in
+	  *" $test_deplib "*) ;;
+	  *)
+	    tmp_deplibs="$tmp_deplibs $test_deplib"
+	    ;;
+	  esac
+	done
+	deplibs="$tmp_deplibs"
+
+	if test -n "$convenience"; then
+	  if test -n "$whole_archive_flag_spec" &&
+	    test "$compiler_needs_object" = yes &&
+	    test -z "$libobjs"; then
+	    # extract the archives, so we have objects to list.
+	    # TODO: could optimize this to just extract one archive.
+	    whole_archive_flag_spec=
+	  fi
+	  if test -n "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	    test "X$libobjs" = "X " && libobjs=
+	  else
+	    gentop="$output_objdir/${outputname}x"
+	    generated="$generated $gentop"
+
+	    func_extract_archives $gentop $convenience
+	    libobjs="$libobjs $func_extract_archives_result"
+	    test "X$libobjs" = "X " && libobjs=
+	  fi
+	fi
+
+	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+	  eval flag=\"$thread_safe_flag_spec\"
+	  linker_flags="$linker_flags $flag"
+	fi
+
+	# Make a backup of the uninstalled library when relinking
+	if test "$mode" = relink; then
+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+	fi
+
+	# Do each of the archive commands.
+	if test "$module" = yes && test -n "$module_cmds" ; then
+	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	    eval test_cmds=\"$module_expsym_cmds\"
+	    cmds=$module_expsym_cmds
+	  else
+	    eval test_cmds=\"$module_cmds\"
+	    cmds=$module_cmds
+	  fi
+	else
+	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	    eval test_cmds=\"$archive_expsym_cmds\"
+	    cmds=$archive_expsym_cmds
+	  else
+	    eval test_cmds=\"$archive_cmds\"
+	    cmds=$archive_cmds
+	  fi
+	fi
+
+	if test "X$skipped_export" != "X:" &&
+	   func_len " $test_cmds" &&
+	   len=$func_len_result &&
+	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  :
+	else
+	  # The command line is too long to link in one step, link piecewise
+	  # or, if using GNU ld and skipped_export is not :, use a linker
+	  # script.
+
+	  # Save the value of $output and $libobjs because we want to
+	  # use them later.  If we have whole_archive_flag_spec, we
+	  # want to use save_libobjs as it was before
+	  # whole_archive_flag_spec was expanded, because we can't
+	  # assume the linker understands whole_archive_flag_spec.
+	  # This may have to be revisited, in case too many
+	  # convenience libraries get linked in and end up exceeding
+	  # the spec.
+	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+	    save_libobjs=$libobjs
+	  fi
+	  save_output=$output
+	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+
+	  # Clear the reloadable object creation command queue and
+	  # initialize k to one.
+	  test_cmds=
+	  concat_cmds=
+	  objlist=
+	  last_robj=
+	  k=1
+
+	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+	    output=${output_objdir}/${output_la}.lnkscript
+	    func_verbose "creating GNU ld script: $output"
+	    $ECHO 'INPUT (' > $output
+	    for obj in $save_libobjs
+	    do
+	      $ECHO "$obj" >> $output
+	    done
+	    $ECHO ')' >> $output
+	    delfiles="$delfiles $output"
+	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+	    output=${output_objdir}/${output_la}.lnk
+	    func_verbose "creating linker input file list: $output"
+	    : > $output
+	    set x $save_libobjs
+	    shift
+	    firstobj=
+	    if test "$compiler_needs_object" = yes; then
+	      firstobj="$1 "
+	      shift
+	    fi
+	    for obj
+	    do
+	      $ECHO "$obj" >> $output
+	    done
+	    delfiles="$delfiles $output"
+	    output=$firstobj\"$file_list_spec$output\"
+	  else
+	    if test -n "$save_libobjs"; then
+	      func_verbose "creating reloadable object files..."
+	      output=$output_objdir/$output_la-${k}.$objext
+	      eval test_cmds=\"$reload_cmds\"
+	      func_len " $test_cmds"
+	      len0=$func_len_result
+	      len=$len0
+
+	      # Loop over the list of objects to be linked.
+	      for obj in $save_libobjs
+	      do
+		func_len " $obj"
+		func_arith $len + $func_len_result
+		len=$func_arith_result
+		if test "X$objlist" = X ||
+		   test "$len" -lt "$max_cmd_len"; then
+		  func_append objlist " $obj"
+		else
+		  # The command $test_cmds is almost too long, add a
+		  # command to the queue.
+		  if test "$k" -eq 1 ; then
+		    # The first file doesn't have a previous command to add.
+		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+		  else
+		    # All subsequent reloadable object files will link in
+		    # the last one created.
+		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+		  fi
+		  last_robj=$output_objdir/$output_la-${k}.$objext
+		  func_arith $k + 1
+		  k=$func_arith_result
+		  output=$output_objdir/$output_la-${k}.$objext
+		  objlist=$obj
+		  func_len " $last_robj"
+		  func_arith $len0 + $func_len_result
+		  len=$func_arith_result
+		fi
+	      done
+	      # Handle the remaining objects by creating one last
+	      # reloadable object file.  All subsequent reloadable object
+	      # files will link in the last one created.
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+	      if test -n "$last_robj"; then
+	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+	      fi
+	      delfiles="$delfiles $output"
+
+	    else
+	      output=
+	    fi
+
+	    if ${skipped_export-false}; then
+	      func_verbose "generating symbol list for \`$libname.la'"
+	      export_symbols="$output_objdir/$libname.exp"
+	      $opt_dry_run || $RM $export_symbols
+	      libobjs=$output
+	      # Append the command to create the export file.
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+	      if test -n "$last_robj"; then
+		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+	      fi
+	    fi
+
+	    test -n "$save_libobjs" &&
+	      func_verbose "creating a temporary reloadable object file: $output"
+
+	    # Loop through the commands generated above and execute them.
+	    save_ifs="$IFS"; IFS='~'
+	    for cmd in $concat_cmds; do
+	      IFS="$save_ifs"
+	      $opt_silent || {
+		  func_quote_for_expand "$cmd"
+		  eval "func_echo $func_quote_for_expand_result"
+	      }
+	      $opt_dry_run || eval "$cmd" || {
+		lt_exit=$?
+
+		# Restore the uninstalled library and exit
+		if test "$mode" = relink; then
+		  ( cd "$output_objdir" && \
+		    $RM "${realname}T" && \
+		    $MV "${realname}U" "$realname" )
+		fi
+
+		exit $lt_exit
+	      }
+	    done
+	    IFS="$save_ifs"
+
+	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+	    fi
+	  fi
+
+          if ${skipped_export-false}; then
+	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
+	      tmp_export_symbols="$export_symbols"
+	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+	    fi
+
+	    if test -n "$orig_export_symbols"; then
+	      # The given exports_symbols file has to be filtered, so filter it.
+	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
+	      # 's' commands which not all seds can handle. GNU sed should be fine
+	      # though. Also, the filter scales superlinearly with the number of
+	      # global variables. join(1) would be nice here, but unfortunately
+	      # isn't a blessed tool.
+	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+	      export_symbols=$output_objdir/$libname.def
+	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+	    fi
+	  fi
+
+	  libobjs=$output
+	  # Restore the value of output.
+	  output=$save_output
+
+	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+	    test "X$libobjs" = "X " && libobjs=
+	  fi
+	  # Expand the library linking commands again to reset the
+	  # value of $libobjs for piecewise linking.
+
+	  # Do each of the archive commands.
+	  if test "$module" = yes && test -n "$module_cmds" ; then
+	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+	      cmds=$module_expsym_cmds
+	    else
+	      cmds=$module_cmds
+	    fi
+	  else
+	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+	      cmds=$archive_expsym_cmds
+	    else
+	      cmds=$archive_cmds
+	    fi
+	  fi
+	fi
+
+	if test -n "$delfiles"; then
+	  # Append the command to remove temporary files to $cmds.
+	  eval cmds=\"\$cmds~\$RM $delfiles\"
+	fi
+
+	# Add any objects from preloaded convenience libraries
+	if test -n "$dlprefiles"; then
+	  gentop="$output_objdir/${outputname}x"
+	  generated="$generated $gentop"
+
+	  func_extract_archives $gentop $dlprefiles
+	  libobjs="$libobjs $func_extract_archives_result"
+	  test "X$libobjs" = "X " && libobjs=
+	fi
+
+	save_ifs="$IFS"; IFS='~'
+	for cmd in $cmds; do
+	  IFS="$save_ifs"
+	  eval cmd=\"$cmd\"
+	  $opt_silent || {
+	    func_quote_for_expand "$cmd"
+	    eval "func_echo $func_quote_for_expand_result"
+	  }
+	  $opt_dry_run || eval "$cmd" || {
+	    lt_exit=$?
+
+	    # Restore the uninstalled library and exit
+	    if test "$mode" = relink; then
+	      ( cd "$output_objdir" && \
+	        $RM "${realname}T" && \
+		$MV "${realname}U" "$realname" )
+	    fi
+
+	    exit $lt_exit
+	  }
+	done
+	IFS="$save_ifs"
+
+	# Restore the uninstalled library and exit
+	if test "$mode" = relink; then
+	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+	  if test -n "$convenience"; then
+	    if test -z "$whole_archive_flag_spec"; then
+	      func_show_eval '${RM}r "$gentop"'
+	    fi
+	  fi
+
+	  exit $EXIT_SUCCESS
+	fi
+
+	# Create links to the real library.
+	for linkname in $linknames; do
+	  if test "$realname" != "$linkname"; then
+	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+	  fi
+	done
+
+	# If -module or -export-dynamic was specified, set the dlname.
+	if test "$module" = yes || test "$export_dynamic" = yes; then
+	  # On all known operating systems, these are identical.
+	  dlname="$soname"
+	fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+	func_warning "\`-dlopen' is ignored for objects"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+	func_warning "\`-l' and \`-L' are ignored for objects" ;;
+      esac
+
+      test -n "$rpath" && \
+	func_warning "\`-rpath' is ignored for objects"
+
+      test -n "$xrpath" && \
+	func_warning "\`-R' is ignored for objects"
+
+      test -n "$vinfo" && \
+	func_warning "\`-version-info' is ignored for objects"
+
+      test -n "$release" && \
+	func_warning "\`-release' is ignored for objects"
+
+      case $output in
+      *.lo)
+	test -n "$objs$old_deplibs" && \
+	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+	libobj=$output
+	func_lo2o "$libobj"
+	obj=$func_lo2o_result
+	;;
+      *)
+	libobj=
+	obj="$output"
+	;;
+      esac
+
+      # Delete the old objects.
+      $opt_dry_run || $RM $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec and hope we can get by with
+      # turning comma into space..
+      wl=
+
+      if test -n "$convenience"; then
+	if test -n "$whole_archive_flag_spec"; then
+	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+	else
+	  gentop="$output_objdir/${obj}x"
+	  generated="$generated $gentop"
+
+	  func_extract_archives $gentop $convenience
+	  reload_conv_objs="$reload_objs $func_extract_archives_result"
+	fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      func_execute_cmds "$reload_cmds" 'exit $?'
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+	if test -n "$gentop"; then
+	  func_show_eval '${RM}r "$gentop"'
+	fi
+
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+	if test -n "$gentop"; then
+	  func_show_eval '${RM}r "$gentop"'
+	fi
+
+	# Create an invalid libtool object if no PIC, so that we don't
+	# accidentally link it into a program.
+	# $show "echo timestamp > $libobj"
+	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+	exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+	# Only do commands if we really have different PIC objects.
+	reload_objs="$libobjs $reload_conv_objs"
+	output="$libobj"
+	func_execute_cmds "$reload_cmds" 'exit $?'
+      fi
+
+      if test -n "$gentop"; then
+	func_show_eval '${RM}r "$gentop"'
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+	*cygwin*) func_stripname '' '.exe' "$output"
+	          output=$func_stripname_result.exe;;
+      esac
+      test -n "$vinfo" && \
+	func_warning "\`-version-info' is ignored for programs"
+
+      test -n "$release" && \
+	func_warning "\`-release' is ignored for programs"
+
+      test "$preload" = yes \
+        && test "$dlopen_support" = unknown \
+	&& test "$dlopen_self" = unknown \
+	&& test "$dlopen_self_static" = unknown && \
+	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+	# On Rhapsody replace the C library is the System framework
+	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+	;;
+      esac
+
+      case $host in
+      *-*-darwin*)
+	# Don't allow lazy linking, it breaks C++ global constructors
+	# But is supposedly fixed on 10.4 or later (yay!).
+	if test "$tagname" = CXX ; then
+	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+	    10.[0123])
+	      compile_command="$compile_command ${wl}-bind_at_load"
+	      finalize_command="$finalize_command ${wl}-bind_at_load"
+	    ;;
+	  esac
+	fi
+	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
+	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+	;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+	case " $new_libs " in
+	*" -L$path/$objdir "*) ;;
+	*)
+	  case " $compile_deplibs " in
+	  *" -L$path/$objdir "*)
+	    new_libs="$new_libs -L$path/$objdir" ;;
+	  esac
+	  ;;
+	esac
+      done
+      for deplib in $compile_deplibs; do
+	case $deplib in
+	-L*)
+	  case " $new_libs " in
+	  *" $deplib "*) ;;
+	  *) new_libs="$new_libs $deplib" ;;
+	  esac
+	  ;;
+	*) new_libs="$new_libs $deplib" ;;
+	esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+	# If the user specified any rpath flags, then add them.
+	for libdir in $rpath $xrpath; do
+	  # This is the magic to use -rpath.
+	  case "$finalize_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  esac
+	done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) perm_rpath="$perm_rpath $libdir" ;;
+	  esac
+	fi
+	case $host in
+	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+	  case :$dllsearchpath: in
+	  *":$libdir:"*) ;;
+	  ::) dllsearchpath=$libdir;;
+	  *) dllsearchpath="$dllsearchpath:$libdir";;
+	  esac
+	  case :$dllsearchpath: in
+	  *":$testbindir:"*) ;;
+	  ::) dllsearchpath=$testbindir;;
+	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  esac
+	  ;;
+	esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+	if test -n "$hardcode_libdir_flag_spec"; then
+	  if test -n "$hardcode_libdir_separator"; then
+	    if test -z "$hardcode_libdirs"; then
+	      hardcode_libdirs="$libdir"
+	    else
+	      # Just accumulate the unique libdirs.
+	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+		;;
+	      *)
+		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		;;
+	      esac
+	    fi
+	  else
+	    eval flag=\"$hardcode_libdir_flag_spec\"
+	    rpath="$rpath $flag"
+	  fi
+	elif test -n "$runpath_var"; then
+	  case "$finalize_perm_rpath " in
+	  *" $libdir "*) ;;
+	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+	  esac
+	fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+	 test -n "$hardcode_libdirs"; then
+	libdir="$hardcode_libdirs"
+	eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+	# Transform all the library objects into standard objects.
+	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+      # template prelinking step
+      if test -n "$prelink_cmds"; then
+	func_execute_cmds "$prelink_cmds" 'exit $?'
+      fi
+
+      wrappers_required=yes
+      case $host in
+      *cygwin* | *mingw* )
+        if test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      *cegcc)
+        # Disable wrappers for cegcc, we are cross compiling anyway.
+        wrappers_required=no
+        ;;
+      *)
+        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      esac
+      if test "$wrappers_required" = no; then
+	# Replace the output file specification.
+	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	link_command="$compile_command$compile_rpath"
+
+	# We have no uninstalled library dependencies, so finalize right now.
+	exit_status=0
+	func_show_eval "$link_command" 'exit_status=$?'
+
+	# Delete the generated files.
+	if test -f "$output_objdir/${outputname}S.${objext}"; then
+	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+	fi
+
+	exit $exit_status
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+	if test -n "$perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+	if test -n "$finalize_perm_rpath"; then
+	  # We should set the runpath_var.
+	  rpath=
+	  for dir in $finalize_perm_rpath; do
+	    rpath="$rpath$dir:"
+	  done
+	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+	fi
+      fi
+
+      if test "$no_install" = yes; then
+	# We don't need to create a wrapper script.
+	link_command="$compile_var$compile_command$compile_rpath"
+	# Replace the output file specification.
+	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+	# Delete the old output file.
+	$opt_dry_run || $RM $output
+	# Link the executable and exit
+	func_show_eval "$link_command" 'exit $?'
+	exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+	# Fast installation is not supported
+	link_command="$compile_var$compile_command$compile_rpath"
+	relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+	func_warning "this platform does not like uninstalled shared libraries"
+	func_warning "\`$output' will be relinked during installation"
+      else
+	if test "$fast_install" != no; then
+	  link_command="$finalize_var$compile_command$finalize_rpath"
+	  if test "$fast_install" = yes; then
+	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+	  else
+	    # fast_install is set to needless
+	    relink_command=
+	  fi
+	else
+	  link_command="$compile_var$compile_command$compile_rpath"
+	  relink_command="$finalize_var$finalize_command$finalize_rpath"
+	fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      func_show_eval "$link_command" 'exit $?'
+
+      # Now create the wrapper script.
+      func_verbose "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+	# Preserve any variables that may affect compiler behavior
+	for var in $variables_saved_for_relink; do
+	  if eval test -z \"\${$var+set}\"; then
+	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+	  elif eval var_value=\$$var; test -z "$var_value"; then
+	    relink_command="$var=; export $var; $relink_command"
+	  else
+	    func_quote_for_eval "$var_value"
+	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+	  fi
+	done
+	relink_command="(cd `pwd`; $relink_command)"
+	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $ECHO for shipping.
+      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
+	case $progpath in
+	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+	esac
+	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if not in dry run mode.
+      $opt_dry_run || {
+	# win32 will think the script is a binary if it has
+	# a .exe suffix, so we strip it off here.
+	case $output in
+	  *.exe) func_stripname '' '.exe' "$output"
+	         output=$func_stripname_result ;;
+	esac
+	# test for cygwin because mv fails w/o .exe extensions
+	case $host in
+	  *cygwin*)
+	    exeext=.exe
+	    func_stripname '' '.exe' "$outputname"
+	    outputname=$func_stripname_result ;;
+	  *) exeext= ;;
+	esac
+	case $host in
+	  *cygwin* | *mingw* )
+	    func_dirname_and_basename "$output" "" "."
+	    output_name=$func_basename_result
+	    output_path=$func_dirname_result
+	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
+	    cwrapper="$output_path/$output_name.exe"
+	    $RM $cwrappersource $cwrapper
+	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+	    func_emit_cwrapperexe_src > $cwrappersource
+
+	    # The wrapper executable is built using the $host compiler,
+	    # because it contains $host paths and files. If cross-
+	    # compiling, it, like the target executable, must be
+	    # executed on the $host or under an emulation environment.
+	    $opt_dry_run || {
+	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+	      $STRIP $cwrapper
+	    }
+
+	    # Now, create the wrapper script for func_source use:
+	    func_ltwrapper_scriptname $cwrapper
+	    $RM $func_ltwrapper_scriptname_result
+	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+	    $opt_dry_run || {
+	      # note: this script will not be executed, so do not chmod.
+	      if test "x$build" = "x$host" ; then
+		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+	      else
+		func_emit_wrapper no > $func_ltwrapper_scriptname_result
+	      fi
+	    }
+	  ;;
+	  * )
+	    $RM $output
+	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+	    func_emit_wrapper no > $output
+	    chmod +x $output
+	  ;;
+	esac
+      }
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+	oldobjs="$libobjs_save $symfileobj"
+	addlibs="$convenience"
+	build_libtool_libs=no
+      else
+	if test "$build_libtool_libs" = module; then
+	  oldobjs="$libobjs_save"
+	  build_libtool_libs=no
+	else
+	  oldobjs="$old_deplibs $non_pic_objects"
+	  if test "$preload" = yes && test -f "$symfileobj"; then
+	    oldobjs="$oldobjs $symfileobj"
+	  fi
+	fi
+	addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+	gentop="$output_objdir/${outputname}x"
+	generated="$generated $gentop"
+
+	func_extract_archives $gentop $addlibs
+	oldobjs="$oldobjs $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+	cmds=$old_archive_from_new_cmds
+      else
+
+	# Add any objects from preloaded convenience libraries
+	if test -n "$dlprefiles"; then
+	  gentop="$output_objdir/${outputname}x"
+	  generated="$generated $gentop"
+
+	  func_extract_archives $gentop $dlprefiles
+	  oldobjs="$oldobjs $func_extract_archives_result"
+	fi
+
+	# POSIX demands no paths to be encoded in archives.  We have
+	# to avoid creating archives with duplicate basenames if we
+	# might have to extract them afterwards, e.g., when creating a
+	# static archive out of a convenience library, or when linking
+	# the entirety of a libtool archive into another (currently
+	# not supported by libtool).
+	if (for obj in $oldobjs
+	    do
+	      func_basename "$obj"
+	      $ECHO "$func_basename_result"
+	    done | sort | sort -uc >/dev/null 2>&1); then
+	  :
+	else
+	  $ECHO "copying selected object files to avoid basename conflicts..."
+	  gentop="$output_objdir/${outputname}x"
+	  generated="$generated $gentop"
+	  func_mkdir_p "$gentop"
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  counter=1
+	  for obj in $save_oldobjs
+	  do
+	    func_basename "$obj"
+	    objbase="$func_basename_result"
+	    case " $oldobjs " in
+	    " ") oldobjs=$obj ;;
+	    *[\ /]"$objbase "*)
+	      while :; do
+		# Make sure we don't pick an alternate name that also
+		# overlaps.
+		newobj=lt$counter-$objbase
+		func_arith $counter + 1
+		counter=$func_arith_result
+		case " $oldobjs " in
+		*[\ /]"$newobj "*) ;;
+		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
+		esac
+	      done
+	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+	      oldobjs="$oldobjs $gentop/$newobj"
+	      ;;
+	    *) oldobjs="$oldobjs $obj" ;;
+	    esac
+	  done
+	fi
+	eval cmds=\"$old_archive_cmds\"
+
+	func_len " $cmds"
+	len=$func_len_result
+	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	  cmds=$old_archive_cmds
+	else
+	  # the command line is too long to link in one step, link in parts
+	  func_verbose "using piecewise archive linking..."
+	  save_RANLIB=$RANLIB
+	  RANLIB=:
+	  objlist=
+	  concat_cmds=
+	  save_oldobjs=$oldobjs
+	  oldobjs=
+	  # Is there a better way of finding the last object in the list?
+	  for obj in $save_oldobjs
+	  do
+	    last_oldobj=$obj
+	  done
+	  eval test_cmds=\"$old_archive_cmds\"
+	  func_len " $test_cmds"
+	  len0=$func_len_result
+	  len=$len0
+	  for obj in $save_oldobjs
+	  do
+	    func_len " $obj"
+	    func_arith $len + $func_len_result
+	    len=$func_arith_result
+	    func_append objlist " $obj"
+	    if test "$len" -lt "$max_cmd_len"; then
+	      :
+	    else
+	      # the above command should be used before it gets too long
+	      oldobjs=$objlist
+	      if test "$obj" = "$last_oldobj" ; then
+		RANLIB=$save_RANLIB
+	      fi
+	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+	      objlist=
+	      len=$len0
+	    fi
+	  done
+	  RANLIB=$save_RANLIB
+	  oldobjs=$objlist
+	  if test "X$oldobjs" = "X" ; then
+	    eval cmds=\"\$concat_cmds\"
+	  else
+	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+	  fi
+	fi
+      fi
+      func_execute_cmds "$cmds" 'exit $?'
+    done
+
+    test -n "$generated" && \
+      func_show_eval "${RM}r$generated"
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      func_verbose "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+	if eval test -z \"\${$var+set}\"; then
+	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+	elif eval var_value=\$$var; test -z "$var_value"; then
+	  relink_command="$var=; export $var; $relink_command"
+	else
+	  func_quote_for_eval "$var_value"
+	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+	fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+	relink_command=
+      fi
+
+      # Only create the output if not a dry run.
+      $opt_dry_run || {
+	for installed in no yes; do
+	  if test "$installed" = yes; then
+	    if test -z "$install_libdir"; then
+	      break
+	    fi
+	    output="$output_objdir/$outputname"i
+	    # Replace all uninstalled libtool libraries with the installed ones
+	    newdependency_libs=
+	    for deplib in $dependency_libs; do
+	      case $deplib in
+	      *.la)
+		func_basename "$deplib"
+		name="$func_basename_result"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		test -z "$libdir" && \
+		  func_fatal_error "\`$deplib' is not a valid libtool archive"
+		newdependency_libs="$newdependency_libs $libdir/$name"
+		;;
+	      *) newdependency_libs="$newdependency_libs $deplib" ;;
+	      esac
+	    done
+	    dependency_libs="$newdependency_libs"
+	    newdlfiles=
+
+	    for lib in $dlfiles; do
+	      case $lib in
+	      *.la)
+	        func_basename "$lib"
+		name="$func_basename_result"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		test -z "$libdir" && \
+		  func_fatal_error "\`$lib' is not a valid libtool archive"
+		newdlfiles="$newdlfiles $libdir/$name"
+		;;
+	      *) newdlfiles="$newdlfiles $lib" ;;
+	      esac
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+	      *.la)
+		# Only pass preopened files to the pseudo-archive (for
+		# eventual linking with the app. that links it) if we
+		# didn't already link the preopened objects directly into
+		# the library:
+		func_basename "$lib"
+		name="$func_basename_result"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+		test -z "$libdir" && \
+		  func_fatal_error "\`$lib' is not a valid libtool archive"
+		newdlprefiles="$newdlprefiles $libdir/$name"
+		;;
+	      esac
+	    done
+	    dlprefiles="$newdlprefiles"
+	  else
+	    newdlfiles=
+	    for lib in $dlfiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlfiles="$newdlfiles $abs"
+	    done
+	    dlfiles="$newdlfiles"
+	    newdlprefiles=
+	    for lib in $dlprefiles; do
+	      case $lib in
+		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+		*) abs=`pwd`"/$lib" ;;
+	      esac
+	      newdlprefiles="$newdlprefiles $abs"
+	    done
+	    dlprefiles="$newdlprefiles"
+	  fi
+	  $RM $output
+	  # place dlname in correct position for cygwin
+	  tdlname=$dlname
+	  case $host,$output,$installed,$module,$dlname in
+	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+	  esac
+	  $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+	  if test "$installed" = no && test "$need_relink" = yes; then
+	    $ECHO >> $output "\
+relink_command=\"$relink_command\""
+	  fi
+	done
+      }
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+}
+
+{ test "$mode" = link || test "$mode" = relink; } &&
+    func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+    $opt_debug
+    RM="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) RM="$RM $arg"; rmforce=yes ;;
+      -*) RM="$RM $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    test -z "$RM" && \
+      func_fatal_help "you must specify an RM program"
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      func_dirname "$file" "" "."
+      dir="$func_dirname_result"
+      if test "X$dir" = X.; then
+	objdir="$origobjdir"
+      else
+	objdir="$dir/$origobjdir"
+      fi
+      func_basename "$file"
+      name="$func_basename_result"
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+	case " $rmdirs " in
+	  *" $objdir "*) ;;
+	  *) rmdirs="$rmdirs $objdir" ;;
+	esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if { test -L "$file"; } >/dev/null 2>&1 ||
+	 { test -h "$file"; } >/dev/null 2>&1 ||
+	 test -f "$file"; then
+	:
+      elif test -d "$file"; then
+	exit_status=1
+	continue
+      elif test "$rmforce" = yes; then
+	continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+	# Possibly a libtool archive, so verify it.
+	if func_lalib_p "$file"; then
+	  func_source $dir/$name
+
+	  # Delete the libtool libraries and symlinks.
+	  for n in $library_names; do
+	    rmfiles="$rmfiles $objdir/$n"
+	  done
+	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+	  case "$mode" in
+	  clean)
+	    case "  $library_names " in
+	    # "  " in the beginning catches empty $dlname
+	    *" $dlname "*) ;;
+	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
+	    esac
+	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+	    ;;
+	  uninstall)
+	    if test -n "$library_names"; then
+	      # Do each command in the postuninstall commands.
+	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+	    fi
+
+	    if test -n "$old_library"; then
+	      # Do each command in the old_postuninstall commands.
+	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+	    fi
+	    # FIXME: should reinstall the best remaining shared library.
+	    ;;
+	  esac
+	fi
+	;;
+
+      *.lo)
+	# Possibly a libtool object, so verify it.
+	if func_lalib_p "$file"; then
+
+	  # Read the .lo file
+	  func_source $dir/$name
+
+	  # Add PIC object to the list of files to remove.
+	  if test -n "$pic_object" &&
+	     test "$pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$pic_object"
+	  fi
+
+	  # Add non-PIC object to the list of files to remove.
+	  if test -n "$non_pic_object" &&
+	     test "$non_pic_object" != none; then
+	    rmfiles="$rmfiles $dir/$non_pic_object"
+	  fi
+	fi
+	;;
+
+      *)
+	if test "$mode" = clean ; then
+	  noexename=$name
+	  case $file in
+	  *.exe)
+	    func_stripname '' '.exe' "$file"
+	    file=$func_stripname_result
+	    func_stripname '' '.exe' "$name"
+	    noexename=$func_stripname_result
+	    # $file with .exe has already been added to rmfiles,
+	    # add $file without .exe
+	    rmfiles="$rmfiles $file"
+	    ;;
+	  esac
+	  # Do a test to see if this is a libtool program.
+	  if func_ltwrapper_p "$file"; then
+	    if func_ltwrapper_executable_p "$file"; then
+	      func_ltwrapper_scriptname "$file"
+	      relink_command=
+	      func_source $func_ltwrapper_scriptname_result
+	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+	    else
+	      relink_command=
+	      func_source $dir/$noexename
+	    fi
+
+	    # note $name still contains .exe if it was in $file originally
+	    # as does the version of $file that was added into $rmfiles
+	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+	    if test "$fast_install" = yes && test -n "$relink_command"; then
+	      rmfiles="$rmfiles $objdir/lt-$name"
+	    fi
+	    if test "X$noexename" != "X$name" ; then
+	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+	    fi
+	  fi
+	fi
+	;;
+      esac
+      func_show_eval "$RM $rmfiles" 'exit_status=1'
+    done
+    objdir="$origobjdir"
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+	func_show_eval "rmdir $dir >/dev/null 2>&1"
+      fi
+    done
+
+    exit $exit_status
+}
+
+{ test "$mode" = uninstall || test "$mode" = clean; } &&
+    func_mode_uninstall ${1+"$@"}
+
+test -z "$mode" && {
+  help="$generic_help"
+  func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+  func_fatal_help "invalid operation mode \`$mode'"
+
+if test -n "$exec_cmd"; then
+  eval exec "$exec_cmd"
+  exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
diff --git a/third_party/cddlib/missing b/third_party/cddlib/missing
new file mode 100755
index 0000000..1c8ff70
--- /dev/null
+++ b/third_party/cddlib/missing
@@ -0,0 +1,367 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2006-05-10.23
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  autom4te     touch the output file, or create a stub one
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case $1 in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $1 in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case $f in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+	case $LASTARG in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if test ! -f y.tab.h; then
+	echo >y.tab.h
+    fi
+    if test ! -f y.tab.c; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+	case $LASTARG in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if test ! -f lex.yy.c; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '
+	/^@setfilename/{
+	  s/.* \([^ ]*\) *$/\1/
+	  p
+	  q
+	}' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case $firstarg in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case $firstarg in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/third_party/cddlib/mkinstalldirs b/third_party/cddlib/mkinstalldirs
new file mode 100755
index 0000000..ef7e16f
--- /dev/null
+++ b/third_party/cddlib/mkinstalldirs
@@ -0,0 +1,161 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+
+scriptversion=2006-05-11.19
+
+# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain.
+#
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+IFS=" ""	$nl"
+errstatus=0
+dirmode=
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
+
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.
+
+Report bugs to <bug-automake@gnu.org>."
+
+# process command line arguments
+while test $# -gt 0 ; do
+  case $1 in
+    -h | --help | --h*)         # -h for help
+      echo "$usage"
+      exit $?
+      ;;
+    -m)                         # -m PERM arg
+      shift
+      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+      dirmode=$1
+      shift
+      ;;
+    --version)
+      echo "$0 $scriptversion"
+      exit $?
+      ;;
+    --)                         # stop option processing
+      shift
+      break
+      ;;
+    -*)                         # unknown option
+      echo "$usage" 1>&2
+      exit 1
+      ;;
+    *)                          # first non-opt arg
+      break
+      ;;
+  esac
+done
+
+for file
+do
+  if test -d "$file"; then
+    shift
+  else
+    break
+  fi
+done
+
+case $# in
+  0) exit 0 ;;
+esac
+
+# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
+# mkdir -p a/c at the same time, both will detect that a is missing,
+# one will create a, then the other will try to create a and die with
+# a "File exists" error.  This is a problem when calling mkinstalldirs
+# from a parallel make.  We use --version in the probe to restrict
+# ourselves to GNU mkdir, which is thread-safe.
+case $dirmode in
+  '')
+    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+      echo "mkdir -p -- $*"
+      exec mkdir -p -- "$@"
+    else
+      # On NextStep and OpenStep, the `mkdir' command does not
+      # recognize any option.  It will interpret all options as
+      # directories to create, and then abort because `.' already
+      # exists.
+      test -d ./-p && rmdir ./-p
+      test -d ./--version && rmdir ./--version
+    fi
+    ;;
+  *)
+    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
+       test ! -d ./--version; then
+      echo "mkdir -m $dirmode -p -- $*"
+      exec mkdir -m "$dirmode" -p -- "$@"
+    else
+      # Clean up after NextStep and OpenStep mkdir.
+      for d in ./-m ./-p ./--version "./$dirmode";
+      do
+        test -d $d && rmdir $d
+      done
+    fi
+    ;;
+esac
+
+for file
+do
+  case $file in
+    /*) pathcomp=/ ;;
+    *)  pathcomp= ;;
+  esac
+  oIFS=$IFS
+  IFS=/
+  set fnord $file
+  shift
+  IFS=$oIFS
+
+  for d
+  do
+    test "x$d" = x && continue
+
+    pathcomp=$pathcomp$d
+    case $pathcomp in
+      -*) pathcomp=./$pathcomp ;;
+    esac
+
+    if test ! -d "$pathcomp"; then
+      echo "mkdir $pathcomp"
+
+      mkdir "$pathcomp" || lasterr=$?
+
+      if test ! -d "$pathcomp"; then
+	errstatus=$lasterr
+      else
+	if test ! -z "$dirmode"; then
+	  echo "chmod $dirmode $pathcomp"
+	  lasterr=
+	  chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+	  if test ! -z "$lasterr"; then
+	    errstatus=$lasterr
+	  fi
+	fi
+      fi
+    fi
+
+    pathcomp=$pathcomp/
+  done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/third_party/cddlib/src-gmp/Makefile.am b/third_party/cddlib/src-gmp/Makefile.am
new file mode 100644
index 0000000..e4dbb86
--- /dev/null
+++ b/third_party/cddlib/src-gmp/Makefile.am
@@ -0,0 +1,36 @@
+bin_PROGRAMS = \
+scdd_gmp \
+lcdd_gmp \
+redcheck_gmp \
+fourier_gmp \
+projection_gmp \
+adjacency_gmp \
+allfaces_gmp \
+testshoot_gmp \
+testcdd1_gmp \
+testcdd2_gmp \
+testlp1_gmp \
+testlp2_gmp \
+testlp3_gmp
+#cddmathlink
+
+scdd_gmp_SOURCES                   = simplecdd.c
+lcdd_gmp_SOURCES                   = lcdd.c
+redcheck_gmp_SOURCES               = redcheck.c
+fourier_gmp_SOURCES                = fourier.c
+projection_gmp_SOURCES             = projection.c
+adjacency_gmp_SOURCES              = adjacency.c
+allfaces_gmp_SOURCES               = allfaces.c
+testshoot_gmp_SOURCES              = testshoot.c
+testcdd1_gmp_SOURCES               = testcdd1.c
+testcdd2_gmp_SOURCES               = testcdd2.c
+testlp1_gmp_SOURCES                = testlp1.c
+testlp2_gmp_SOURCES                = testlp2.c
+testlp3_gmp_SOURCES                = testlp3.c
+# cddmathlink_SOURCES                = cddmathlink.c cddmlio.h cddmlio.c
+
+LDADD        = ../lib-src-gmp/libcddgmp.la
+AM_LDFLAGS   = -L$(gmplibdir)
+INCLUDES     = -I../lib-src-gmp
+INCLUDES    += -I$(gmpincludedir)
+AM_CPPFLAGS  = -DGMPRATIONAL
diff --git a/third_party/cddlib/src-gmp/Makefile.in b/third_party/cddlib/src-gmp/Makefile.in
new file mode 100644
index 0000000..f88c83f
--- /dev/null
+++ b/third_party/cddlib/src-gmp/Makefile.in
@@ -0,0 +1,590 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = scdd_gmp$(EXEEXT) lcdd_gmp$(EXEEXT) \
+	redcheck_gmp$(EXEEXT) fourier_gmp$(EXEEXT) \
+	projection_gmp$(EXEEXT) adjacency_gmp$(EXEEXT) \
+	allfaces_gmp$(EXEEXT) testshoot_gmp$(EXEEXT) \
+	testcdd1_gmp$(EXEEXT) testcdd2_gmp$(EXEEXT) \
+	testlp1_gmp$(EXEEXT) testlp2_gmp$(EXEEXT) testlp3_gmp$(EXEEXT)
+subdir = src-gmp
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_adjacency_gmp_OBJECTS = adjacency.$(OBJEXT)
+adjacency_gmp_OBJECTS = $(am_adjacency_gmp_OBJECTS)
+adjacency_gmp_LDADD = $(LDADD)
+adjacency_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_allfaces_gmp_OBJECTS = allfaces.$(OBJEXT)
+allfaces_gmp_OBJECTS = $(am_allfaces_gmp_OBJECTS)
+allfaces_gmp_LDADD = $(LDADD)
+allfaces_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_fourier_gmp_OBJECTS = fourier.$(OBJEXT)
+fourier_gmp_OBJECTS = $(am_fourier_gmp_OBJECTS)
+fourier_gmp_LDADD = $(LDADD)
+fourier_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_lcdd_gmp_OBJECTS = lcdd.$(OBJEXT)
+lcdd_gmp_OBJECTS = $(am_lcdd_gmp_OBJECTS)
+lcdd_gmp_LDADD = $(LDADD)
+lcdd_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_projection_gmp_OBJECTS = projection.$(OBJEXT)
+projection_gmp_OBJECTS = $(am_projection_gmp_OBJECTS)
+projection_gmp_LDADD = $(LDADD)
+projection_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_redcheck_gmp_OBJECTS = redcheck.$(OBJEXT)
+redcheck_gmp_OBJECTS = $(am_redcheck_gmp_OBJECTS)
+redcheck_gmp_LDADD = $(LDADD)
+redcheck_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_scdd_gmp_OBJECTS = simplecdd.$(OBJEXT)
+scdd_gmp_OBJECTS = $(am_scdd_gmp_OBJECTS)
+scdd_gmp_LDADD = $(LDADD)
+scdd_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_testcdd1_gmp_OBJECTS = testcdd1.$(OBJEXT)
+testcdd1_gmp_OBJECTS = $(am_testcdd1_gmp_OBJECTS)
+testcdd1_gmp_LDADD = $(LDADD)
+testcdd1_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_testcdd2_gmp_OBJECTS = testcdd2.$(OBJEXT)
+testcdd2_gmp_OBJECTS = $(am_testcdd2_gmp_OBJECTS)
+testcdd2_gmp_LDADD = $(LDADD)
+testcdd2_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_testlp1_gmp_OBJECTS = testlp1.$(OBJEXT)
+testlp1_gmp_OBJECTS = $(am_testlp1_gmp_OBJECTS)
+testlp1_gmp_LDADD = $(LDADD)
+testlp1_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_testlp2_gmp_OBJECTS = testlp2.$(OBJEXT)
+testlp2_gmp_OBJECTS = $(am_testlp2_gmp_OBJECTS)
+testlp2_gmp_LDADD = $(LDADD)
+testlp2_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_testlp3_gmp_OBJECTS = testlp3.$(OBJEXT)
+testlp3_gmp_OBJECTS = $(am_testlp3_gmp_OBJECTS)
+testlp3_gmp_LDADD = $(LDADD)
+testlp3_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+am_testshoot_gmp_OBJECTS = testshoot.$(OBJEXT)
+testshoot_gmp_OBJECTS = $(am_testshoot_gmp_OBJECTS)
+testshoot_gmp_LDADD = $(LDADD)
+testshoot_gmp_DEPENDENCIES = ../lib-src-gmp/libcddgmp.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+SOURCES = $(adjacency_gmp_SOURCES) $(allfaces_gmp_SOURCES) \
+	$(fourier_gmp_SOURCES) $(lcdd_gmp_SOURCES) \
+	$(projection_gmp_SOURCES) $(redcheck_gmp_SOURCES) \
+	$(scdd_gmp_SOURCES) $(testcdd1_gmp_SOURCES) \
+	$(testcdd2_gmp_SOURCES) $(testlp1_gmp_SOURCES) \
+	$(testlp2_gmp_SOURCES) $(testlp3_gmp_SOURCES) \
+	$(testshoot_gmp_SOURCES)
+DIST_SOURCES = $(adjacency_gmp_SOURCES) $(allfaces_gmp_SOURCES) \
+	$(fourier_gmp_SOURCES) $(lcdd_gmp_SOURCES) \
+	$(projection_gmp_SOURCES) $(redcheck_gmp_SOURCES) \
+	$(scdd_gmp_SOURCES) $(testcdd1_gmp_SOURCES) \
+	$(testcdd2_gmp_SOURCES) $(testlp1_gmp_SOURCES) \
+	$(testlp2_gmp_SOURCES) $(testlp3_gmp_SOURCES) \
+	$(testshoot_gmp_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+#cddmathlink
+scdd_gmp_SOURCES = simplecdd.c
+lcdd_gmp_SOURCES = lcdd.c
+redcheck_gmp_SOURCES = redcheck.c
+fourier_gmp_SOURCES = fourier.c
+projection_gmp_SOURCES = projection.c
+adjacency_gmp_SOURCES = adjacency.c
+allfaces_gmp_SOURCES = allfaces.c
+testshoot_gmp_SOURCES = testshoot.c
+testcdd1_gmp_SOURCES = testcdd1.c
+testcdd2_gmp_SOURCES = testcdd2.c
+testlp1_gmp_SOURCES = testlp1.c
+testlp2_gmp_SOURCES = testlp2.c
+testlp3_gmp_SOURCES = testlp3.c
+# cddmathlink_SOURCES                = cddmathlink.c cddmlio.h cddmlio.c
+LDADD = ../lib-src-gmp/libcddgmp.la
+AM_LDFLAGS = -L$(gmplibdir)
+INCLUDES = -I../lib-src-gmp -I$(gmpincludedir)
+AM_CPPFLAGS = -DGMPRATIONAL
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src-gmp/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src-gmp/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+adjacency_gmp$(EXEEXT): $(adjacency_gmp_OBJECTS) $(adjacency_gmp_DEPENDENCIES) 
+	@rm -f adjacency_gmp$(EXEEXT)
+	$(LINK) $(adjacency_gmp_OBJECTS) $(adjacency_gmp_LDADD) $(LIBS)
+allfaces_gmp$(EXEEXT): $(allfaces_gmp_OBJECTS) $(allfaces_gmp_DEPENDENCIES) 
+	@rm -f allfaces_gmp$(EXEEXT)
+	$(LINK) $(allfaces_gmp_OBJECTS) $(allfaces_gmp_LDADD) $(LIBS)
+fourier_gmp$(EXEEXT): $(fourier_gmp_OBJECTS) $(fourier_gmp_DEPENDENCIES) 
+	@rm -f fourier_gmp$(EXEEXT)
+	$(LINK) $(fourier_gmp_OBJECTS) $(fourier_gmp_LDADD) $(LIBS)
+lcdd_gmp$(EXEEXT): $(lcdd_gmp_OBJECTS) $(lcdd_gmp_DEPENDENCIES) 
+	@rm -f lcdd_gmp$(EXEEXT)
+	$(LINK) $(lcdd_gmp_OBJECTS) $(lcdd_gmp_LDADD) $(LIBS)
+projection_gmp$(EXEEXT): $(projection_gmp_OBJECTS) $(projection_gmp_DEPENDENCIES) 
+	@rm -f projection_gmp$(EXEEXT)
+	$(LINK) $(projection_gmp_OBJECTS) $(projection_gmp_LDADD) $(LIBS)
+redcheck_gmp$(EXEEXT): $(redcheck_gmp_OBJECTS) $(redcheck_gmp_DEPENDENCIES) 
+	@rm -f redcheck_gmp$(EXEEXT)
+	$(LINK) $(redcheck_gmp_OBJECTS) $(redcheck_gmp_LDADD) $(LIBS)
+scdd_gmp$(EXEEXT): $(scdd_gmp_OBJECTS) $(scdd_gmp_DEPENDENCIES) 
+	@rm -f scdd_gmp$(EXEEXT)
+	$(LINK) $(scdd_gmp_OBJECTS) $(scdd_gmp_LDADD) $(LIBS)
+testcdd1_gmp$(EXEEXT): $(testcdd1_gmp_OBJECTS) $(testcdd1_gmp_DEPENDENCIES) 
+	@rm -f testcdd1_gmp$(EXEEXT)
+	$(LINK) $(testcdd1_gmp_OBJECTS) $(testcdd1_gmp_LDADD) $(LIBS)
+testcdd2_gmp$(EXEEXT): $(testcdd2_gmp_OBJECTS) $(testcdd2_gmp_DEPENDENCIES) 
+	@rm -f testcdd2_gmp$(EXEEXT)
+	$(LINK) $(testcdd2_gmp_OBJECTS) $(testcdd2_gmp_LDADD) $(LIBS)
+testlp1_gmp$(EXEEXT): $(testlp1_gmp_OBJECTS) $(testlp1_gmp_DEPENDENCIES) 
+	@rm -f testlp1_gmp$(EXEEXT)
+	$(LINK) $(testlp1_gmp_OBJECTS) $(testlp1_gmp_LDADD) $(LIBS)
+testlp2_gmp$(EXEEXT): $(testlp2_gmp_OBJECTS) $(testlp2_gmp_DEPENDENCIES) 
+	@rm -f testlp2_gmp$(EXEEXT)
+	$(LINK) $(testlp2_gmp_OBJECTS) $(testlp2_gmp_LDADD) $(LIBS)
+testlp3_gmp$(EXEEXT): $(testlp3_gmp_OBJECTS) $(testlp3_gmp_DEPENDENCIES) 
+	@rm -f testlp3_gmp$(EXEEXT)
+	$(LINK) $(testlp3_gmp_OBJECTS) $(testlp3_gmp_LDADD) $(LIBS)
+testshoot_gmp$(EXEEXT): $(testshoot_gmp_OBJECTS) $(testshoot_gmp_DEPENDENCIES) 
+	@rm -f testshoot_gmp$(EXEEXT)
+	$(LINK) $(testshoot_gmp_OBJECTS) $(testshoot_gmp_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjacency.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allfaces.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fourier.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lcdd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projection.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/redcheck.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simplecdd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testcdd1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testcdd2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testlp1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testlp2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testlp3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testshoot.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libtool ctags distclean distclean-compile \
+	distclean-generic distclean-libtool distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-binPROGRAMS install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-binPROGRAMS
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/third_party/cddlib/src-gmp/adjacency.c b/third_party/cddlib/src-gmp/adjacency.c
new file mode 120000
index 0000000..4c7c833
--- /dev/null
+++ b/third_party/cddlib/src-gmp/adjacency.c
@@ -0,0 +1 @@
+../src/adjacency.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/allfaces.c b/third_party/cddlib/src-gmp/allfaces.c
new file mode 120000
index 0000000..db193d3
--- /dev/null
+++ b/third_party/cddlib/src-gmp/allfaces.c
@@ -0,0 +1 @@
+../src/allfaces.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/fourier.c b/third_party/cddlib/src-gmp/fourier.c
new file mode 120000
index 0000000..76cbc18
--- /dev/null
+++ b/third_party/cddlib/src-gmp/fourier.c
@@ -0,0 +1 @@
+../src/fourier.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/lcdd.c b/third_party/cddlib/src-gmp/lcdd.c
new file mode 120000
index 0000000..c6597f2
--- /dev/null
+++ b/third_party/cddlib/src-gmp/lcdd.c
@@ -0,0 +1 @@
+../src/lcdd.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/projection.c b/third_party/cddlib/src-gmp/projection.c
new file mode 120000
index 0000000..13193ce
--- /dev/null
+++ b/third_party/cddlib/src-gmp/projection.c
@@ -0,0 +1 @@
+../src/projection.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/redcheck.c b/third_party/cddlib/src-gmp/redcheck.c
new file mode 120000
index 0000000..1f58be2
--- /dev/null
+++ b/third_party/cddlib/src-gmp/redcheck.c
@@ -0,0 +1 @@
+../src/redcheck.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/redundancies.c b/third_party/cddlib/src-gmp/redundancies.c
new file mode 120000
index 0000000..fcd92ce
--- /dev/null
+++ b/third_party/cddlib/src-gmp/redundancies.c
@@ -0,0 +1 @@
+../src/redundancies.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/redundancies_clarkson.c b/third_party/cddlib/src-gmp/redundancies_clarkson.c
new file mode 120000
index 0000000..533540d
--- /dev/null
+++ b/third_party/cddlib/src-gmp/redundancies_clarkson.c
@@ -0,0 +1 @@
+../src/redundancies_clarkson.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/simplecdd.c b/third_party/cddlib/src-gmp/simplecdd.c
new file mode 120000
index 0000000..a1bba26
--- /dev/null
+++ b/third_party/cddlib/src-gmp/simplecdd.c
@@ -0,0 +1 @@
+../src/simplecdd.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/testcdd1.c b/third_party/cddlib/src-gmp/testcdd1.c
new file mode 120000
index 0000000..134cd55
--- /dev/null
+++ b/third_party/cddlib/src-gmp/testcdd1.c
@@ -0,0 +1 @@
+../src/testcdd1.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/testcdd2.c b/third_party/cddlib/src-gmp/testcdd2.c
new file mode 120000
index 0000000..093e1c2
--- /dev/null
+++ b/third_party/cddlib/src-gmp/testcdd2.c
@@ -0,0 +1 @@
+../src/testcdd2.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/testlp1.c b/third_party/cddlib/src-gmp/testlp1.c
new file mode 120000
index 0000000..3c61345
--- /dev/null
+++ b/third_party/cddlib/src-gmp/testlp1.c
@@ -0,0 +1 @@
+../src/testlp1.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/testlp2.c b/third_party/cddlib/src-gmp/testlp2.c
new file mode 120000
index 0000000..fd0b9f7
--- /dev/null
+++ b/third_party/cddlib/src-gmp/testlp2.c
@@ -0,0 +1 @@
+../src/testlp2.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/testlp3.c b/third_party/cddlib/src-gmp/testlp3.c
new file mode 120000
index 0000000..3944b5a
--- /dev/null
+++ b/third_party/cddlib/src-gmp/testlp3.c
@@ -0,0 +1 @@
+../src/testlp3.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/testshoot.c b/third_party/cddlib/src-gmp/testshoot.c
new file mode 120000
index 0000000..579590e
--- /dev/null
+++ b/third_party/cddlib/src-gmp/testshoot.c
@@ -0,0 +1 @@
+../src/testshoot.c
\ No newline at end of file
diff --git a/third_party/cddlib/src-gmp/testuniq.c b/third_party/cddlib/src-gmp/testuniq.c
new file mode 100644
index 0000000..9858651
--- /dev/null
+++ b/third_party/cddlib/src-gmp/testuniq.c
@@ -0,0 +1,161 @@
+/* uniqtest.c: Test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.93c, Nov. 14, 2003
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_MatrixPtr M=NULL,M1=NULL,M2=NULL,M3=NULL,M4=NULL;
+  dd_rowrange i;
+  dd_colrange d;
+  dd_ErrorType err=dd_NoError;
+  dd_rowset redrows,linrows;
+  dd_rowindex newpos1=NULL, newpos2=NULL,newpos4=NULL;
+  mytype val;
+  dd_DataFileType inputfile;
+  FILE *reading=NULL;
+
+  dd_set_global_constants();  /* First, this must be called. */
+
+  dd_init(val);
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    fprintf(stdout,"\ncddlib test program to remove duplicates.\n");
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    fprintf(stderr,"Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+
+  d=M->colsize;
+  
+  printf("\nInput Matrix.\n");
+  dd_WriteMatrix(stdout, M);
+  M1=dd_MatrixSortedCopy(M,&newpos1);
+  printf("\nNormalize and sort the matrix with dd_MatrixSortedCopy.\n");
+  printf(" Row index changes -- original:new\n");
+  for (i=1;i<=M->rowsize; i++){
+    printf(" %ld:%ld",i,newpos1[i]);
+  }
+  printf("\n");
+
+  dd_WriteMatrix(stdout, M1);
+  
+  M2=dd_MatrixUniqueCopy(M1,&newpos2);
+  printf("\nRemove row (consecutive) duplicates with dd_MatrixUniqueCopy.\n");
+  printf(" Row index changes -- original:new\n");
+  for (i=1;i<=M1->rowsize; i++){
+    printf(" %ld:%ld",i,newpos2[i]);
+  }
+  printf("\n");
+  dd_WriteMatrix(stdout, M2);
+   
+   
+  M4=dd_MatrixSortedUniqueCopy(M,&newpos4);
+  printf("\nTwo operations can be done at once with dd_MatrixSortedUniqueCopy.\n");
+  printf(" Row index changes -- original:new\n");
+  for (i=1;i<=M->rowsize; i++){
+    printf(" %ld:%ld",i,newpos4[i]);
+  }
+  printf("\n");
+  dd_WriteMatrix(stdout, M4);
+
+
+  fprintf(stdout, "\nOne can then remove nontrivial redundant rows with dd_RedundantRows.\n Redundant rows:");
+  redrows=dd_RedundantRows(M2, &err);
+  set_fwrite(stdout, redrows);
+
+  M3=dd_MatrixSubmatrix(M2, redrows);
+  dd_FreeMatrix(M1);
+  dd_FreeMatrix(M2);
+  set_free(redrows);
+
+  fprintf(stdout, " Implicit linearity (after removal of redundant rows): ");
+  linrows=dd_ImplicitLinearityRows(M3, &err);
+
+  if (M->representation==dd_Generator)
+    fprintf(stdout," %ld  ", set_card(linrows));
+  else 
+    fprintf(stdout," %ld  ", set_card(linrows));
+  set_fwrite(stdout,linrows);
+  set_uni(M3->linset, M3->linset, linrows); 
+    /* add the implicit linrows to the given linearity rows */
+
+  printf("\nNonredundant representation (except for the linearity part):\n");
+  dd_WriteMatrix(stdout, M3);
+  set_free(linrows);
+
+  dd_FreeMatrix(M);
+  dd_FreeMatrix(M3);
+  dd_FreeMatrix(M4);
+  dd_clear(val);
+  free(newpos1); free(newpos2); free(newpos4);
+
+_L99:;
+  /* if (err!=dd_NoError) dd_WriteErrorMessages(stderr,err); */
+  return 0;
+}
+
+
+/* end of uniqtest.c */
diff --git a/third_party/cddlib/src/Makefile.am b/third_party/cddlib/src/Makefile.am
new file mode 100644
index 0000000..17f8625
--- /dev/null
+++ b/third_party/cddlib/src/Makefile.am
@@ -0,0 +1,34 @@
+bin_PROGRAMS = \
+scdd \
+lcdd \
+redcheck \
+fourier \
+projection \
+adjacency \
+allfaces \
+testcdd1 \
+testshoot \
+testcdd2 \
+testlp1 \
+testlp2 \
+testlp3
+#cddmathlink
+
+scdd_SOURCES                   = simplecdd.c
+lcdd_SOURCES                   = lcdd.c
+redcheck_SOURCES               = redcheck.c
+fourier_SOURCES                = fourier.c
+projection_SOURCES             = projection.c
+adjacency_SOURCES              = adjacency.c
+allfaces_SOURCES               = allfaces.c
+testcdd1_SOURCES               = testcdd1.c
+testshoot_SOURCES              = testshoot.c
+testcdd2_SOURCES               = testcdd2.c
+testlp1_SOURCES                = testlp1.c
+testlp2_SOURCES                = testlp2.c
+testlp3_SOURCES                = testlp3.c
+# cddmathlink_SOURCES                = cddmathlink.c cddmlio.h cddmlio.c
+
+LDADD        = ../lib-src/libcdd.la
+INCLUDES     = -I../lib-src
+AM_CPPFLAGS  = -UGMPRATIONAL
diff --git a/third_party/cddlib/src/Makefile.in b/third_party/cddlib/src/Makefile.in
new file mode 100644
index 0000000..8385e4d
--- /dev/null
+++ b/third_party/cddlib/src/Makefile.in
@@ -0,0 +1,584 @@
+# Makefile.in generated by automake 1.10.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = scdd$(EXEEXT) lcdd$(EXEEXT) redcheck$(EXEEXT) \
+	fourier$(EXEEXT) projection$(EXEEXT) adjacency$(EXEEXT) \
+	allfaces$(EXEEXT) testcdd1$(EXEEXT) testshoot$(EXEEXT) \
+	testcdd2$(EXEEXT) testlp1$(EXEEXT) testlp2$(EXEEXT) \
+	testlp3$(EXEEXT)
+subdir = src
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
+am_adjacency_OBJECTS = adjacency.$(OBJEXT)
+adjacency_OBJECTS = $(am_adjacency_OBJECTS)
+adjacency_LDADD = $(LDADD)
+adjacency_DEPENDENCIES = ../lib-src/libcdd.la
+am_allfaces_OBJECTS = allfaces.$(OBJEXT)
+allfaces_OBJECTS = $(am_allfaces_OBJECTS)
+allfaces_LDADD = $(LDADD)
+allfaces_DEPENDENCIES = ../lib-src/libcdd.la
+am_fourier_OBJECTS = fourier.$(OBJEXT)
+fourier_OBJECTS = $(am_fourier_OBJECTS)
+fourier_LDADD = $(LDADD)
+fourier_DEPENDENCIES = ../lib-src/libcdd.la
+am_lcdd_OBJECTS = lcdd.$(OBJEXT)
+lcdd_OBJECTS = $(am_lcdd_OBJECTS)
+lcdd_LDADD = $(LDADD)
+lcdd_DEPENDENCIES = ../lib-src/libcdd.la
+am_projection_OBJECTS = projection.$(OBJEXT)
+projection_OBJECTS = $(am_projection_OBJECTS)
+projection_LDADD = $(LDADD)
+projection_DEPENDENCIES = ../lib-src/libcdd.la
+am_redcheck_OBJECTS = redcheck.$(OBJEXT)
+redcheck_OBJECTS = $(am_redcheck_OBJECTS)
+redcheck_LDADD = $(LDADD)
+redcheck_DEPENDENCIES = ../lib-src/libcdd.la
+am_scdd_OBJECTS = simplecdd.$(OBJEXT)
+scdd_OBJECTS = $(am_scdd_OBJECTS)
+scdd_LDADD = $(LDADD)
+scdd_DEPENDENCIES = ../lib-src/libcdd.la
+am_testcdd1_OBJECTS = testcdd1.$(OBJEXT)
+testcdd1_OBJECTS = $(am_testcdd1_OBJECTS)
+testcdd1_LDADD = $(LDADD)
+testcdd1_DEPENDENCIES = ../lib-src/libcdd.la
+am_testcdd2_OBJECTS = testcdd2.$(OBJEXT)
+testcdd2_OBJECTS = $(am_testcdd2_OBJECTS)
+testcdd2_LDADD = $(LDADD)
+testcdd2_DEPENDENCIES = ../lib-src/libcdd.la
+am_testlp1_OBJECTS = testlp1.$(OBJEXT)
+testlp1_OBJECTS = $(am_testlp1_OBJECTS)
+testlp1_LDADD = $(LDADD)
+testlp1_DEPENDENCIES = ../lib-src/libcdd.la
+am_testlp2_OBJECTS = testlp2.$(OBJEXT)
+testlp2_OBJECTS = $(am_testlp2_OBJECTS)
+testlp2_LDADD = $(LDADD)
+testlp2_DEPENDENCIES = ../lib-src/libcdd.la
+am_testlp3_OBJECTS = testlp3.$(OBJEXT)
+testlp3_OBJECTS = $(am_testlp3_OBJECTS)
+testlp3_LDADD = $(LDADD)
+testlp3_DEPENDENCIES = ../lib-src/libcdd.la
+am_testshoot_OBJECTS = testshoot.$(OBJEXT)
+testshoot_OBJECTS = $(am_testshoot_OBJECTS)
+testshoot_LDADD = $(LDADD)
+testshoot_DEPENDENCIES = ../lib-src/libcdd.la
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+SOURCES = $(adjacency_SOURCES) $(allfaces_SOURCES) $(fourier_SOURCES) \
+	$(lcdd_SOURCES) $(projection_SOURCES) $(redcheck_SOURCES) \
+	$(scdd_SOURCES) $(testcdd1_SOURCES) $(testcdd2_SOURCES) \
+	$(testlp1_SOURCES) $(testlp2_SOURCES) $(testlp3_SOURCES) \
+	$(testshoot_SOURCES)
+DIST_SOURCES = $(adjacency_SOURCES) $(allfaces_SOURCES) \
+	$(fourier_SOURCES) $(lcdd_SOURCES) $(projection_SOURCES) \
+	$(redcheck_SOURCES) $(scdd_SOURCES) $(testcdd1_SOURCES) \
+	$(testcdd2_SOURCES) $(testlp1_SOURCES) $(testlp2_SOURCES) \
+	$(testlp3_SOURCES) $(testshoot_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+#cddmathlink
+scdd_SOURCES = simplecdd.c
+lcdd_SOURCES = lcdd.c
+redcheck_SOURCES = redcheck.c
+fourier_SOURCES = fourier.c
+projection_SOURCES = projection.c
+adjacency_SOURCES = adjacency.c
+allfaces_SOURCES = allfaces.c
+testcdd1_SOURCES = testcdd1.c
+testshoot_SOURCES = testshoot.c
+testcdd2_SOURCES = testcdd2.c
+testlp1_SOURCES = testlp1.c
+testlp2_SOURCES = testlp2.c
+testlp3_SOURCES = testlp3.c
+# cddmathlink_SOURCES                = cddmathlink.c cddmlio.h cddmlio.c
+LDADD = ../lib-src/libcdd.la
+INCLUDES = -I../lib-src
+AM_CPPFLAGS = -UGMPRATIONAL
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+	     || test -f $$p1 \
+	  ; then \
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+adjacency$(EXEEXT): $(adjacency_OBJECTS) $(adjacency_DEPENDENCIES) 
+	@rm -f adjacency$(EXEEXT)
+	$(LINK) $(adjacency_OBJECTS) $(adjacency_LDADD) $(LIBS)
+allfaces$(EXEEXT): $(allfaces_OBJECTS) $(allfaces_DEPENDENCIES) 
+	@rm -f allfaces$(EXEEXT)
+	$(LINK) $(allfaces_OBJECTS) $(allfaces_LDADD) $(LIBS)
+fourier$(EXEEXT): $(fourier_OBJECTS) $(fourier_DEPENDENCIES) 
+	@rm -f fourier$(EXEEXT)
+	$(LINK) $(fourier_OBJECTS) $(fourier_LDADD) $(LIBS)
+lcdd$(EXEEXT): $(lcdd_OBJECTS) $(lcdd_DEPENDENCIES) 
+	@rm -f lcdd$(EXEEXT)
+	$(LINK) $(lcdd_OBJECTS) $(lcdd_LDADD) $(LIBS)
+projection$(EXEEXT): $(projection_OBJECTS) $(projection_DEPENDENCIES) 
+	@rm -f projection$(EXEEXT)
+	$(LINK) $(projection_OBJECTS) $(projection_LDADD) $(LIBS)
+redcheck$(EXEEXT): $(redcheck_OBJECTS) $(redcheck_DEPENDENCIES) 
+	@rm -f redcheck$(EXEEXT)
+	$(LINK) $(redcheck_OBJECTS) $(redcheck_LDADD) $(LIBS)
+scdd$(EXEEXT): $(scdd_OBJECTS) $(scdd_DEPENDENCIES) 
+	@rm -f scdd$(EXEEXT)
+	$(LINK) $(scdd_OBJECTS) $(scdd_LDADD) $(LIBS)
+testcdd1$(EXEEXT): $(testcdd1_OBJECTS) $(testcdd1_DEPENDENCIES) 
+	@rm -f testcdd1$(EXEEXT)
+	$(LINK) $(testcdd1_OBJECTS) $(testcdd1_LDADD) $(LIBS)
+testcdd2$(EXEEXT): $(testcdd2_OBJECTS) $(testcdd2_DEPENDENCIES) 
+	@rm -f testcdd2$(EXEEXT)
+	$(LINK) $(testcdd2_OBJECTS) $(testcdd2_LDADD) $(LIBS)
+testlp1$(EXEEXT): $(testlp1_OBJECTS) $(testlp1_DEPENDENCIES) 
+	@rm -f testlp1$(EXEEXT)
+	$(LINK) $(testlp1_OBJECTS) $(testlp1_LDADD) $(LIBS)
+testlp2$(EXEEXT): $(testlp2_OBJECTS) $(testlp2_DEPENDENCIES) 
+	@rm -f testlp2$(EXEEXT)
+	$(LINK) $(testlp2_OBJECTS) $(testlp2_LDADD) $(LIBS)
+testlp3$(EXEEXT): $(testlp3_OBJECTS) $(testlp3_DEPENDENCIES) 
+	@rm -f testlp3$(EXEEXT)
+	$(LINK) $(testlp3_OBJECTS) $(testlp3_LDADD) $(LIBS)
+testshoot$(EXEEXT): $(testshoot_OBJECTS) $(testshoot_DEPENDENCIES) 
+	@rm -f testshoot$(EXEEXT)
+	$(LINK) $(testshoot_OBJECTS) $(testshoot_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adjacency.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allfaces.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fourier.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lcdd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projection.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/redcheck.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simplecdd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testcdd1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testcdd2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testlp1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testlp2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testlp3.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testshoot.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libtool ctags distclean distclean-compile \
+	distclean-generic distclean-libtool distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-binPROGRAMS install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-binPROGRAMS
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/third_party/cddlib/src/adjacency.c b/third_party/cddlib/src/adjacency.c
new file mode 100644
index 0000000..de287b4
--- /dev/null
+++ b/third_party/cddlib/src/adjacency.c
@@ -0,0 +1,161 @@
+/* adjacency.c: Test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.93, July 18, 2003
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_MatrixPtr M=NULL,M2=NULL,M3=NULL;
+  dd_SetFamilyPtr A=NULL;
+  dd_colrange d;
+  dd_ErrorType err=dd_NoError;
+  dd_rowset redrows,linrows,ignoredrows, basisrows;
+  dd_colset ignoredcols, basiscols;
+  long rank;
+  mytype val;
+  time_t starttime, endtime;
+  dd_DataFileType inputfile;
+  FILE *reading=NULL;
+
+  dd_set_global_constants();  /* First, this must be called. */
+
+  dd_init(val);
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    fprintf(stdout,"\ncddlib test program to remove redundancy and compute adjacency of the resulting representation.\n");
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    fprintf(stderr,"Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+
+  if (M->representation==dd_Generator) d=M->colsize+1; else d=M->colsize;
+
+  fprintf(stdout, "redundant rows:\n");
+  time(&starttime);
+  redrows=dd_RedundantRows(M, &err);
+  time(&endtime);
+  set_fwrite(stdout, redrows);
+  dd_WriteTimes(stdout,starttime,endtime);
+
+  M2=dd_MatrixSubmatrix(M, redrows);
+
+  fprintf(stdout, "Implicit linearity (after removal of redundant rows): ");
+  linrows=dd_ImplicitLinearityRows(M2, &err);
+
+  if (M->representation==dd_Generator)
+    fprintf(stdout," %ld  ", set_card(linrows));
+  else 
+    fprintf(stdout," %ld  ", set_card(linrows));
+  set_fwrite(stdout,linrows);
+  set_uni(M2->linset, M2->linset, linrows); 
+      /* add the implicit linrows to the explicit linearity rows */
+
+  printf("\nNonredundant representation (except possibly for the linearity part):\n");
+  dd_WriteMatrix(stdout, M2);
+
+  /* To remove redundancy of the linearity part, 
+     we need to compute the rank and a basis of the linearity part. */
+  set_initialize(&ignoredrows, M2->rowsize);
+  set_initialize(&ignoredcols, M2->colsize);
+  set_compl(ignoredrows, M2->linset);
+  rank=dd_MatrixRank(M2,ignoredrows,ignoredcols, &basisrows, &basiscols);
+  set_diff(ignoredrows, M2->linset, basisrows);
+  M3=dd_MatrixSubmatrix(M2, ignoredrows);
+  if (rank>0){
+    if (set_card(ignoredrows)) {
+       fprintf(stdout,"\nThe following %ld linearity rows are dependent and unnecessary:", set_card(ignoredrows));
+       set_fwrite(stdout,ignoredrows);
+    }
+  } else
+    fprintf(stdout,"\nThe linearity rows are independent and thus minimal\n");  
+
+  printf("Nonredundant representation (= minimal representation):\n");
+  dd_WriteMatrix(stdout, M3);
+
+  printf("\nAdjacency of the minimal representation:\n");
+  A=dd_Matrix2Adjacency(M3, &err);
+  dd_WriteSetFamily(stdout, A);
+  
+  dd_clear(val);
+  set_free(linrows);
+  set_free(basisrows);
+  set_free(basiscols);
+  set_free(ignoredrows);
+  set_free(ignoredcols);
+  set_free(redrows);
+  
+  if (A!=NULL) dd_FreeSetFamily(A);
+  dd_FreeMatrix(M);
+  dd_FreeMatrix(M2);
+  dd_FreeMatrix(M3);
+
+_L99:;
+  if (err!=dd_NoError) dd_WriteErrorMessages(stderr,err);
+  dd_free_global_constants();  /* At the end, this should be called. */
+  return 0;
+}
+
+
+/* end of adjacency.c */
diff --git a/third_party/cddlib/src/allfaces.c b/third_party/cddlib/src/allfaces.c
new file mode 100644
index 0000000..542f1c2
--- /dev/null
+++ b/third_party/cddlib/src/allfaces.c
@@ -0,0 +1,183 @@
+/* allfaces.c: Test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.94, August 4, 2005
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+dd_boolean FaceEnum(dd_MatrixPtr M, dd_rowset R, dd_rowset S, dd_boolean rip, dd_colrange mindim)
+{
+  dd_ErrorType err;
+  dd_rowset LL, ImL, RR, SS, Lbasis;
+  dd_rowrange i,iprev=0;
+  dd_colrange j,dim;
+  dd_LPSolutionPtr lps=NULL;
+  dd_boolean success=dd_FALSE;
+
+  set_initialize(&LL, M->rowsize);
+  set_initialize(&RR, M->rowsize);
+  set_initialize(&SS, M->rowsize);
+  set_copy(LL, M->linset); /* rememer the linset. */
+  set_copy(RR, R); /* copy of R. */
+  set_copy(SS, S); /* copy of S. */
+  if (dd_ExistsRestrictedFace(M, R, S, &err)){
+    set_uni(M->linset, M->linset, R);
+	dd_FindRelativeInterior(M, &ImL, &Lbasis, &lps, &err);
+	dim=M->colsize - set_card(Lbasis)-1;
+    set_uni(M->linset, M->linset, ImL);
+	fprintf(stdout,"%ld: ", dim); set_fwrite(stdout,M->linset);
+	if (rip){
+    	/* Write an interior point. */
+	  printf("RIP: (");
+	  for (j=1; j <(lps->d)-1; j++) {
+	    dd_WriteNumber(stdout,lps->sol[j]);
+	  }
+	  printf(")\n");
+	}
+	dd_FreeLPSolution(lps);
+	set_free(ImL);
+	set_free(Lbasis);
+   
+    if (dim>mindim){
+	  for (i=1; i<=M->rowsize; i++){
+	    if (!set_member(i, M->linset) && !set_member(i, S)){
+		  set_addelem(RR, i);
+		  if (iprev) {
+		    set_delelem(RR,iprev);
+		    set_delelem(M->linset,iprev);
+		    set_addelem(SS, iprev);
+		  }
+		  iprev=i;
+		  FaceEnum(M, RR, SS, rip, mindim);
+		}
+	  }
+	}
+  } else if (err!=dd_NoError) goto _L99;
+  success=dd_TRUE;
+
+_L99:
+  set_copy(M->linset, LL); /* restore the linset */
+  set_free(LL);
+  set_free(RR);
+  set_free(SS);
+  return success;
+}
+
+
+
+int main(int argc, char *argv[])
+{
+  dd_MatrixPtr M=NULL;
+  dd_rowrange m;
+  dd_ErrorType err=dd_NoError;
+  dd_rowset R, S;
+  dd_DataFileType inputfile;
+  FILE *reading=NULL;
+  char ch;
+  dd_colrange mindim;
+  dd_boolean rip=dd_FALSE;
+  
+  
+  dd_set_global_constants();  /* First, this must be called. */
+
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    fprintf(stdout,"\ncddlib test program to list all faces of an H-polyhedron.\n");
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    fprintf(stderr,"Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+  
+  if (M->representation==dd_Generator){
+    printf("The input is V-representation.  Consider it as H-representation (N)? ");
+    ch=getchar(); getchar();
+    if (ch!='y' && ch!='Y') goto _L99;
+  }
+
+  m=M->rowsize;
+  
+  set_initialize(&R, M->rowsize); 
+  set_initialize(&S, M->rowsize); 
+  
+  printf("Output relative interior points (N)? ");
+  ch=getchar();
+  if (ch=='y' || ch=='Y') rip=dd_TRUE;
+  printf("Minimum dimension of faces to list (0..%ld) ? ",M->colsize-1);
+  scanf("%ld", &mindim);
+  if (mindim>=M->colsize) mindim=M->colsize-1;
+  printf("Minimum dimension is set to %ld.", mindim);
+
+  printf("\n--- FaceEnum (dim: active set) ---\nbegin\n");
+  FaceEnum(M, R, S, rip, mindim);
+  fprintf(stderr,"end\nFaceEnum completed.\n");
+
+  dd_FreeMatrix(M);
+  set_free(R);
+  set_free(S);
+_L99:;
+  if (err!=dd_NoError) dd_WriteErrorMessages(stderr,err);
+  dd_free_global_constants();  /* At the end, this should be called. */
+  return 0;
+}
+
+
+/* end of allfaces.c */
diff --git a/third_party/cddlib/src/fourier.c b/third_party/cddlib/src/fourier.c
new file mode 100644
index 0000000..bff5dd5
--- /dev/null
+++ b/third_party/cddlib/src/fourier.c
@@ -0,0 +1,132 @@
+/* fourier.c: Test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.94, August 4, 2005
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_MatrixPtr M=NULL,M1=NULL,M2=NULL;
+  dd_colrange j,s,d;
+  dd_ErrorType err=dd_NoError;
+  dd_rowset redset,impl_linset;
+  dd_rowindex newpos;
+  mytype val;
+  dd_DataFileType inputfile;
+  FILE *reading=NULL;
+
+  dd_set_global_constants();  /* First, this must be called. */
+
+  dd_init(val);
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    fprintf(stdout,"\ncddlib test program to apply Fourier's Elimination to an H-polyhedron.\n");
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    fprintf(stderr,"Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+
+  d=M->colsize;
+  M2=dd_CopyMatrix(M);
+
+  printf("How many variables to elminate? (max %ld): ",d-1);
+  scanf("%ld",&s);
+  
+  if (s>0 && s < d){
+    for (j=1; j<=s; j++){
+      M1=dd_FourierElimination(M2, &err);
+      printf("\nRemove the variable %ld.  The resulting redundant system.\n",d-j);
+      dd_WriteMatrix(stdout, M1);
+
+      dd_MatrixCanonicalize(&M1, &impl_linset, &redset, &newpos, &err);
+      if (err!=dd_NoError) goto _L99;
+
+      fprintf(stdout, "\nRedundant rows: ");
+      set_fwrite(stdout, redset);
+
+      dd_FreeMatrix(M2);
+      M2=M1;
+      set_free(redset);
+      set_free(impl_linset);
+      free(newpos);
+    }
+
+    printf("\nNonredundant representation:\n");
+    dd_WriteMatrix(stdout, M1);
+  } else {
+    printf("Value out of range\n");
+  }
+
+  dd_FreeMatrix(M);
+  dd_FreeMatrix(M1);
+  dd_clear(val);
+
+_L99:;
+  /* if (err!=dd_NoError) dd_WriteErrorMessages(stderr,err); */
+  dd_free_global_constants();  /* At the end, this should be called. */
+  return 0;
+}
+
+
+/* end of fourier.c */
diff --git a/third_party/cddlib/src/lcdd.c b/third_party/cddlib/src/lcdd.c
new file mode 100644
index 0000000..c5f23df
--- /dev/null
+++ b/third_party/cddlib/src/lcdd.c
@@ -0,0 +1,60 @@
+/* lcdd.c: Main test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   and  David Avis, avis@mutt.cs.mcgill.ca
+   Version 0.94, August 4, 2005
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+/*  This program behaves like lrs by David Avis.
+    Usage: lcdd filein fileout
+           lcdd filein          output to stdout
+           lcdd                 input stdin, output stdout
+
+    This allows things like
+    lcdd file | lcdd    (should give a minimal rep of the input file on stdout)
+    lcdd file | lrs
+    lcdd < filein
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+
+int main(int argc, char *argv[])
+{
+  dd_ErrorType err;
+
+  dd_set_global_constants();  /* First, this must be called. */
+  dd_log=dd_TRUE; /* Output log */
+
+  if (argc > 2)  
+    dd_DDFile2File(argv[1],argv[2],&err);
+
+  else if (argc > 1)
+    dd_DDFile2File(argv[1],"**stdout",&err);
+  else
+    dd_DDFile2File("**stdin","**stdout",&err);
+  return 0;
+}
+
+/* end of lcdd.c */
diff --git a/third_party/cddlib/src/minkowski.c b/third_party/cddlib/src/minkowski.c
new file mode 100644
index 0000000..22c5905
--- /dev/null
+++ b/third_party/cddlib/src/minkowski.c
@@ -0,0 +1,157 @@
+/* minkowski.c: Main test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.93, July 15, 2003
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_PolyhedraPtr poly;
+  dd_LPPtr lp;
+  dd_MatrixPtr M,A;
+  dd_ErrorType err=dd_NoError;
+  dd_DataFileType inputfile,outputfile;
+  FILE *reading=NULL, *writing;
+
+  dd_set_global_constants();  /* First, this must be called. */
+
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    printf("Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+
+  if (M->objective==dd_LPnone){ /* do representation conversion */
+    poly=dd_DDMatrix2Poly2(M, dd_LexMin, &err);
+    /* equivalent to poly=dd_DDMatrix2Poly2(M, &err) when the second argument is set to dd_LexMin. */
+    if (err!=dd_NoError) goto _L99;
+
+    dd_SetWriteFileName(inputfile, outputfile, 'o', poly->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteProgramDescription(writing);
+    dd_WriteRunningMode(writing, poly);
+    switch (poly->representation) {
+    case dd_Inequality:
+      fprintf(writing, "ext_file: Generators\n");
+      A=dd_CopyGenerators(poly);
+      dd_WriteMatrix(writing,A);
+      dd_FreeMatrix(A);
+      break;
+
+    case dd_Generator:
+      fprintf(writing, "ine_file: Inequalities\n");
+      A=dd_CopyInequalities(poly);
+      dd_WriteMatrix(writing,A);
+      dd_FreeMatrix(A);
+      break;
+
+    default:
+      break;
+    }
+    dd_WriteDDTimes(writing,poly);
+    fclose(writing);
+
+    dd_SetWriteFileName(inputfile, outputfile, 'a', poly->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteAdjacency(writing,poly);
+    fclose(writing);
+
+    dd_SetWriteFileName(inputfile, outputfile, 'j', poly->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteInputAdjacency(writing,poly);
+    fclose(writing);
+
+    dd_SetWriteFileName(inputfile, outputfile, 'i', poly->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteIncidence(writing,poly);
+    fclose(writing);
+
+    dd_SetWriteFileName(inputfile, outputfile, 'n', poly->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteInputIncidence(writing,poly);
+    fclose(writing);
+
+    dd_FreeMatrix(M);
+    dd_FreePolyhedra(poly);
+
+  } else { /* solve the LP */
+    lp=dd_Matrix2LP(M, &err);  if (err!=dd_NoError) goto _L99;
+    dd_LPSolve(lp,dd_DualSimplex,&err);  if (err!=dd_NoError) goto _L99;
+
+    dd_SetWriteFileName(inputfile, outputfile, 's', M->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteLPResult(writing, lp, err);
+    fclose(writing);
+
+    dd_FreeMatrix(M);
+    dd_FreeLPData(lp);
+  }
+_L99:
+  if (err!=dd_NoError) dd_WriteErrorMessages(stdout,err);
+  return 0;
+}
+
+
+/* end of simplecdd.c */
diff --git a/third_party/cddlib/src/projection.c b/third_party/cddlib/src/projection.c
new file mode 100644
index 0000000..327d986
--- /dev/null
+++ b/third_party/cddlib/src/projection.c
@@ -0,0 +1,131 @@
+/* projection.c: Test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.94, July 27,  2005
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_MatrixPtr M=NULL,M1=NULL;
+  dd_colrange j,s,t,d;
+  dd_ErrorType err=dd_NoError;
+  dd_rowset redset,impl_linset;
+  dd_colset delset;
+  dd_rowindex newpos;
+  mytype val;
+  dd_DataFileType inputfile;
+  FILE *reading=NULL;
+
+  dd_set_global_constants();  /* First, this must be called. */
+
+  dd_init(val);
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    fprintf(stdout,"\ncddlib test program to apply the Block Elimination to an H-polyhedron.\n");
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    fprintf(stderr,"Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+
+  d=M->colsize;
+  set_initialize(&delset, d);
+
+  printf("How many variables to elminate? (max %ld): ",d-1);
+  scanf("%ld",&s);
+
+  for (j=1; j<=s; j++){
+    printf("\n%ld th deletion variable): ",j);
+    scanf("%ld",&t);
+    set_addelem(delset, t+1);
+  }
+  
+  M1=dd_BlockElimination(M, delset, &err);
+
+  dd_WriteMatrix(stdout, M1);
+
+  dd_MatrixCanonicalize(&M1,&impl_linset,&redset,&newpos,&err);
+
+  if (err!=dd_NoError) goto _L99;
+
+  fprintf(stdout, "\nRedundant rows: ");
+  set_fwrite(stdout, redset);
+  fprintf(stdout, "\n");
+
+  dd_WriteMatrix(stdout, M1);
+
+  dd_FreeMatrix(M);
+  dd_FreeMatrix(M1);
+  set_free(delset);
+  set_free(redset);
+  set_free(impl_linset);
+  free(newpos);
+
+_L99:;
+  /* if (err!=dd_NoError) dd_WriteErrorMessages(stderr,err); */
+  dd_free_global_constants();  /* At the end, this should be called. */
+  return 0;
+}
+
+
+/* end of projection.c */
diff --git a/third_party/cddlib/src/redcheck.c b/third_party/cddlib/src/redcheck.c
new file mode 100644
index 0000000..f4391fe
--- /dev/null
+++ b/third_party/cddlib/src/redcheck.c
@@ -0,0 +1,125 @@
+/* redcheck.c: Test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.94, April 4, 2005
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_MatrixPtr M=NULL;
+  dd_rowrange i,m;
+  dd_ErrorType err=dd_NoError;
+  dd_rowindex newpos;
+  dd_rowset impl_linset,redset;
+  time_t starttime, endtime;
+  dd_DataFileType inputfile;
+  FILE *reading=NULL;
+
+  dd_set_global_constants();  /* First, this must be called. */
+
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    fprintf(stdout,"\ncddlib test program to check redundancy of an H/V-representation.\n");
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    fprintf(stderr,"Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+
+  m=M->rowsize;
+  fprintf(stdout, "Canonicalize the matrix.\n");
+    
+  time(&starttime);
+  dd_MatrixCanonicalize(&M, &impl_linset, &redset, &newpos, &err);
+  time(&endtime);
+  
+  if (err!=dd_NoError) goto _L99;
+
+  fprintf(stdout, "Implicit linearity rows are:"); set_fwrite(stdout, impl_linset);
+
+  fprintf(stdout, "\nRedundant rows are:"); set_fwrite(stdout, redset);
+  fprintf(stdout, "\n");
+  
+  fprintf(stdout, "Nonredundant representation:\n");
+  fprintf(stdout, "The new row positions are as follows (orig:new).\nEach redundant row has the new number 0.\nEach deleted duplicated row has a number nagative of the row that\nrepresents its equivalence class.\n");
+  
+  for (i=1; i<=m; i++){
+   fprintf(stdout, " %ld:%ld",i, newpos[i]); 
+  }
+  fprintf(stdout, "\n");
+  dd_WriteMatrix(stdout, M);
+  
+  dd_WriteTimes(stdout,starttime,endtime);
+
+  set_free(redset);
+  set_free(impl_linset);
+  dd_FreeMatrix(M);
+  free(newpos);
+
+_L99:;
+  if (err!=dd_NoError) dd_WriteErrorMessages(stderr,err);
+  return 0;
+}
+
+
+/* end of redcheck.c */
diff --git a/third_party/cddlib/src/redexter.c b/third_party/cddlib/src/redexter.c
new file mode 100644
index 0000000..c9b033e
--- /dev/null
+++ b/third_party/cddlib/src/redexter.c
@@ -0,0 +1,160 @@
+/* redexter.c: Test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.94, November 21, 2005
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_MatrixPtr M1=NULL,M2=NULL,M2row=NULL,M1plus=NULL;
+  dd_colrange d1;
+  dd_rowrange i,m1,m2,m1plus;
+  dd_ErrorType err=dd_NoError,err1=dd_NoError,err2=dd_NoError;
+  dd_rowset delset,rowset2;
+  dd_Arow cvec; /* certificate */  
+
+  time_t starttime, endtime;
+  dd_DataFileType inputfile1,inputfile2;
+  FILE *reading1=NULL,*reading2=NULL;
+
+  dd_set_global_constants();  /* First, this must be called. */
+
+  dd_WriteProgramDescription(stdout);
+  fprintf(stdout,"\ncddlib test program to check redundancy of additional data.\n");
+  if (argc>2){
+    strcpy(inputfile1,argv[1]);
+    strcpy(inputfile2,argv[2]);
+  }
+  /* 
+  if (argc<=2){
+    fprintf(stdout,"\nUsage:\n   redexter file1 file2\n");
+	goto _L99;
+  }
+  */
+  if (!SetInputFile(&reading1,argv[1])){
+    fprintf(stdout,"\nSpecify file1.\n");
+    dd_SetInputFile(&reading1,inputfile1, &err1);
+  }
+  if (!SetInputFile(&reading2,argv[2])){
+    fprintf(stdout,"\nSpecify the secondary file.\n");
+    dd_SetInputFile(&reading2,inputfile2, &err2);
+  }
+  if ((err1==dd_NoError) && (err2==dd_NoError)) {
+    M1=dd_PolyFile2Matrix(reading1, &err1);
+    M2=dd_PolyFile2Matrix(reading2, &err2);
+  }
+  else {
+    fprintf(stderr,"Input file(s) not found\n");
+    goto _L99;
+  }
+
+  if ((err1!=dd_NoError) || (err2!=dd_NoError)) goto _L99;
+
+  m1=M1->rowsize;
+  m2=M2->rowsize;
+  set_initialize(&delset,m2);
+  m1plus=m1+1;
+  if (M1->representation==dd_Generator){
+    d1=(M1->colsize)+1;
+  } else {
+    d1=M1->colsize;
+  }
+  dd_InitializeArow(d1,&cvec);
+
+  fprintf(stdout, "\nThe first matrix\n");
+  dd_WriteMatrix(stdout, M1);
+  fprintf(stdout, "\nThe second matrix\n");
+  dd_WriteMatrix(stdout, M2);
+  
+  printf("\nChecking whether each row of the second matrix is redundant w.r.t. the first.\n");
+
+  time(&starttime);
+
+  for (i=1; i<=m2; i++){
+    set_initialize(&rowset2,m2);
+	set_addelem(rowset2, i);
+    set_compl(delset, rowset2);
+    M2row=dd_MatrixSubmatrix(M2, delset);
+	M1plus=dd_MatrixAppend(M1,M2row); 
+	
+    if (dd_Redundant(M1plus, m1plus, cvec, &err)) {
+	  printf("%ld-th row: redundant\n", i);
+	} else {
+	  printf("%ld-th row: non-redundant\n A certificate:", i);
+	  dd_WriteArow(stdout, cvec, d1);
+	}
+
+    dd_FreeMatrix(M1plus);
+	dd_FreeMatrix(M2row);
+    set_free(rowset2);
+  }
+
+  time(&endtime);
+
+  dd_WriteTimes(stdout,starttime,endtime);
+
+  set_free(delset);
+  dd_FreeMatrix(M1);
+  dd_FreeMatrix(M2);
+
+_L99:;
+  if (err1!=dd_NoError) dd_WriteErrorMessages(stderr,err1);
+  if (err2!=dd_NoError) dd_WriteErrorMessages(stderr,err2);
+  return 0;
+}
+
+
+/* end of redexter.c */
diff --git a/third_party/cddlib/src/redundancies.c b/third_party/cddlib/src/redundancies.c
new file mode 100644
index 0000000..15d5eb8
--- /dev/null
+++ b/third_party/cddlib/src/redundancies.c
@@ -0,0 +1,121 @@
+/* redcheck.c: Test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.94, April 12, 2012
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_MatrixPtr M=NULL,M2=NULL;
+  dd_ErrorType err=dd_NoError;
+  dd_rowset redrows,linrows;
+  mytype val;
+  dd_DataFileType inputfile;
+  FILE *reading=NULL;
+  time_t starttime,endtime;
+  
+  dd_set_global_constants();  /* First, this must be called. */
+
+  dd_init(val);
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    fprintf(stdout,"\ncddlib test program to check redundancy of an H/V-representation.\n");
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    fprintf(stderr,"Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+
+  time(&starttime);
+  fprintf(stdout, "redundant rows: ");
+  redrows=dd_RedundantRows(M, &err);
+  set_fwrite(stdout, redrows);
+
+  M2=dd_MatrixSubmatrix(M, redrows);
+
+  fprintf(stdout, "Implicit linearity (after removal of redundant rows): ");
+  linrows=dd_ImplicitLinearityRows(M2, &err);
+
+  if (M->representation==dd_Generator)
+    fprintf(stdout," %ld  ", set_card(linrows));
+  else 
+    fprintf(stdout," %ld  ", set_card(linrows));
+  set_fwrite(stdout,linrows);
+  set_uni(M2->linset, M2->linset, linrows); 
+      /* add the implicit linrows to the given linearity rows */
+
+  time(&endtime);
+  printf("\nNonredundant representation (except for the linearity part):\n");
+  dd_WriteMatrix(stdout, M2);
+  dd_WriteTimes(stdout,starttime,endtime);
+
+  dd_FreeMatrix(M);
+  dd_FreeMatrix(M2);
+
+_L99:;
+  if (err!=dd_NoError) dd_WriteErrorMessages(stderr,err);
+  return 0;
+}
+
+
+/* end of redcheck.c */
diff --git a/third_party/cddlib/src/redundancies_clarkson.c b/third_party/cddlib/src/redundancies_clarkson.c
new file mode 100644
index 0000000..b02f16b
--- /dev/null
+++ b/third_party/cddlib/src/redundancies_clarkson.c
@@ -0,0 +1,121 @@
+/* redcheck.c: Test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.94, April 12, 2012
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_MatrixPtr M=NULL,M2=NULL;
+  dd_ErrorType err=dd_NoError;
+  dd_rowset redrows,linrows;
+  mytype val;
+  dd_DataFileType inputfile;
+  FILE *reading=NULL;
+  time_t starttime,endtime;
+
+  dd_set_global_constants();  /* First, this must be called. */
+
+  dd_init(val);
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    fprintf(stdout,"\ncddlib test program to check redundancy of an H/V-representation\nby Clarkson's algorithm.");
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    fprintf(stderr,"Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+
+  time(&starttime);
+  fprintf(stdout, "redundant rows: ");
+  redrows=dd_RedundantRowsViaShooting(M, &err);
+  set_fwrite(stdout, redrows);
+
+  M2=dd_MatrixSubmatrix(M, redrows);
+
+  fprintf(stdout, "Implicit linearity (after removal of redundant rows): ");
+  linrows=dd_ImplicitLinearityRows(M2, &err);
+
+  if (M->representation==dd_Generator)
+    fprintf(stdout," %ld  ", set_card(linrows));
+  else 
+    fprintf(stdout," %ld  ", set_card(linrows));
+  set_fwrite(stdout,linrows);
+  set_uni(M2->linset, M2->linset, linrows); 
+      /* add the implicit linrows to the given linearity rows */
+
+  time(&endtime);
+  printf("\nNonredundant representation (except for the linearity part):\n");
+  dd_WriteMatrix(stdout, M2);
+  dd_WriteTimes(stdout,starttime,endtime);
+
+  dd_FreeMatrix(M);
+  dd_FreeMatrix(M2);
+
+_L99:;
+  if (err!=dd_NoError) dd_WriteErrorMessages(stderr,err);
+  return 0;
+}
+
+
+/* end of redcheck.c */
diff --git a/third_party/cddlib/src/simplecdd.c b/third_party/cddlib/src/simplecdd.c
new file mode 100644
index 0000000..fe800a2
--- /dev/null
+++ b/third_party/cddlib/src/simplecdd.c
@@ -0,0 +1,158 @@
+/* simplecdd.c: Main test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.94, Aug. 4, 2005
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_PolyhedraPtr poly;
+  dd_LPPtr lp;
+  dd_MatrixPtr M,A;
+  dd_ErrorType err=dd_NoError;
+  dd_DataFileType inputfile,outputfile;
+  FILE *reading=NULL, *writing;
+
+  dd_set_global_constants();  /* First, this must be called. */
+  dd_log=dd_TRUE;  /* output log */
+
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    printf("Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+
+  if (M->objective==dd_LPnone){ /* do representation conversion */
+    poly=dd_DDMatrix2Poly2(M, dd_LexMin, &err);
+    /* equivalent to poly=dd_DDMatrix2Poly2(M, &err) when the second argument is set to dd_LexMin. */
+    if (err!=dd_NoError) goto _L99;
+
+    dd_SetWriteFileName(inputfile, outputfile, 'o', poly->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteProgramDescription(writing);
+    dd_WriteRunningMode(writing, poly);
+    switch (poly->representation) {
+    case dd_Inequality:
+      fprintf(writing, "ext_file: Generators\n");
+      A=dd_CopyGenerators(poly);
+      dd_WriteMatrix(writing,A);
+      dd_FreeMatrix(A);
+      break;
+
+    case dd_Generator:
+      fprintf(writing, "ine_file: Inequalities\n");
+      A=dd_CopyInequalities(poly);
+      dd_WriteMatrix(writing,A);
+      dd_FreeMatrix(A);
+      break;
+
+    default:
+      break;
+    }
+    dd_WriteDDTimes(writing,poly);
+    fclose(writing);
+
+    dd_SetWriteFileName(inputfile, outputfile, 'a', poly->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteAdjacency(writing,poly);
+    fclose(writing);
+
+    dd_SetWriteFileName(inputfile, outputfile, 'j', poly->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteInputAdjacency(writing,poly);
+    fclose(writing);
+
+    dd_SetWriteFileName(inputfile, outputfile, 'i', poly->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteIncidence(writing,poly);
+    fclose(writing);
+
+    dd_SetWriteFileName(inputfile, outputfile, 'n', poly->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteInputIncidence(writing,poly);
+    fclose(writing);
+
+    dd_FreeMatrix(M);
+    dd_FreePolyhedra(poly);
+
+  } else { /* solve the LP */
+    lp=dd_Matrix2LP(M, &err);  if (err!=dd_NoError) goto _L99;
+    dd_LPSolve(lp,dd_DualSimplex,&err);  if (err!=dd_NoError) goto _L99;
+
+    dd_SetWriteFileName(inputfile, outputfile, 's', M->representation);
+    SetWriteFile(&writing, outputfile);
+    dd_WriteLPResult(writing, lp, err);
+    fclose(writing);
+
+    dd_FreeMatrix(M);
+    dd_FreeLPData(lp);
+  }
+_L99:
+  if (err!=dd_NoError) dd_WriteErrorMessages(stdout,err);
+  return 0;
+}
+
+
+/* end of simplecdd.c */
diff --git a/third_party/cddlib/src/testcdd1.c b/third_party/cddlib/src/testcdd1.c
new file mode 100644
index 0000000..8f1355f
--- /dev/null
+++ b/third_party/cddlib/src/testcdd1.c
@@ -0,0 +1,105 @@
+/* testcdd1.c: Main test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.93, July 9, 2003
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, char *fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+int main(int argc, char *argv[])
+{
+  dd_PolyhedraPtr poly;
+  dd_MatrixPtr M;
+  dd_ErrorType err;
+  dd_DataFileType inputfile;
+  FILE *reading=NULL;
+  dd_MatrixPtr A, G;
+  dd_SetFamilyPtr GI,GA;
+
+  dd_set_global_constants();  /* First, this must be called. */
+
+  dd_SetInputFile(&reading,inputfile, &err);
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    printf("Input file not found\n");
+    goto _L99;
+  }
+
+  if (err==dd_NoError) {
+    poly=dd_DDMatrix2Poly(M, &err); /* compute the second representation */
+    if (err!=dd_NoError) {
+      dd_WriteErrorMessages(stdout,err);  goto _L99;
+    }
+    A=dd_CopyInequalities(poly);
+    G=dd_CopyGenerators(poly);
+    GI=dd_CopyIncidence(poly);
+    GA=dd_CopyAdjacency(poly);
+
+    if (poly->representation==dd_Inequality) {
+      printf("\nInput is an H-representation\n");
+    } else {
+      printf("\nInput is a V-representation\n");
+    }
+    dd_WriteMatrix(stdout,A); printf("\n");
+    dd_WriteMatrix(stdout,G);
+
+    printf("\nHere is the incidence list:\n");
+    dd_WriteSetFamily(stdout,GI);
+
+    printf("\nHere is the adjacency list:\n");
+    dd_WriteSetFamily(stdout,GA);
+
+    dd_FreePolyhedra(poly);
+    /* This is to remove all the space allocated for poly. */
+    dd_FreeMatrix(M);
+    dd_FreeMatrix(A);
+    dd_FreeMatrix(G);
+    dd_FreeSetFamily(GI);
+    dd_FreeSetFamily(GA);
+  } else {
+    dd_WriteErrorMessages(stdout,err);
+  }
+_L99:
+  dd_free_global_constants();  /* At the end, this must be called. */
+  return 0;
+}
+
+
+/* end of testcdd1.c */
diff --git a/third_party/cddlib/src/testcdd2.c b/third_party/cddlib/src/testcdd2.c
new file mode 100644
index 0000000..950120f
--- /dev/null
+++ b/third_party/cddlib/src/testcdd2.c
@@ -0,0 +1,92 @@
+/* testcdd2.c: Main test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.90c, June 12, 2000
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+int main(int argc, char *argv[])
+{
+  dd_PolyhedraPtr poly;
+  dd_MatrixPtr A, B, G;
+  dd_rowrange m; 
+  dd_colrange d;
+  dd_ErrorType err;
+
+  dd_set_global_constants();  /* First, this must be called to use cddlib. */
+
+  m=4; d=3;
+  A=dd_CreateMatrix(m,d);
+  dd_set_si(A->matrix[0][0],7); dd_set_si(A->matrix[0][1],-3); dd_set_si(A->matrix[0][2], 0);
+  dd_set_si(A->matrix[1][0],7); dd_set_si(A->matrix[1][1], 0); dd_set_si(A->matrix[1][2],-3);
+  dd_set_si(A->matrix[2][0],1); dd_set_si(A->matrix[2][1], 1); dd_set_si(A->matrix[2][2], 0);
+  dd_set_si(A->matrix[3][0],1); dd_set_si(A->matrix[3][1], 0); dd_set_si(A->matrix[3][2], 1);
+  /* 7 - 3 x1          >= 0
+     7         - 3x2   >= 0
+     1 +   x1          >= 0
+     1         +  x2   >= 0
+  */
+  A->representation=dd_Inequality;
+  poly=dd_DDMatrix2Poly(A, &err);  /* compute the second (generator) representation */
+  if (err!=dd_NoError) goto _L99;
+  printf("\nInput is H-representation:\n");
+  G=dd_CopyGenerators(poly);
+  dd_WriteMatrix(stdout,A);  printf("\n");
+  dd_WriteMatrix(stdout,G);
+  dd_FreeMatrix(A);
+  dd_FreeMatrix(G);
+
+  /* Add inequalities:
+     7 +  x1   -3x2   = 0
+     7 - 3x1   + x2   >= 0
+  */
+  m=2;
+  B=dd_CreateMatrix(m,d);
+  dd_set_si(B->matrix[0][0],7); dd_set_si(B->matrix[0][1], 1); dd_set_si(B->matrix[0][2],-3);
+  dd_set_si(B->matrix[1][0],7); dd_set_si(B->matrix[1][1],-3); dd_set_si(B->matrix[1][2], 1);
+  set_addelem(B->linset,1); /* setting the first to be equality */
+
+  dd_DDInputAppend(&poly,B, &err); /* append the two inequalities and compute the generators */
+  if (err!=dd_NoError) goto _L99;
+  A=dd_CopyInequalities(poly);  /* get the inequalities (=input). */
+  G=dd_CopyGenerators(poly);  /* get the generators (=output). */
+  printf("\nNew H-representation with added inequalities:\n");
+  dd_WriteMatrix(stdout,A);  printf("\n");
+  dd_WriteMatrix(stdout,G);
+
+  dd_FreeMatrix(A);
+  dd_FreeMatrix(B);
+  dd_FreeMatrix(G);
+  dd_FreePolyhedra(poly);
+
+_L99:
+  if (err!=dd_NoError) dd_WriteErrorMessages(stdout,err);
+
+  dd_free_global_constants();  /* At the end, this must be called. */
+  return 0;
+}
+
+
+/* end of testcdd2.c */
diff --git a/third_party/cddlib/src/testlp1.c b/third_party/cddlib/src/testlp1.c
new file mode 100644
index 0000000..d962bfb
--- /dev/null
+++ b/third_party/cddlib/src/testlp1.c
@@ -0,0 +1,132 @@
+/* testlp1.c: Main test program to call the cdd lp library
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.94, August 4, 2005
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+FILE *reading, *writing;
+
+int main(int argc, char *argv[])
+{
+  /* The original LP data  m x n matrix 
+     = | b   -A  |
+       | c0  c^T |,
+   
+  where the LP to be solved is to
+  maximize  c^T x  +   c0
+  subj. to
+            A   x  <=  b.
+  */
+        
+  dd_ErrorType error=dd_NoError;
+  dd_MatrixPtr M,G;
+  dd_LPSolverType solver=dd_DualSimplex;  /* either DualSimplex or CrissCross */
+  dd_LPPtr lp;   /* pointer to LP data structure that is not visible by user. */
+  dd_LPSolutionPtr  lps1;
+  dd_colrange j;
+  dd_rowset ImL, Lbasis;
+
+  dd_PolyhedraPtr poly;
+  dd_DataFileType inputfile;
+  int ans;
+
+  dd_set_global_constants(); /* First, this must be called once to use cddlib. */
+
+  printf("Welcome to cddlib %s\n",dd_DDVERSION);
+
+  while (error==dd_NoError) {
+
+/* Input an LP using the cdd library  */
+    dd_SetInputFile(&reading,inputfile,&error);
+    if (error!=dd_NoError) goto _L99;
+    M=dd_PolyFile2Matrix(reading, &error);
+    if (error!=dd_NoError) goto _L99;
+    /* dd_WriteMatrix(stdout, M);  */
+    lp=dd_Matrix2LP(M, &error);
+    if (error!=dd_NoError) goto _L99;
+	
+
+/* Solve the LP by cdd LP solver. */
+    printf("\n--- Running dd_LPSolve ---\n");
+    dd_LPSolve(lp,solver,&error);
+    if (error!=dd_NoError) goto _L99;
+
+    /* Write the LP solutions by cdd LP reporter. */
+    dd_WriteLPResult(stdout, lp, error);
+
+/* Generate all vertices of the feasible reagion */
+    printf("\nDo you want to compute the generator representation (y/n)? ");
+    ans=getchar();
+    if (ans=='y' || ans=='Y'){
+      poly=dd_DDMatrix2Poly(M, &error);
+      G=dd_CopyGenerators(poly);
+      printf("\nGenerators (All the vertices of the feasible region if bounded.)\n");
+      dd_WriteMatrix(stdout,G);
+
+      /* Free allocated spaces. */
+      dd_FreeMatrix(G);
+      dd_FreePolyhedra(poly);
+    }
+
+/* Find an interior point with cdd LP library. */
+    printf("\nDo you want to find a relative interior point (y/n)? ");
+    ans=getchar(); ans=getchar();
+    if (ans=='y' || ans=='Y'){
+      printf("\n--- Running dd_FindRelativeInteriorPoint ---\n");
+	  dd_FindRelativeInterior(M, &ImL, &Lbasis, &lps1, &error);
+      if (error!=dd_NoError) goto _L99;
+
+      /* Write an interior point. */
+      if (dd_Positive(lps1->optvalue)){
+        printf("A relative interior point found: (");
+        for (j=1; j <(lps1->d)-1; j++) {
+          dd_WriteNumber(stdout,lps1->sol[j]);
+        }
+        printf(")\nThe dimension of the region = ");
+		printf("%ld\n",M->colsize-set_card(Lbasis)-1);
+		if (set_card(ImL)>0) {
+		  printf("Implicit equations: "); set_write(ImL); printf("\n");
+		}
+      } else {
+        printf("The feasible region is empty.\n");
+	  }
+	  dd_FreeLPSolution(lps1);
+	  set_free(ImL);
+	  set_free(Lbasis);
+    }
+
+/* Free allocated spaces. */
+    dd_FreeMatrix(M);
+    dd_FreeLPData(lp);
+  }
+_L99:;
+  fclose(reading);
+  if (error!=dd_NoError) dd_WriteErrorMessages(stdout, error);
+  dd_free_global_constants();  /* At the end, this should be called. */
+  return 0;
+}
+
+/* end of testlp1.c */
diff --git a/third_party/cddlib/src/testlp2.c b/third_party/cddlib/src/testlp2.c
new file mode 100644
index 0000000..190f539
--- /dev/null
+++ b/third_party/cddlib/src/testlp2.c
@@ -0,0 +1,124 @@
+/* testlp2.c: Main test program to call the cdd lp library
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.93a, July 23, 2003
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+FILE *reading, *writing;
+
+int main(int argc, char *argv[])
+{
+  /* The original LP data m x n matrix 
+     = | b   -A  |
+       | c0  c^T |,
+   
+  where the LP to be solved is to
+  maximize  c^T x  +   c0
+  subj. to
+            A   x  <=  b.
+  */
+        
+  dd_ErrorType error=dd_NoError;
+  dd_LPSolverType solver;  /* either DualSimplex or CrissCross */
+  dd_LPPtr lp;   
+
+  dd_rowrange m;
+  dd_colrange n;
+  dd_NumberType numb;
+  dd_MatrixPtr A;
+  dd_ErrorType err;
+
+
+/* Define an LP  */
+/*
+  max  0 + 3 x1 + 4 x2 
+  s.t.
+       4/3 - 2 x1 -   x2  >= 0
+       2/3        -   x2  >= 0
+               x1         >= 0
+                      x2  >= 0
+
+  For this LP, we set up a matrix A as 4 x 3 matrix and a row vector:
+
+      4/3  -2  -1   <- 1st constraint
+      2/3   0  -1
+      0     1   0
+      0     0   1   <- last constraint
+
+      0     3   4   <- objective row
+*/
+
+  dd_set_global_constants();
+    
+  numb=dd_Real;   /* set a number type */
+  m=4;    /* number of rows  */
+  n=3;    /* number of columns */
+  A=dd_CreateMatrix(m,n);
+  dd_set_si2(A->matrix[0][0],4,3); dd_set_si(A->matrix[0][1],-2); dd_set_si(A->matrix[0][2],-1);
+  dd_set_si2(A->matrix[1][0],2,3); dd_set_si(A->matrix[1][1], 0); dd_set_si(A->matrix[1][2],-1);
+  dd_set_si(A->matrix[2][0],0); dd_set_si(A->matrix[2][1], 1); dd_set_si(A->matrix[2][2], 0);
+  dd_set_si(A->matrix[3][0],0); dd_set_si(A->matrix[3][1], 0); dd_set_si(A->matrix[3][2], 1);
+
+  dd_set_si(A->rowvec[0],0);    dd_set_si(A->rowvec[1], 3); dd_set_si(A->rowvec[2], 4);
+
+  A->objective=dd_LPmax;
+  lp=dd_Matrix2LP(A, &err); /* load an LP */
+  if (lp==NULL) goto _L99;
+
+/* Print the LP. */
+  printf("\n--- LP to be solved  ---\n");
+  dd_WriteLP(stdout, lp);
+
+/* Solve the LP by cdd LP solver. */
+  printf("\n--- Running dd_LPSolve ---\n");
+  solver=dd_DualSimplex;
+  dd_LPSolve(lp, solver, &error);  /* Solve the LP */
+  if (error!=dd_NoError) goto _L99;
+
+/* Write the LP solutions by cdd LP reporter. */
+  dd_WriteLPResult(stdout, lp, error);
+
+/* Free allocated spaces. */
+  dd_FreeLPData(lp);
+  dd_FreeMatrix(A);
+
+_L99:;
+  if (error!=dd_NoError) dd_WriteErrorMessages(stdout, error);
+  dd_free_global_constants();  /* At the end, this should be called. */
+  return 0;
+}
+
+/* end of testlp2.c */
+
+/* The dual LP is
+
+  min  0 + 4 y1 + 2 y2
+  s.t.
+      -3 + 2 y1        >= 0
+      -4     y1 +   y2 >= 0
+             y1        >= 0
+                    y2 >= 0
+*/
diff --git a/third_party/cddlib/src/testlp3.c b/third_party/cddlib/src/testlp3.c
new file mode 100644
index 0000000..2dd1c73
--- /dev/null
+++ b/third_party/cddlib/src/testlp3.c
@@ -0,0 +1,147 @@
+/* testlp3.c: Main test program to call the cdd lp library
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.93b, October 30, 2003
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+FILE *reading, *writing;
+
+
+void SetWriteFile(FILE **f)
+{
+  char *fname;
+  fname="testlp.out";
+  *f = fopen(fname, "w");
+  printf("file %s is open\n",fname);
+}
+
+
+int main(int argc, char *argv[])
+{
+  /* The original LP data m x n matrix 
+     = | b   -A  |
+       | c0  c^T |,
+   
+  where the LP to be solved is to
+  maximize  c^T x  +   c0
+  subj. to
+            A   x  <=  b.
+  */
+        
+  dd_ErrorType err=dd_NoError;
+  dd_LPSolverType solver=dd_DualSimplex; 
+     /* either DualSimplex or CrissCross */
+  dd_LPPtr lp,lp1;   
+    /* pointer to LP data structure that is not visible by user. */
+  dd_LPSolutionPtr lps,lps1; 
+    /* pointer to LP solution data that is visible by user. */
+
+  dd_MatrixPtr M;
+  dd_colrange j;
+  dd_DataFileType inputfile;
+
+  dd_set_global_constants();
+
+  printf("\n--- Solving an LP with dd_LPSolve, and Finding an Interior Point  ---\n");
+
+/* Input an LP using the cdd library  */
+  dd_SetInputFile(&reading,inputfile,&err);
+  if (err!=dd_NoError) goto _L99;
+  M=dd_PolyFile2Matrix(reading, &err);
+  if (err!=dd_NoError) goto _L99;
+  /* dd_WriteMatrix(stdout, M);  */
+  lp=dd_Matrix2LP(M, &err);
+  if (err!=dd_NoError) goto _L99;
+
+/* Solve the LP by cdd LP solver. */
+  printf("\n--- Running dd_LPSolve ---\n");
+  solver=dd_DualSimplex;
+  dd_LPSolve(lp, solver, &err);  /* Solve the LP */
+  if (err!=dd_NoError) goto _L99;
+
+/* Write the LP solutions by cdd LP reporter. */
+/*  dd_WriteLPResult(stdout, lp, err); */
+/*  dd_WriteLPResult(writing, lp, err); */
+
+/* One can access the solutions by loading them.  See dd_WriteLPResult
+   for outputing the results correctly. */
+  lps=dd_CopyLPSolution(lp);
+  if (lps->LPS==dd_Optimal){
+    printf("Optimal solution found:\n");
+    printf("  primal_solution\n");
+    for (j=1; j<lps->d; j++) {
+      printf("  %3ld : ",j);
+      dd_WriteNumber(stdout,lps->sol[j]);
+      printf("\n");
+    }
+    printf("  dual_solution\n");
+    for (j=1; j<lps->d; j++){
+      if (lps->nbindex[j+1]>0) {
+        printf("  %3ld : ",lps->nbindex[j+1]);
+        dd_WriteNumber(stdout,lps->dsol[j]); printf("\n");
+      }
+    }
+    printf("  optimal_value : "); dd_WriteNumber(stdout,lps->optvalue);
+    printf("\n");
+  }
+
+/* Find an interior point with cdd LP library. */
+  printf("\n--- Running dd_FindInteriorPoint ---\n");
+  lp1=dd_MakeLPforInteriorFinding(lp);
+  printf("The LP to be solved for finding an interior point:\n");  
+  dd_WriteLP(stdout,lp1);
+  dd_LPSolve(lp1,solver,&err);
+  if (err!=dd_NoError) goto _L99;
+
+  /* Write an interior point. */
+  lps1=dd_CopyLPSolution(lp1);
+  if (dd_Positive(lps1->optvalue)){
+    printf("\nAn interior point found: (");
+    for (j=1; j <(lps1->d)-1; j++) {
+      dd_WriteNumber(stdout,lps1->sol[j]);
+    }
+    printf(")\n");
+  }
+  if (dd_Negative(lps1->optvalue)) 
+    printf("\nThe feasible region is empty.\n");
+  if (dd_EqualToZero(lps1->optvalue)) 
+    printf("\nThe feasible region is nonempty but has no interior point.\n");
+
+/* Free allocated spaces. */
+  dd_FreeLPSolution(lps);
+  dd_FreeLPData(lp);
+  dd_FreeLPSolution(lps1);
+  dd_FreeLPData(lp1);
+  dd_FreeMatrix(M);
+
+_L99:;
+  if (err!=dd_NoError) dd_WriteErrorMessages(stdout, err);
+  dd_free_global_constants();  /* At the end, this should be called. */
+  return 0;
+}
+
+/* end of testlp3.c */
+
diff --git a/third_party/cddlib/src/testshoot.c b/third_party/cddlib/src/testshoot.c
new file mode 100644
index 0000000..d963c6f
--- /dev/null
+++ b/third_party/cddlib/src/testshoot.c
@@ -0,0 +1,158 @@
+/* testshoot.c: Main test program to call the cdd lp library
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.92, August 24, 2001
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+FILE *reading, *writing;
+
+
+void SetWriteFile(FILE **f)
+{
+  char *fname;
+  fname="testlp.out";
+  *f = fopen(fname, "w");
+  printf("file %s is open\n",fname);
+}
+
+
+int main(int argc, char *argv[])
+{
+  /* The original LP data m x n matrix 
+     = | b   -A  |
+       | c0  c^T |,
+   
+  where the LP to be solved is to
+  maximize  c^T x  +   c0
+  subj. to
+            A   x  <=  b.
+  */
+        
+  dd_ErrorType err=dd_NoError;
+  dd_LPSolverType solver=dd_DualSimplex; 
+     /* either DualSimplex or CrissCross */
+  dd_LPPtr lp,lp1;   
+    /* pointer to LP data structure that is not visible by user. */
+  dd_LPSolutionPtr lps1; 
+    /* pointer to LP solution data that is visible by user. */
+
+  dd_rowrange i,m;
+  dd_colrange d;
+  dd_NumberType numb;
+  dd_MatrixPtr A;
+  dd_Arow r;
+  dd_colrange j;
+  int iter;
+
+/* Define an LP  */
+/*
+  max  0 + x1 + x2 
+  s.t.
+       1        -   x2  >= 0
+       1 -   x1         >= 0
+             x1         >= 0
+                    x2  >= 0
+       2 -   x1 -   x2  >= 0
+
+  For this LP, we set up a matrix A as 4 x 3 matrix and a row vector:
+
+      1   0  -1   <- 1st constraint
+      1  -1   0
+      0   1   0
+      0   0   1 
+      2  -1  -1   <- last constraint
+
+      0   1   1   <- objective row
+*/
+
+  dd_set_global_constants();
+    
+  numb=dd_Real;   /* set a number type */
+  m=5;    /* number of rows  */
+  d=3;    /* number of columns */
+  A=dd_CreateMatrix(m,d);
+  dd_set_si(A->matrix[0][0],1); dd_set_si(A->matrix[0][1], 0); dd_set_si(A->matrix[0][2],-1);
+  dd_set_si(A->matrix[1][0],1); dd_set_si(A->matrix[1][1],-1); dd_set_si(A->matrix[1][2], 0);
+  dd_set_si(A->matrix[2][0],0); dd_set_si(A->matrix[2][1], 1); dd_set_si(A->matrix[2][2], 0);
+  dd_set_si(A->matrix[3][0],0); dd_set_si(A->matrix[3][1], 0); dd_set_si(A->matrix[3][2], 1);
+  dd_set_si(A->matrix[4][0],2); dd_set_si(A->matrix[4][1],-1); dd_set_si(A->matrix[4][2],-1);
+
+  dd_set_si(A->rowvec[0],0);    dd_set_si(A->rowvec[1], 1); dd_set_si(A->rowvec[2], 1);
+
+  A->objective=dd_LPmax;
+  lp=dd_Matrix2LP(A, &err); /* load an LP */
+  if (lp==NULL) goto _L99;
+
+/* Find an interior point with cdd LP library. */
+    printf("\n--- Running dd_FindInteriorPoint ---\n");
+    lp1=dd_MakeLPforInteriorFinding(lp);
+    dd_LPSolve(lp1,solver,&err);
+    if (err!=dd_NoError) goto _L99;
+
+    /* Write an interior point. */
+    lps1=dd_CopyLPSolution(lp1);
+    if (dd_Positive(lps1->optvalue)){
+      printf("An interior point found: (");
+      for (j=1; j <(lps1->d)-1; j++) {
+        dd_WriteNumber(stdout,lps1->sol[j]);
+      }
+      printf(")\n");
+    }
+    if (dd_Negative(lps1->optvalue)) 
+      printf("The feasible region is empty.\n");
+    if (dd_EqualToZero(lps1->optvalue)) 
+      printf("The feasible region is nonempty but has no interior point.\n");
+
+/* Do shootings from the interior point. */
+
+  dd_InitializeArow(d, &r);
+
+  printf("Shooting test from the point:");
+  dd_WriteArow(stdout,lps1->sol,d);  printf("\n");
+
+  for (iter=1; iter<=3; iter++){
+    dd_set_si(r[0],0); dd_set_si(r[1], 9998+iter); dd_set_si(r[2], 10000);
+    printf("Shooting to the direction:");
+    dd_WriteArow(stdout,r,d);  printf("\n");
+    i=dd_RayShooting(A, lps1->sol, r);
+    printf("The first hyperplane hit: %ld.\n\n", i);
+  }
+
+/* Free allocated spaces. */
+  dd_FreeLPData(lp);
+  dd_FreeLPSolution(lps1);
+  dd_FreeLPData(lp1);
+  dd_FreeArow(d, r);
+  dd_FreeMatrix(A);
+
+_L99:;
+  if (err!=dd_NoError) dd_WriteErrorMessages(stdout, err);
+  dd_free_global_constants();  /* At the end, this should be called. */
+  return 0;
+}
+
+/* end of testlp3.c */
+
diff --git a/third_party/cddlib/src/testuniq.c b/third_party/cddlib/src/testuniq.c
new file mode 100644
index 0000000..6bb1a19
--- /dev/null
+++ b/third_party/cddlib/src/testuniq.c
@@ -0,0 +1,165 @@
+/* uniqtest.c: Test program to call the cdd library cddlib
+   written by Komei Fukuda, fukuda@ifor.math.ethz.ch
+   Version 0.93c, Nov. 14, 2003
+   Standard ftp site: ftp.ifor.math.ethz.ch, Directory: pub/fukuda/cdd
+*/
+
+/*  This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "setoper.h"
+#include "cdd.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <string.h>
+
+dd_boolean SetInputFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+  success=dd_FALSE;
+
+  if ( ( *f = fopen(fname, "r") )!= NULL) {
+    printf("input file %s is open\n", fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The input file %s not found\n",fname);
+  }
+  return success;
+}
+
+dd_boolean SetWriteFile(FILE **f, dd_DataFileType fname)
+{
+  dd_boolean success=dd_FALSE;
+
+  if ( (*f = fopen(fname, "w")) != NULL){
+    printf("output file %s is open\n",fname);
+    success=dd_TRUE;
+  }
+  else{
+    printf("The output file %s cannot be opened\n",fname);
+  }
+  return success;
+}
+
+
+int main(int argc, char *argv[])
+{
+  dd_MatrixPtr M=NULL,M1=NULL,M2=NULL;
+  dd_rowrange i;
+  dd_colrange d;
+  dd_ErrorType err=dd_NoError;
+  dd_rowset redrows,linrows,posset;
+  dd_rowindex newpos=NULL, newpos1=NULL, newpos2=NULL;
+  mytype val;
+  dd_DataFileType inputfile;
+  FILE *reading=NULL;
+  int foi;
+  dd_Arow certificate;
+
+  dd_set_global_constants();  /* First, this must be called. */
+
+  dd_init(val);
+  if (argc>1) strcpy(inputfile,argv[1]);
+  if (argc<=1 || !SetInputFile(&reading,argv[1])){
+    dd_WriteProgramDescription(stdout);
+    fprintf(stdout,"\ncddlib test program to remove duplicates.\n");
+    dd_SetInputFile(&reading,inputfile, &err);
+  }
+  if (err==dd_NoError) {
+    M=dd_PolyFile2Matrix(reading, &err);
+  }
+  else {
+    fprintf(stderr,"Input file not found\n");
+    goto _L99;
+  }
+
+  if (err!=dd_NoError) goto _L99;
+
+  d=M->colsize;
+  
+  /* 
+  printf("\nInput Matrix.\n");
+  dd_WriteMatrix(stdout, M); 
+  */
+ 
+  M1=dd_MatrixSortedUniqueCopy(M,&newpos1);
+  printf("\nSort and remove duplicates with dd_MatrixSortedUniqueCopy.\n");
+  printf(" Row index changes -- original:new\n");
+  for (i=1;i<=M->rowsize; i++){
+    printf(" %ld:%ld",i,newpos1[i]);
+  }
+  printf("\n");
+  /* dd_WriteMatrix(stdout, M1); */
+
+  dd_InitializeArow(M1->colsize+2, &certificate);
+  fprintf(stdout, "\nCheck whether the system contains an implicit linearity.\n");
+  foi=dd_FreeOfImplicitLinearity(M1, certificate, &posset, &err);
+  switch (foi) {
+    case 1:
+         fprintf(stdout, "  It is free of implicit linearity.\n");
+      break;
+      
+    case 0:
+         fprintf(stdout, "  It is not free of implicit linearity.\n");
+      break;
+
+    case -1:
+         fprintf(stdout, "  The input system is trivial (i.e. the empty H-polytope or the V-rep of the whole space.\n");
+      break;
+  }
+
+
+  fprintf(stdout, "\nOne can then remove nontrivial redundant rows with dd_RedundantRows.\n Redundant rows:\n");
+  redrows=dd_RedundantRowsWithPresorting(M1, &err);
+  /* redrows=dd_RedundantRows(M1, &err);  */
+  set_fwrite(stdout, redrows);
+  printf("\n");
+
+  M2=dd_MatrixSubmatrix2(M1, redrows, &newpos);
+  dd_FreeMatrix(M1);
+  set_free(redrows);
+  free(newpos);
+  
+  fprintf(stdout, " Implicit linearity (after removal of redundant rows): ");
+  linrows=dd_ImplicitLinearityRows(M2, &err);
+
+  if (M->representation==dd_Generator)
+    fprintf(stdout," %ld  ", set_card(linrows));
+  else 
+    fprintf(stdout," %ld  ", set_card(linrows));
+  set_fwrite(stdout,linrows);
+  set_uni(M2->linset, M2->linset, linrows); 
+    /* add the implicit linrows to the given linearity rows */
+
+  printf("\nNonredundant representation (except for the linearity part):\n");
+  dd_WriteMatrix(stdout, M2);
+  dd_WriteLPStats(stdout);
+  set_free(linrows);
+
+  dd_FreeMatrix(M);
+  dd_FreeMatrix(M2);
+  dd_clear(val);
+  free(newpos1); free(newpos2);
+
+_L99:;
+  /* if (err!=dd_NoError) dd_WriteErrorMessages(stderr,err); */
+  return 0;
+}
+
+
+/* end of uniqtest.c */